Class MultiLicenseStoreImpl

java.lang.Object
com.atlassian.jira.license.MultiLicenseStoreImpl
All Implemented Interfaces:
MultiLicenseStore

public class MultiLicenseStoreImpl extends Object implements MultiLicenseStore
Store that looks for licenses in the ProductLicense table.
Since:
v6.3
  • Constructor Details

    • MultiLicenseStoreImpl

      public MultiLicenseStoreImpl(EntityEngine entityEngine, ApplicationProperties applicationProperties, com.atlassian.beehive.ClusterLockService clusterLockService)
  • Method Details

    • retrieve

      @Nonnull public List<String> retrieve()
      Description copied from interface: MultiLicenseStore
      Retrieves all product license strings. The returned Iterable is immutable and is ordered by the ID in the database. The returned Iterable is not null and does not contain null elements. The absence of a license is indicated by an empty list.
      Specified by:
      retrieve in interface MultiLicenseStore
      Returns:
      all current license strings from persistence
    • store

      public void store(@Nonnull Iterable<String> licenses)
      Description copied from interface: MultiLicenseStore
      Persists a new state for all licenses. This will overwrite all licenses currently stored.

      This method will do some cursory checking of inputs but will still store most invalid licenses if requested. The caller should test licenses strings for validity before attempting to store them. This method may throw an unspecified runtime exception if the argument is invalid, for example if it is null, empty, or contains a null element.

      Until the application roles dark feature is enabled, MultiLicenseStores may operate in legacy mode. In legacy mode a single license is arbitrarily chosen and stored in the backing legacy license store, typically as an ApplicationProperties property. It is the caller's responsibility to ensure that no more than one license is attempted to be stored when in legacy mode.

      Specified by:
      store in interface MultiLicenseStore
      Parameters:
      licenses - the license strings to store
    • resetOldBuildConfirmation

      public void resetOldBuildConfirmation()
      Description copied from interface: MultiLicenseStore
      Resets persisted information about license in use being too old for current build.
      Specified by:
      resetOldBuildConfirmation in interface MultiLicenseStore
    • confirmProceedUnderEvaluationTerms

      public void confirmProceedUnderEvaluationTerms(String userName)
      Description copied from interface: MultiLicenseStore
      This will confirm that user has agreed to proceed under Evaluation terms, typically when the license is too old for the current JIRA build.
      Specified by:
      confirmProceedUnderEvaluationTerms in interface MultiLicenseStore
      Parameters:
      userName - the name of the user that made the confirmation
    • clear

      public void clear()
      Description copied from interface: MultiLicenseStore
      Removes all licenses from JIRA. Usually you don't want to call this, but it is used to clear out corrupt licenses.
      Specified by:
      clear in interface MultiLicenseStore
    • retrieveServerId

      public String retrieveServerId()
      Description copied from interface: MultiLicenseStore
      Gets the server ID from the persistence backend
      Specified by:
      retrieveServerId in interface MultiLicenseStore
      Returns:
      the server ID, null if not found
    • storeServerId

      public void storeServerId(String serverId)
      Description copied from interface: MultiLicenseStore
      Stores the server ID to the persistent backend
      Specified by:
      storeServerId in interface MultiLicenseStore
      Parameters:
      serverId - the server ID to store