Class ApplicationConfigurationLicenseStore

    • Constructor Detail

      • ApplicationConfigurationLicenseStore

        public ApplicationConfigurationLicenseStore​(com.atlassian.config.ApplicationConfiguration store,
                                                    com.atlassian.extras.api.LicenseManager manager)
    • Method Detail

      • install

        public void install​(String licenseString)
        This delegates to ApplicationConfiguration.setProperty(Object, Object) but the underlying code does not call ApplicationConfiguration.save() and is thus only in memory for the time being.

        This method does not allow concurrent invocation, thus escaping if one was detected. The reason being is that a concurrent license installation could lead to unexpected behaviour, thus we let the first invocation win and encourage the second one to be re-evaluated before being attempted again.

        Specified by:
        install in interface LicenseStore
        Parameters:
        licenseString - the encrypted license
        See Also:
        LicenseService.validate(String)
      • installTransiently

        public void installTransiently​(String licenseString)
        Description copied from interface: LicenseStore
        Attempts to install the given license transiently. It will not publish an event that a new license has been installed. It is provided for testing purposes only.
        Specified by:
        installTransiently in interface LicenseStore
      • clearLicenseFromMemory

        public void clearLicenseFromMemory()
        Description copied from interface: LicenseStore
        Clears the currently installed from memory, causing it to be re-read from persistent the next time LicenseStore.retrieve() is called. It is provided for testing purposes only.
        Specified by:
        clearLicenseFromMemory in interface LicenseStore
      • retrieve

        public @NonNull com.atlassian.extras.api.AtlassianLicense retrieve()
        Description copied from interface: LicenseStore
        Retrieves the currently installed license.
        Specified by:
        retrieve in interface LicenseStore
        Returns:
        the currently installed license
      • retrieveOptional

        public @NonNull Optional<com.atlassian.extras.api.AtlassianLicense> retrieveOptional()
                                                                                      throws LicenseException
        Description copied from interface: LicenseStoreInternal
        Only useful during setup. At all other times, the license is guaranteed to be non-null.
        Specified by:
        retrieveOptional in interface LicenseStoreInternal
        Returns:
        the license, if it's set.
        Throws:
        LicenseException - if the license is set, but cannot be parsed, or if the license store lock cannot be acquired.