RM-5927 Changes from review

This commit is contained in:
Sara Aspery
2018-01-18 11:41:02 +00:00
parent b1c33ab9a4
commit 16d7e961de

View File

@@ -37,8 +37,8 @@ import org.alfresco.repo.module.ModuleComponentHelper;
import org.alfresco.repo.module.ModuleVersionNumber; import org.alfresco.repo.module.ModuleVersionNumber;
import org.alfresco.repo.policy.BehaviourFilter; import org.alfresco.repo.policy.BehaviourFilter;
import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.apache.commons.logging.Log; import org.slf4j.Logger;
import org.apache.commons.logging.LogFactory; import org.slf4j.LoggerFactory;
/** /**
@@ -55,7 +55,7 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
private static final String REGISTRY_PROPERTY_CURRENT_VERSION = "currentVersion"; private static final String REGISTRY_PROPERTY_CURRENT_VERSION = "currentVersion";
/** logger */ /** logger */
protected static final Log LOGGER = LogFactory.getLog(ModulePatchComponent.class); protected static final Logger LOGGER = LoggerFactory.getLogger(ModulePatchComponent.class);
/** Retrying transaction helper */ /** Retrying transaction helper */
protected RetryingTransactionHelper retryingTransactionHelper; protected RetryingTransactionHelper retryingTransactionHelper;
@@ -96,7 +96,8 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
/** /**
* @param registryService Registry service * @param registryService Registry service
*/ */
public void setRegistryService(RegistryService registryService) { public void setRegistryService(RegistryService registryService)
{
this.registryService = registryService; this.registryService = registryService;
} }
@@ -119,22 +120,18 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
ModuleVersionNumber moduleInstalledVersionNumber = getModuleVersionNumber(REGISTRY_PROPERTY_INSTALLED_VERSION); ModuleVersionNumber moduleInstalledVersionNumber = getModuleVersionNumber(REGISTRY_PROPERTY_INSTALLED_VERSION);
ModuleVersionNumber moduleCurrentVersionNumber = getModuleVersionNumber(REGISTRY_PROPERTY_CURRENT_VERSION); ModuleVersionNumber moduleCurrentVersionNumber = getModuleVersionNumber(REGISTRY_PROPERTY_CURRENT_VERSION);
if (isUpgradeFromVersionThatIncludesEarlyPatch(moduleInstalledVersionNumber, moduleCurrentVersionNumber)) String moduleName = getName();
if (isVersionLaterThan(moduleInstalledVersionNumber, moduleCurrentVersionNumber))
{ {
if (LOGGER.isInfoEnabled()) LOGGER.info("Module patch component '{}' is skipped for upgrade from version {} to version {}",
{ moduleName, moduleInstalledVersionNumber, moduleCurrentVersionNumber);
LOGGER.info("Module patch component '" + getName() + "' is skipped for upgrade" +
" from version " + moduleInstalledVersionNumber.toString() +
" to version " + moduleCurrentVersionNumber.toString());
} }
} else else
{ {
try try
{ {
if (LOGGER.isInfoEnabled()) LOGGER.info("Module patch component '{}' is executing ...", moduleName);
{
LOGGER.info("Module patch component '" + getName() + "' is executing ...");
}
// execute path within an isolated transaction // execute path within an isolated transaction
retryingTransactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>() retryingTransactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>()
@@ -146,7 +143,8 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
try try
{ {
executePatch(); executePatch();
} finally }
finally
{ {
behaviourFilter.enableBehaviour(); behaviourFilter.enableBehaviour();
} }
@@ -155,17 +153,12 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
}, false, true); }, false, true);
if (LOGGER.isInfoEnabled()) LOGGER.info(" ... completed module patch '{}'", moduleName);
{
LOGGER.info(" ... completed module patch '" + getName() + "'");
}
} catch (Exception exception) } catch (Exception exception)
{ {
// record the exception otherwise it gets swallowed // record the exception otherwise it gets swallowed
if (LOGGER.isInfoEnabled()) LOGGER.info(" ... error encountered. {}", exception.getMessage(), exception);
{
LOGGER.info(" ... error encountered. " + exception.getMessage(), exception);
}
throw exception; throw exception;
} }
} }
@@ -184,12 +177,29 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
return new ModuleVersionNumber(moduleVersion.toString()); return new ModuleVersionNumber(moduleVersion.toString());
} }
private boolean isUpgradeFromVersionThatIncludesEarlyPatch(ModuleVersionNumber installedModuleVersionNumber, /**
* Helper method to determine if this is an upgrade from a version that already includes the early (v2.0, v2.1)
* patches.
*
*/
private boolean isVersionLaterThan(ModuleVersionNumber installedModuleVersionNumber,
ModuleVersionNumber currentModuleVersionNumber) ModuleVersionNumber currentModuleVersionNumber)
{ {
// assume that the v2.0 and v2.1 patches should be run
boolean versionLaterThan = false;
// if this is an upgrade as opposed to a fresh install
if (installedModuleVersionNumber.compareTo(currentModuleVersionNumber) != 0)
{
// if the installed version is later than the minimum version number of this patch
ModuleVersionNumber minVersion = this.getAppliesFromVersionNumber(); ModuleVersionNumber minVersion = this.getAppliesFromVersionNumber();
return installedModuleVersionNumber.compareTo(minVersion) >= 0 && if (installedModuleVersionNumber.compareTo(minVersion) >= 0)
installedModuleVersionNumber.compareTo(currentModuleVersionNumber) != 0; {
versionLaterThan = true;
}
}
return versionLaterThan;
} }
/** /**