public class

MultiLicenseStoreImpl

extends Object
implements MultiLicenseStore
java.lang.Object
   ↳ com.atlassian.jira.license.MultiLicenseStoreImpl

Class Overview

Store that looks for licenses in the ProductLicense table.

Summary

Public Constructors
MultiLicenseStoreImpl(EntityEngine entityEngine, ApplicationProperties applicationProperties)
Public Methods
void clear()
Removes all licenses from JIRA.
void confirmProceedUnderEvaluationTerms(String userName)
This will confirm that user has agreed to proceed under Evaluation terms, typically when the license is too old for the current JIRA build.
void resetOldBuildConfirmation()
Resets persisted information about license in use being too old for current build.
@Nonnull List<String> retrieve()
Retrieves all product license strings.
String retrieveServerId()
Gets the server ID from the persistence backend
void store(Iterable<String> licenses)
Persists a new state for all licenses.
void storeServerId(String serverId)
Stores the server ID to the persistent backend
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.license.MultiLicenseStore

Public Constructors

public MultiLicenseStoreImpl (EntityEngine entityEngine, ApplicationProperties applicationProperties)

Public Methods

public void clear ()

Removes all licenses from JIRA. Usually you don't want to call this, but it is used to clear out corrupt licenses.

public void confirmProceedUnderEvaluationTerms (String userName)

This will confirm that user has agreed to proceed under Evaluation terms, typically when the license is too old for the current JIRA build.

Parameters
userName the name of the user that made the confirmation

public void resetOldBuildConfirmation ()

Resets persisted information about license in use being too old for current build.

@Nonnull public List<String> retrieve ()

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.

Returns
  • all current license strings from persistence

public String retrieveServerId ()

Gets the server ID from the persistence backend

Returns
  • the server ID, null if not found

public void store (Iterable<String> licenses)

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.

Parameters
licenses the license strings to store

public void storeServerId (String serverId)

Stores the server ID to the persistent backend

Parameters
serverId the server ID to store