|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.confluence.upgrade.AbstractUpgradeManager
public abstract class AbstractUpgradeManager
| Field Summary |
|---|
| Fields inherited from interface com.atlassian.confluence.upgrade.UpgradeManager |
|---|
MINIMUM_SUPPORTED_UPGRADE_BUILD_NUMBER, MINIMUM_SUPPORTED_UPGRADE_VERSION |
| Constructor Summary | |
|---|---|
AbstractUpgradeManager()
|
|
| Method Summary | |
|---|---|
void |
afterPropertiesSet()
|
protected void |
beforeUpgrade()
|
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. |
protected List<UpgradeTask> |
getAllUpgradeTasks()
|
Collection<UpgradeTaskInfo> |
getAllUpgradeTasksInfo()
While this could just return the list of UpgradeTasks directly (since UpgradeTask implements UpgradeTaskInfo), we re-wrap them here to prevent plugins from casting them to UpgradeTask and trying to execute them. |
protected String |
getConfiguredBuildNumber()
|
protected abstract String |
getDatabaseBuildNumber()
|
List<UpgradeError> |
getErrors()
|
String |
getExportBuildNumber(boolean isSpaceExport)
Tells the earliest version the exports will be compatible with. |
String |
getOldestSpaceImportAllowed()
Calculates the oldest build number from which a space can be imported. |
List<DeferredUpgradeTask> |
getPluginDependentUpgradeTasks()
|
Map<String,PluginExportCompatibility> |
getPluginExportCompatibility(boolean isSpaceExport)
Returns the list of plugins with data (especially plugins with Active Objects data) and tells how backward-compatible they are. |
List<UpgradeTask> |
getPreSchemaUpgradeTasks()
|
protected abstract String |
getRealBuildNumber()
|
List<UpgradeTask> |
getSchemaUpgradeTasks()
|
List<UpgradeTask> |
getUpgradeTasks()
|
protected List<UpgradeTask> |
getUpgradeTasksToRun()
|
protected void |
initialUpgradeFinished()
Once all upgrade tasks have been completed without error, make sure the build number stored in the applications main configuration file and database now matches the build number of this version of the release. |
boolean |
isUpgraded()
|
boolean |
needUpgrade()
|
protected boolean |
permitDatabaseUpgrades()
This is used to guard against database upgrades being performed multiple times on the same database. |
protected void |
postUpgrade()
|
protected abstract List<UpgradeError> |
runUpgradePrerequisites()
Runs all upgrade prerequisites. |
protected void |
runUpgradeTasks(List<UpgradeTask> upgradeTasks)
|
void |
setApplicationConfig(com.atlassian.config.ApplicationConfiguration applicationConfig)
|
protected void |
setConfiguredBuildNumber(String buildNumber)
|
protected abstract void |
setDatabaseBuildNumber(String databaseBuildNumber)
Once the upgrade is complete, we'll need to set the new database build number in the database. |
void |
setPluginAccessor(com.atlassian.plugin.PluginAccessor pluginAccessor)
|
void |
setPluginDependentUpgradeTasks(List<DeferredUpgradeTask> upgradeTasks)
|
void |
setPreSchemaUpgradeTasks(List<UpgradeTask> preSchemaUpgradeTasks)
|
void |
setSchemaHelper(SchemaHelper schemaHelper)
|
void |
setSchemaUpgradeTasks(List<UpgradeTask> upgradeTasks)
|
void |
setUpgradeTasks(List<UpgradeTask> upgradeTasks)
|
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)
|
protected void |
upgradeStarted()
|
protected void |
upgradeTaskSucceeded(UpgradeTask upgradeTask)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.atlassian.confluence.upgrade.UpgradeManager |
|---|
setDatabaseBuildNumber |
| Constructor Detail |
|---|
public AbstractUpgradeManager()
| Method Detail |
|---|
public void setApplicationConfig(com.atlassian.config.ApplicationConfiguration applicationConfig)
public void setSchemaHelper(SchemaHelper schemaHelper)
public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
public void upgrade(com.atlassian.johnson.JohnsonEventContainer agentJohnson)
throws UpgradeException
upgrade in interface UpgradeManagerUpgradeException
protected void runUpgradeTasks(List<UpgradeTask> upgradeTasks)
throws UpgradeException
UpgradeExceptionprotected List<UpgradeTask> getAllUpgradeTasks()
public Collection<UpgradeTaskInfo> getAllUpgradeTasksInfo()
getAllUpgradeTasksInfo in interface UpgradeTaskInfoServiceUpgradeTaskInfo objects, one for each UpgradeTask in the system,
in no particular order.protected List<UpgradeTask> getUpgradeTasksToRun()
protected void upgradeTaskSucceeded(UpgradeTask upgradeTask)
throws Exception
Exceptionprotected void upgradeStarted()
public List<UpgradeTask> getPreSchemaUpgradeTasks()
public void setPreSchemaUpgradeTasks(List<UpgradeTask> preSchemaUpgradeTasks)
public void setUpgradeTasks(List<UpgradeTask> upgradeTasks)
public void setPluginAccessor(com.atlassian.plugin.PluginAccessor pluginAccessor)
public List<UpgradeTask> getUpgradeTasks()
public void setSchemaUpgradeTasks(List<UpgradeTask> upgradeTasks)
public List<UpgradeTask> getSchemaUpgradeTasks()
public List<UpgradeError> getErrors()
getErrors in interface UpgradeManagerpublic void setPluginDependentUpgradeTasks(List<DeferredUpgradeTask> upgradeTasks)
public List<DeferredUpgradeTask> getPluginDependentUpgradeTasks()
protected abstract List<UpgradeError> runUpgradePrerequisites()
protected String getConfiguredBuildNumber()
protected void setConfiguredBuildNumber(String buildNumber)
throws com.atlassian.config.ConfigurationException
com.atlassian.config.ConfigurationExceptionpublic boolean needUpgrade()
needUpgrade in interface UpgradeManagerpublic boolean configuredBuildNumberNewerThan(String buildNumber)
UpgradeManager
configuredBuildNumberNewerThan in interface UpgradeManager
public boolean taskNewerThan(String buildNumber,
UpgradeTask upgradeTask)
UpgradeManager
taskNewerThan in interface UpgradeManager
protected void initialUpgradeFinished()
throws Exception
Exception - when setting the database or configuration build number failspublic void entireUpgradeFinished()
UpgradeManager
entireUpgradeFinished in interface UpgradeManagerprotected abstract String getRealBuildNumber()
protected abstract String getDatabaseBuildNumber()
getConfiguredBuildNumber().
protected abstract void setDatabaseBuildNumber(String databaseBuildNumber)
throws Exception
databaseBuildNumber - The new database build number
Exception - when there is any problem setting the database build number
protected boolean permitDatabaseUpgrades()
throws UpgradeException
UpgradeException - If the implementation of this method encounters any errors.
protected void beforeUpgrade()
throws UpgradeException
UpgradeExceptionprotected void postUpgrade()
public boolean isUpgraded()
isUpgraded in interface UpgradeManagerpublic String getOldestSpaceImportAllowed()
UpgradeManager
getOldestSpaceImportAllowed in interface UpgradeManagerpublic String getExportBuildNumber(boolean isSpaceExport)
UpgradeManager
getExportBuildNumber in interface UpgradeManagerisSpaceExport - true if the export is about a space, false for a global export.
public Map<String,PluginExportCompatibility> getPluginExportCompatibility(boolean isSpaceExport)
UpgradeManagerReturns 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.
getPluginExportCompatibility in interface UpgradeManagerisSpaceExport - true if the export is about a space, false for a global export.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||