You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/07/04 06:41:37 UTC

svn commit: r553074 - in /webservices/axis2/trunk/java/modules/kernel: src/org/apache/axis2/description/ src/org/apache/axis2/engine/ src/org/apache/axis2/util/ test/org/apache/axis2/deployment/

Author: deepal
Date: Tue Jul  3 21:41:37 2007
New Revision: 553074

URL: http://svn.apache.org/viewvc?view=rev&rev=553074
Log:
oops ,what happen if we have a module like foo-bar-1.3.mar , then we calculate version we are trying to take bar as version number at the second time we call calculate version method. So to avoid that I had to introduce new field to keep the version number in the module.

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisModule.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
    webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/ModuleversionTest.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisModule.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisModule.java?view=diff&rev=553074&r1=553073&r2=553074
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisModule.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisModule.java Tue Jul  3 21:41:37 2007
@@ -1,21 +1,18 @@
 /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
 
 
 package org.apache.axis2.description;
@@ -61,6 +58,10 @@
      */
     private String name;
 
+    //This is to keep the version number of the module, if the module name is a-b-c-1.3.mar ,
+    // then the module version would be 1.3
+    private String version;
+
     // to store module operations , which are suppose to be added to a service if it is engaged to a service
     private HashMap operations = new HashMap();
     private AxisConfiguration parent;
@@ -76,6 +77,7 @@
     private String[] supportedPolicyNames;
 
     private QName[] localPolicyAssertions;
+    public static final String VERSION_SNAPSHOT = "SNAPSHOT";
 
     /**
      * Constructor ModuleDescription.
@@ -86,7 +88,7 @@
     /**
      * Constructor ModuleDescription.
      *
-     * @param name
+     * @param name : Name of the module
      */
     public AxisModule(String name) {
         this.name = name;
@@ -97,7 +99,7 @@
     }
 
     /**
-     * @param param
+     * @param param : Parameter to be added
      */
     public void addParameter(Parameter param) throws AxisFault {
         if (isParameterLocked(param.getName())) {
@@ -168,7 +170,6 @@
     }
 
     /**
-     * @param name
      * @return Returns Parameter.
      */
     public Parameter getParameter(String name) {
@@ -203,28 +204,25 @@
     }
 
     /**
-     * @param faultFlow
+     * @param faultFlow : Arryalist of handlerDescriptions
      */
     public void setFaultInFlow(Flow faultFlow) {
         flowInclude.setFaultInFlow(faultFlow);
     }
 
     /**
-     * @param faultFlow
+     * @param faultFlow : Arryalist of HandlerDescriptions
      */
     public void setFaultOutFlow(Flow faultFlow) {
         flowInclude.setFaultOutFlow(faultFlow);
     }
 
-    /**
-     * @param inFlow
-     */
     public void setInFlow(Flow inFlow) {
         flowInclude.setInFlow(inFlow);
     }
 
     /**
-     * @param module
+     * @param module : AxisModule
      */
     public void setModule(Module module) {
         this.module = module;
@@ -235,15 +233,12 @@
     }
 
     /**
-     * @param name
+     * @param name  : Setting name of the module
      */
     public void setName(String name) {
         this.name = name;
     }
 
-    /**
-     * @param outFlow
-     */
     public void setOutFlow(Flow outFlow) {
         flowInclude.setOutFlow(outFlow);
     }
@@ -293,5 +288,14 @@
 
     public void setFileName(URL fileName) {
         this.fileName = fileName;
+    }
+
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
     }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=553074&r1=553073&r2=553074
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Jul  3 21:41:37 2007
@@ -197,10 +197,11 @@
         notifyObservers(AxisEvent.MODULE_DEPLOY, module);
 
         String moduleName = module.getName();
-        if (moduleName.endsWith("SNAPSHOT")) {
-            moduleName = moduleName.substring(0, moduleName.indexOf("SNAPSHOT") - 1);
-            module.setName(moduleName);
+        if (moduleName.endsWith(AxisModule.VERSION_SNAPSHOT)) {
             allModules.put(moduleName, module);
+            moduleName = moduleName.substring(0, moduleName.indexOf(AxisModule.VERSION_SNAPSHOT) - 1);
+            module.setName(moduleName);
+            module.setVersion(AxisModule.VERSION_SNAPSHOT);
         } else {
             allModules.put(module.getName(), module);
         }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java?view=diff&rev=553074&r1=553073&r2=553074
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java Tue Jul  3 21:41:37 2007
@@ -174,7 +174,6 @@
     /**
      * Break a full path into pieces
      *
-     * @param path
      * @return an array where element [0] always contains the service, and element 1, if not null, contains
      *         the path after the first element. all ? parameters are discarded.
      */
@@ -325,14 +324,37 @@
         while (allModules.hasNext()) {
             AxisModule axisModule = (AxisModule) allModules.next();
             String moduleName = axisModule.getName();
-            String moduleNameString = getModuleName(moduleName);
-            String moduleVersionString = getModuleVersion(moduleName);
+            String moduleNameString;
+            String moduleVersionString;
+            if (AxisModule.VERSION_SNAPSHOT.equals(axisModule.getVersion())) {
+                moduleNameString = axisModule.getName();
+                moduleVersionString = axisModule.getVersion();
+            } else {
+                if (axisModule.getVersion() == null ) {
+                    moduleNameString = getModuleName(moduleName);
+                    moduleVersionString = getModuleVersion(moduleName);
+                    if (moduleVersionString!=null) {
+                        try {
+                            Float.valueOf(moduleVersionString);
+                            axisModule.setVersion(moduleVersionString);
+                            axisModule.setName(moduleName);
+                        } catch (NumberFormatException e) {
+                            moduleVersionString = null;
+                        }
+                    }
+                } else {
+                    moduleNameString = axisModule.getName();
+                    moduleVersionString = axisModule.getVersion();
+                }
+            }
             String currentDefaultVerison = (String) defaultModules.get(moduleNameString);
             if (currentDefaultVerison != null) {
                 // if the module version is null then , that will be ignore in this case
-                if (moduleVersionString != null &&
-                        isLatest(moduleVersionString, currentDefaultVerison)) {
-                    defaultModules.put(moduleNameString, moduleVersionString);
+                if (!AxisModule.VERSION_SNAPSHOT.equals(currentDefaultVerison)) {
+                    if (moduleVersionString != null &&
+                            isLatest(moduleVersionString, currentDefaultVerison)) {
+                        defaultModules.put(moduleNameString, moduleVersionString);
+                    }
                 }
             } else {
                 defaultModules.put(moduleNameString, moduleVersionString);
@@ -347,7 +369,7 @@
     }
 
     public static boolean isLatest(String moduleVersion, String currentDefaultVersion) {
-        if ("SNAPSHOT".equals(moduleVersion)) {
+        if (AxisModule.VERSION_SNAPSHOT.equals(moduleVersion)) {
             return true;
         } else {
             float m_version = Float.parseFloat(moduleVersion);

Modified: webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/ModuleversionTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/ModuleversionTest.java?view=diff&rev=553074&r1=553073&r2=553074
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/ModuleversionTest.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/ModuleversionTest.java Tue Jul  3 21:41:37 2007
@@ -98,4 +98,40 @@
             fail("Didn't find testModule-1.93");
         }
     }
+
+     public void testModuleWithSNAPSHOT() throws AxisFault {
+        AxisConfiguration axisConfiguration = new AxisConfiguration();
+        AxisModule module1 = new AxisModule();
+        module1.setName("Module1");
+        axisConfiguration.addModule(module1);
+
+        AxisModule module2 = new AxisModule();
+        module2.setName("Module1-SNAPSHOT");
+        axisConfiguration.addModule(module2);
+
+        AxisModule module3 = new AxisModule();
+        module3.setName("Module1-0.95");
+        axisConfiguration.addModule(module3);
+        Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration);
+        assertEquals(module2, axisConfiguration.getDefaultModule("Module1"));
+    }
+
+
+     public void testModuleWithSNAPSHOT2() throws AxisFault {
+        AxisConfiguration axisConfiguration = new AxisConfiguration();
+        AxisModule module1 = new AxisModule();
+        module1.setName("Module1-a");
+        axisConfiguration.addModule(module1);
+
+        AxisModule module2 = new AxisModule();
+        module2.setName("Module1-a-SNAPSHOT");
+        axisConfiguration.addModule(module2);
+
+        AxisModule module3 = new AxisModule();
+        module3.setName("Module1-a-0.95");
+        axisConfiguration.addModule(module3);
+        Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration);
+        Utils.calculateDefaultModuleVersion(axisConfiguration.getModules(), axisConfiguration);
+        assertEquals(module2, axisConfiguration.getDefaultModule("Module1-a"));
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org