Author: taylor Date: Wed Mar 30 20:19:58 2016 New Revision: 1737160 URL: http://svn.apache.org/viewvc?rev=1737160&view=rev Log: Including r1735310 and r1735336 (UserSessionPreferences entity empty patch and VersionDeploymentManaagerPath)
Modified: portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/UserSessionPreferences.java portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/jetspeed-portal-resources/src/main/resources/assembly/alternate/versioned-deployment/deployment.xml Modified: portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java?rev=1737160&r1=1737159&r2=1737160&view=diff ============================================================================== --- portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java (original) +++ portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java Wed Mar 30 20:19:58 2016 @@ -16,11 +16,6 @@ */ package org.apache.jetspeed.tools.pamanager; -import java.io.IOException; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - import org.apache.jetspeed.components.portletregistry.PortletRegistry; import org.apache.jetspeed.components.portletregistry.RegistryException; import org.apache.jetspeed.descriptor.JetspeedDescriptorService; @@ -35,6 +30,11 @@ import org.apache.jetspeed.util.descript import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -57,7 +57,9 @@ import org.slf4j.LoggerFactory; public class VersionedPortletApplicationManager extends PortletApplicationManager { private static final Logger log = LoggerFactory.getLogger("deployment"); - + + private Boolean useNumericVersions = true; + public VersionedPortletApplicationManager(PortletFactory portletFactory, PortletRegistry registry, PermissionManager permissionManager, SearchEngine searchEngine, RoleManager roleManager, List<String> permissionRoles, /* node manager, */ String appRoot, JetspeedDescriptorService descriptorService) @@ -66,7 +68,15 @@ public class VersionedPortletApplication searchEngine, roleManager, permissionRoles, null, appRoot, descriptorService); } - + + public Boolean getUseNumericVersions() { + return useNumericVersions; + } + + public void setUseNumericVersions(Boolean useNumericVersions) { + this.useNumericVersions = useNumericVersions; + } + public boolean isStarted() { return started; @@ -140,14 +150,14 @@ public class VersionedPortletApplication { System.out.println(" - New Version was NOT provided: registration not required ... " + contextName); } - else if (newVersion.compareTo(regVersion) > 0) + else if (compareVersions(newVersion, regVersion, useNumericVersions) > 0) { System.out.println(" - **** New Version is greater: registration required... " + contextName); regPA = registerPortletApplication(paWar, regPA, paType, paClassLoader, silent); } else { - System.out.println(" - New Version is NOT greater: registration not required ... " + contextName); + System.out.println(" - New Version is NOT greater: registration not required ... " + contextName); } } if (portletFactory.isPortletApplicationRegistered(regPA)) @@ -182,4 +192,35 @@ public class VersionedPortletApplication } return version; } + + public static int compareVersions(String newVersion, String regVersion, boolean useNumericVersions) throws NumberFormatException { + if (!useNumericVersions) { + return newVersion.compareTo(regVersion); + } + String[] v1 = newVersion.split("\\."); + String[] v2 = regVersion.split("\\."); + + int ix = 0; + while(ix < v1.length || ix < v2.length){ + if(ix < v1.length && ix < v2.length){ + if(Integer.parseInt(v1[ix]) < Integer.parseInt(v2[ix])){ + return -1; + }else if(Integer.parseInt(v1[ix]) > Integer.parseInt(v2[ix])){ + return 1; + } + } else if(ix < v1.length){ + if(Integer.parseInt(v1[ix]) != 0){ + return 1; + } + } else if(ix < v2.length){ + if(Integer.parseInt(v2[ix]) != 0){ + return -1; + } + } + + ix++; + } + return 0; + } + } \ No newline at end of file Modified: portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/UserSessionPreferences.java URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/UserSessionPreferences.java?rev=1737160&r1=1737159&r2=1737160&view=diff ============================================================================== --- portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/UserSessionPreferences.java (original) +++ portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/UserSessionPreferences.java Wed Mar 30 20:19:58 2016 @@ -35,17 +35,24 @@ public class UserSessionPreferences { private Map<String,Map<String,PortletPreference>> windowPreferences = new ConcurrentHashMap<>(); public Map<String,PortletPreference> getWindowPreferences(String portletWindowId) { - return windowPreferences.get(portletWindowId); + if (portletWindowId != null) { + return windowPreferences.get(portletWindowId); + } + return null; } public Map<String,PortletPreference> createWindowPreferences(String portletWindowId) { Map<String,PortletPreference> preferences = new HashMap<>(); - windowPreferences.put(portletWindowId, preferences); + if (portletWindowId != null) { + windowPreferences.put(portletWindowId, preferences); + } return preferences; } public Map<String,PortletPreference> updateWindowPreferences(String portletWindowId, Map<String,PortletPreference> preferences) { - windowPreferences.put(portletWindowId, preferences); + if (portletWindowId != null) { + windowPreferences.put(portletWindowId, preferences); + } return preferences; } Modified: portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/jetspeed-portal-resources/src/main/resources/assembly/alternate/versioned-deployment/deployment.xml URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/jetspeed-portal-resources/src/main/resources/assembly/alternate/versioned-deployment/deployment.xml?rev=1737160&r1=1737159&r2=1737160&view=diff ============================================================================== --- portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/jetspeed-portal-resources/src/main/resources/assembly/alternate/versioned-deployment/deployment.xml (original) +++ portals/jetspeed-2/portal/branches/JETSPEED-BRANCH-2.3.0-POST-RELEASE/jetspeed-portal-resources/src/main/resources/assembly/alternate/versioned-deployment/deployment.xml Wed Mar 30 20:19:58 2016 @@ -66,6 +66,11 @@ locking by setting value to "false": <property name="lockRegistryAccess"><value>false</value></property> --> + <!-- optional use numeric version numbers such as 2.9.0.11. Do not allow numbers + this feature is enabled by default. To use lexical comparisions, set this property to false + <property name="useNumericVersions" value="false" /> + --> + </bean> </beans> --------------------------------------------------------------------- To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org