Package com.atlassian.confluence.upgrade
Interface UpgradeManager
-
- All Known Implementing Classes:
AbstractUpgradeManager
,DefaultUpgradeManager
public interface UpgradeManager
UpgradeManager is responsible for creating a list of UpgradeTasks. For simple upgrades (standard version build 20 to standard version build 21, for example) it's a simple list for that kind of version. A more sophisticated one (upgrade from standard to enterprise version, for example) can be modeled as a composite subclass of two UpgradeManagers. Note that all license specific code is strictly put into the corresponding subclass, so whatever check for enterprise license or things like that is in a specific subclass and not in form of if(enterprise) do blah code spread here and there.
-
-
Field Summary
Fields Modifier and Type Field Description static int
MINIMUM_SUPPORTED_UPGRADE_BUILD_NUMBER
The lowest build number we will attempt to upgrade from.static String
MINIMUM_SUPPORTED_UPGRADE_VERSION
The Confluence version corresponding to the build numbers above.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
configuredBuildNumberNewerThan(String buildNumber)
Returns true if the passed build number is less than the configured build number - that is, the version of the currently running Confluence is newer than the version passed.void
entireUpgradeFinished()
Called when all immediate and deferred upgrade actions have been performed *if* an upgrade was needed.List<UpgradeError>
getErrors()
String
getExportBuildNumber(boolean spaceExport)
Tells the earliest version the exports will be compatible with.String
getOldestSpaceImportAllowed()
Calculates the oldest build number from which a space can be imported.@NonNull Map<String,PluginExportCompatibility>
getPluginExportCompatibility(boolean spaceExport)
Returns the list of plugins with data (especially plugins with Active Objects data) and tells how backward-compatible they are.boolean
isUpgraded()
boolean
needUpgrade()
void
setDatabaseBuildNumber()
Once installation is complete, we'll need to set the database build number in the database, so that a subsequent startup of Confluence is able to check that the home directory build number matches the database build number (see https://jira.atlassian.com/browse/CONF-13798).boolean
taskNewerThan(String buildNumber, UpgradeTask upgradeTask)
Returns true if the build number for the task is greater than the passed build number.void
upgrade(com.atlassian.johnson.JohnsonEventContainer agentJohnson)
-
-
-
Field Detail
-
MINIMUM_SUPPORTED_UPGRADE_BUILD_NUMBER
static final int MINIMUM_SUPPORTED_UPGRADE_BUILD_NUMBER
The lowest build number we will attempt to upgrade from. Any upgrade from a build prior to this number will fail, and a Johnson event will be posted explaining why the upgrade could not be performed.- See Also:
- Constant Field Values
-
MINIMUM_SUPPORTED_UPGRADE_VERSION
static final String MINIMUM_SUPPORTED_UPGRADE_VERSION
The Confluence version corresponding to the build numbers above. This is only used to provide user-friendly error messages.- See Also:
- Constant Field Values
-
-
Method Detail
-
upgrade
void upgrade(com.atlassian.johnson.JohnsonEventContainer agentJohnson) throws UpgradeException
- Throws:
UpgradeException
-
getErrors
List<UpgradeError> getErrors()
-
needUpgrade
boolean needUpgrade()
-
isUpgraded
boolean isUpgraded()
- Returns:
- true if the UpgradeManager was able to successfully upgrade this instance, or if no upgrade was necessary; otherwise false.
-
configuredBuildNumberNewerThan
boolean configuredBuildNumberNewerThan(String buildNumber)
Returns true if the passed build number is less than the configured build number - that is, the version of the currently running Confluence is newer than the version passed.
-
taskNewerThan
boolean taskNewerThan(String buildNumber, UpgradeTask upgradeTask)
Returns true if the build number for the task is greater than the passed build number. Usually indicates that the task should run as part of an upgrade.
-
entireUpgradeFinished
void entireUpgradeFinished()
Called when all immediate and deferred upgrade actions have been performed *if* an upgrade was needed.
-
getOldestSpaceImportAllowed
String getOldestSpaceImportAllowed()
Calculates the oldest build number from which a space can be imported.- Returns:
- the build number
- Since:
- 5.2
-
getExportBuildNumber
String getExportBuildNumber(boolean spaceExport)
Tells the earliest version the exports will be compatible with.- Parameters:
spaceExport
- true if the export is about a space, false for a global export.- Returns:
- a build number
- Since:
- 5.2
-
getPluginExportCompatibility
@NonNull Map<String,PluginExportCompatibility> getPluginExportCompatibility(boolean spaceExport)
Returns the list of plugins with data (especially plugins with Active Objects data) and tells how backward-compatible they are.
If at least one plugin isn't compatible, the importer silently doesn't import any data.
What is a compatible version?
The data is exported as-is in XML and reimported in an earlier version. If the earlier version of the plugin is able to read the data without fault, then it is compatible. Note that there is no downgrade task, obviously.
- Parameters:
spaceExport
- true if the export is about a space, false for a global export.- Returns:
- a matrix of plugin key and minimum versions of the plugins.
-
setDatabaseBuildNumber
void setDatabaseBuildNumber()
Once installation is complete, we'll need to set the database build number in the database, so that a subsequent startup of Confluence is able to check that the home directory build number matches the database build number (see https://jira.atlassian.com/browse/CONF-13798).
-
-