package com.onaro.util; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; import java.util.Set; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.onaro.sanscreen.client.SessionsHelper; import com.onaro.sanscreen.server.license.data.LicenseInfo; import com.onaro.sanscreen.server.license.rules.LicenseRuleType; import com.onaro.sanscreen.server.license.sessions.LicenseSession; // Should only be used by the About box. // TODO: Move to About box class once no one else references it. @Deprecated public class LicenseUtil { static final Logger logger = LogManager.getLogger(LicenseUtil.class); private static final Set licensedPackages; private static final Set unmodifiableLicensedPackages; static { Set tempLicenseNames = new HashSet(); for (LicenseRuleType license : LicenseRuleType.values()) { if (license.isSoftwarePackage()) { tempLicenseNames.add(license.getLicenseName()); } } licensedPackages = EnumSet.noneOf(LicenseRuleType.class); licensedPackages.addAll(getLicensedPackagesImpl()); unmodifiableLicensedPackages = Collections.unmodifiableSet(licensedPackages); } /** * Get the set of package licenses that are enabled on the server. * @return the set of licenses, null if there was an error retrieving the packages. */ public static Set getLicensedPackages() { return unmodifiableLicensedPackages; } private static Set getLicensedPackagesImpl() { Set licenses = new HashSet(); /* * TODO: Re-enable this functionality when Packages are replaced with Features. * try { LicenseSession session = SessionsHelper.getInstance().getLicenseSession(); licenses = session.getPackageLicensed(); } catch (Exception e) { logger.error("Failed to get license from server - " + e.getMessage(), e); //$NON-NLS-1$ } */ return licenses; } public static boolean isDemo() { LicenseInfo info = getLicenseInfo(); return (info == null ? false : info.isDemo()); } public static boolean showLicenseWarnings() { LicenseInfo info = getLicenseInfo(); return (info == null ? false : info.isDisplayWarnings() && !info.getWarnings().isEmpty()); } public static LicenseInfo getLicenseInfo() { LicenseInfo licenseInfo = null; try { LicenseSession session = SessionsHelper.getInstance().getLicenseSession(); licenseInfo = session.getLicense(); } catch (Exception e) { logger.error("Failed to get license from server - " + e.getMessage(), e); //$NON-NLS-1$ } return licenseInfo; } }