com.atlassian.confluence.upgrade.impl
Class DefaultUpgradeManager

java.lang.Object
  extended by com.atlassian.confluence.upgrade.AbstractUpgradeManager
      extended by com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager
All Implemented Interfaces:
UpgradeManager

public class DefaultUpgradeManager
extends AbstractUpgradeManager


Field Summary
static String CLUSTER_UPGRADE_LOCK
           
 
Fields inherited from class com.atlassian.confluence.upgrade.AbstractUpgradeManager
buildNumberComp
 
Constructor Summary
DefaultUpgradeManager()
           
 
Method Summary
 void entireUpgradeFinished()
          Called when all immediate and deferred upgrade actions have been performed *if* an upgrade was needed.
protected  String getDatabaseBuildNumber()
           
protected  String getRealBuildNumber()
           
protected  void initialUpgradeFinished()
          Update the pluginFrameworkDependent upgrade status based on whether there are any plugin framework dependent upgrade tasks to run.
 boolean needUpgrade()
          This method has a side affect of putting an entry into the published cache indicating whether an upgrade is required or not.
protected  boolean permitDatabaseUpgrades()
          If we are in a clustered setup, only one node should be allowed to perform upgrades that affect the database.
protected  void postUpgrade()
           
protected  List<UpgradeError> runUpgradePrerequisites()
          Runs all upgrade prerequisites.
 void setCacheManager(com.atlassian.cache.CacheManager cacheManager)
           
 void setClusterManager(ClusterManager clusterManager)
           
protected  void setDatabaseBuildNumber(String databaseBuildNumber)
          Once the upgrade is complete, we'll need to set the new database build number in the database.
 void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
           
 void setSidManager(ConfluenceSidManager sidManager)
           
 void setSystemInformationService(SystemInformationService systemInformationService)
           
 void setUpgradeGate(UpgradeGate upgradeGate)
           
 void setVersionHistoryDao(VersionHistoryDao versionHistoryDao)
           
 
Methods inherited from class com.atlassian.confluence.upgrade.AbstractUpgradeManager
configuredBuildNumberNewerThan, getAllUpgradeTasks, getConfiguredBuildNumber, getErrors, getPluginDependentUpgradeTasks, getPreSchemaUpgradeTasks, getSchemaUpgradeTasks, getUpgradeTasks, isUpgraded, setApplicationConfig, setConfiguredBuildNumber, setPluginDependentUpgradeTasks, setPreSchemaUpgradeTasks, setSchemaHelper, setSchemaUpgradeTasks, setUpgradeTasks, taskNewerThan, upgrade, upgradeStarted, upgradeTaskSucceeded
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLUSTER_UPGRADE_LOCK

public static final String CLUSTER_UPGRADE_LOCK
See Also:
Constant Field Values
Constructor Detail

DefaultUpgradeManager

public DefaultUpgradeManager()
Method Detail

getRealBuildNumber

protected String getRealBuildNumber()
Specified by:
getRealBuildNumber in class AbstractUpgradeManager
Returns:
The build number of the new version of Confluence being upgraded to. This number can be found in the default.properties of the new expanded WAR

getDatabaseBuildNumber

protected String getDatabaseBuildNumber()
Specified by:
getDatabaseBuildNumber in class AbstractUpgradeManager
Returns:
The build number of the data in the database. If the version of the database data can not be determined, this method should return the same value as AbstractUpgradeManager.getConfiguredBuildNumber().

runUpgradePrerequisites

protected List<UpgradeError> runUpgradePrerequisites()
Description copied from class: AbstractUpgradeManager
Runs all upgrade prerequisites.

Specified by:
runUpgradePrerequisites in class AbstractUpgradeManager
Returns:
an empty list if all upgrade prerequisites pass, otherwise, returns a list consisting of one or more failure messages.

needUpgrade

public boolean needUpgrade()
This method has a side affect of putting an entry into the published cache indicating whether an upgrade is required or not.

Specified by:
needUpgrade in interface UpgradeManager
Overrides:
needUpgrade in class AbstractUpgradeManager

setDatabaseBuildNumber

protected void setDatabaseBuildNumber(String databaseBuildNumber)
                               throws Exception
Description copied from class: AbstractUpgradeManager
Once the upgrade is complete, we'll need to set the new database build number in the database.

Specified by:
setDatabaseBuildNumber in class AbstractUpgradeManager
Parameters:
databaseBuildNumber - The new database build number
Throws:
Exception - when there is any problem setting the database build number

postUpgrade

protected void postUpgrade()
Overrides:
postUpgrade in class AbstractUpgradeManager

initialUpgradeFinished

protected void initialUpgradeFinished()
                               throws Exception
Update the pluginFrameworkDependent upgrade status based on whether there are any plugin framework dependent upgrade tasks to run.

Overrides:
initialUpgradeFinished in class AbstractUpgradeManager
Throws:
Exception - when setting the database or configuration build number fails

entireUpgradeFinished

public void entireUpgradeFinished()
Description copied from interface: UpgradeManager
Called when all immediate and deferred upgrade actions have been performed *if* an upgrade was needed.

Specified by:
entireUpgradeFinished in interface UpgradeManager
Overrides:
entireUpgradeFinished in class AbstractUpgradeManager

permitDatabaseUpgrades

protected boolean permitDatabaseUpgrades()
                                  throws UpgradeException
If we are in a clustered setup, only one node should be allowed to perform upgrades that affect the database. To enforce this, nodes will need to: If the upgrade process fails before all database upgrade tasks are complete, and the user ignores those errors and restarts the server, the existing tag on the CONFVERSION table will prevent the upgrade

Overrides:
permitDatabaseUpgrades in class AbstractUpgradeManager
Returns:
True by default. Is overridden for cluster upgrades.
Throws:
UpgradeException - If the implementation of this method encounters any errors.

setCacheManager

public void setCacheManager(com.atlassian.cache.CacheManager cacheManager)

setEventPublisher

public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)

setVersionHistoryDao

public void setVersionHistoryDao(VersionHistoryDao versionHistoryDao)

setClusterManager

public void setClusterManager(ClusterManager clusterManager)

setSidManager

public void setSidManager(ConfluenceSidManager sidManager)

setSystemInformationService

public void setSystemInformationService(SystemInformationService systemInformationService)

setUpgradeGate

public void setUpgradeGate(UpgradeGate upgradeGate)


Copyright © 2003-2012 Atlassian. All Rights Reserved.