You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ba...@apache.org on 2008/08/20 14:56:07 UTC

svn commit: r687300 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java

Author: barrettj
Date: Wed Aug 20 05:56:07 2008
New Revision: 687300

URL: http://svn.apache.org/viewvc?rev=687300&view=rev
Log:
Add backward compatability for serialized form from previous releases that didn't use the namespace on the Operation QName.

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java?rev=687300&r1=687299&r2=687300&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java Wed Aug 20 05:56:07 2008
@@ -220,16 +220,27 @@
 
         Iterator ito = service.getOperations();
 
+        // Previous versions of Axis2 didn't use a namespace on the operation name, so they wouldn't
+        // have externalized a namespace.  If that's the case, only compare the localPart of the
+        // operation name
+        String namespace = opQName.getNamespaceURI();
+        boolean ignoreNamespace = false;
+        if (namespace == null || "".equals(namespace)) {
+            ignoreNamespace = true;
+        }
+        
         while (ito.hasNext()) {
             AxisOperation operation = (AxisOperation) ito.next();
 
             String tmpOpName = operation.getClass().getName();
             QName tmpOpQName = operation.getName();
+            
+            if ((tmpOpName.equals(opClassName)) && 
+                ((ignoreNamespace && (tmpOpQName.getLocalPart().equals(opQName.getLocalPart())) || (tmpOpQName.equals(opQName))))) {
 
-            if ((tmpOpName.equals(opClassName)) && (tmpOpQName.equals(opQName))) {
-                // trace point
                 if (log.isTraceEnabled()) {
-                    log.trace("ObjectStateUtils:findOperation(service): returning  ["
+                    log.trace("ObjectStateUtils:findOperation(service): ignoreNamespace [" + ignoreNamespace
+                    		+ "] returning  ["
                             + opClassName + "]   [" + opQName.toString() + "]");
                 }
 
@@ -239,7 +250,8 @@
 
         // trace point
         if (log.isTraceEnabled()) {
-            log.trace("ObjectStateUtils:findOperation(service): [" + opClassName + "]   ["
+            log.trace("ObjectStateUtils:findOperation(service): ignoreNamespace [" + ignoreNamespace
+                    + " classname [" + opClassName + "]  QName ["
                     + opQName.toString() + "]  returning  [null]");
         }