diff --git a/source/java/org/alfresco/repo/module/ModuleComponentHelper.java b/source/java/org/alfresco/repo/module/ModuleComponentHelper.java index 5cd35047bb..ec2de59426 100644 --- a/source/java/org/alfresco/repo/module/ModuleComponentHelper.java +++ b/source/java/org/alfresco/repo/module/ModuleComponentHelper.java @@ -529,7 +529,7 @@ public class ModuleComponentHelper private void startModule(ModuleDetails module, Set startedModules, Set executedComponents) { String moduleId = module.getId(); - ModuleVersionNumber moduleNewVersion = module.getVersion(); + ModuleVersionNumber moduleNewVersion = module.getModuleVersionNumber(); // Double check whether we have done this module already if (startedModules.contains(moduleId)) diff --git a/source/java/org/alfresco/repo/module/ModuleDetailsImpl.java b/source/java/org/alfresco/repo/module/ModuleDetailsImpl.java index 62edc0cda1..658eca06b4 100644 --- a/source/java/org/alfresco/repo/module/ModuleDetailsImpl.java +++ b/source/java/org/alfresco/repo/module/ModuleDetailsImpl.java @@ -360,7 +360,7 @@ public class ModuleDetailsImpl implements ModuleDetails return aliases; } - public ModuleVersionNumber getVersion() + public ModuleVersionNumber getModuleVersionNumber() { return version; } @@ -609,7 +609,7 @@ public class ModuleDetailsImpl implements ModuleDetails return false; } // Check the version number - ModuleVersionNumber checkVersion = moduleDetails.getVersion(); + ModuleVersionNumber checkVersion = moduleDetails.getModuleVersionNumber(); boolean matched = false; for (Pair versionRange : versionRanges) { @@ -632,4 +632,22 @@ public class ModuleDetailsImpl implements ModuleDetails return matched; } } + + @Override + public VersionNumber getVersion() + { + // lossy translation between maven version and old VersionNumber + String mavenVersion = version.toString(); + StringBuffer b = new StringBuffer(); + for(int i = 0; i < mavenVersion.length(); i++) + { + char c = mavenVersion.charAt(i); + if(Character.isDigit(c) || c == '.') + { + b.append(c); + } + } + + return new VersionNumber(b.toString()); + } } diff --git a/source/java/org/alfresco/repo/module/tool/ModuleManagementTool.java b/source/java/org/alfresco/repo/module/tool/ModuleManagementTool.java index 05163f1fc5..a2eebdf836 100644 --- a/source/java/org/alfresco/repo/module/tool/ModuleManagementTool.java +++ b/source/java/org/alfresco/repo/module/tool/ModuleManagementTool.java @@ -231,7 +231,7 @@ public class ModuleManagementTool implements LogOutput throw new ModuleManagementToolException("No module.properties file has been found in the installing .amp file '" + ampFileLocation + "'"); } String installingId = installingModuleDetails.getId(); - ModuleVersionNumber installingVersion = installingModuleDetails.getVersion(); + ModuleVersionNumber installingVersion = installingModuleDetails.getModuleVersionNumber(); //A series of checks warHelper.checkCompatibleVersion(warFile, installingModuleDetails); @@ -303,7 +303,7 @@ public class ModuleManagementTool implements LogOutput if (installedModuleDetails != null) { String installedId = installedModuleDetails.getId(); - ModuleVersionNumber installedVersion = installedModuleDetails.getVersion(); + ModuleVersionNumber installedVersion = installedModuleDetails.getModuleVersionNumber(); int compareValue = installedVersion.compareTo(installingVersion); if (compareValue > 0) @@ -711,7 +711,7 @@ public class ModuleManagementTool implements LogOutput } outputVerboseMessage("Module '" + moduleDetails.getId() + "' installed in '" + warLocation + "'"); outputVerboseMessage(" Title: " + moduleDetails.getTitle(), true); - outputVerboseMessage(" Version: " + moduleDetails.getVersion(), true); + outputVerboseMessage(" Version: " + moduleDetails.getModuleVersionNumber(), true); outputVerboseMessage(" Install Date: " + moduleDetails.getInstallDate(), true); outputVerboseMessage(" Description: " + moduleDetails.getDescription(), true); } diff --git a/source/java/org/alfresco/service/cmr/module/ModuleDetails.java b/source/java/org/alfresco/service/cmr/module/ModuleDetails.java index 5f4d93c338..4e510c8de2 100644 --- a/source/java/org/alfresco/service/cmr/module/ModuleDetails.java +++ b/source/java/org/alfresco/service/cmr/module/ModuleDetails.java @@ -74,7 +74,15 @@ public interface ModuleDetails extends Serializable * * @return module version number */ - ModuleVersionNumber getVersion(); + ModuleVersionNumber getModuleVersionNumber(); + + /** + * Get the version number of the module + * + * @return module version number + * @deprecated use getModuleVersionNumber which knows about maven style version numbers + */ + VersionNumber getVersion(); /** * Get the title of the module @@ -143,6 +151,10 @@ public interface ModuleDetails extends Serializable */ void setInstallState(ModuleInstallState installState); + /** + * + * @return the editions + */ List getEditions(); /**