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/06/13 01:15:34 UTC

svn commit: r546662 - in /webservices/axis2/trunk/java/modules/adb: src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java

Author: deepal
Date: Tue Jun 12 16:15:33 2007
New Revision: 546662

URL: http://svn.apache.org/viewvc?view=rev&rev=546662
Log:
fixing AXIS2-1598

Modified:
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
    webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java?view=diff&rev=546662&r1=546661&r2=546662
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java Tue Jun 12 16:15:33 2007
@@ -3,6 +3,7 @@
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.impl.util.OMSerializerUtil;
 import org.apache.axis2.databinding.ADBBean;
 import org.apache.axis2.databinding.utils.BeanUtil;
 import org.apache.axis2.description.java2wsdl.TypeTable;
@@ -16,6 +17,7 @@
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Iterator;
 /*
  * Copyright 2004,2005 The Apache Software Foundation.
  *
@@ -58,6 +60,10 @@
     private Object[] properties;
     private Object[] attributes;
     private QName elementQName;
+
+    //This is to store the QName which are in the typeTable after setting the corrcet prefix
+    private HashMap qnameMap = new HashMap();
+
     //we always create a new namespace context
     private ADBNamespaceContext namespaceContext = new ADBNamespaceContext();
 
@@ -110,6 +116,26 @@
         this(adbBeansQName, properties, attributes);
         this.qualified = qualified;
         this.typeTable = typeTable;
+        if(this.typeTable!=null){
+            Map complextTyepMap = this.typeTable.getComplexSchemaMap();
+            if(complextTyepMap!=null){
+                Iterator keyps = complextTyepMap.keySet().iterator();
+                while (keyps.hasNext()) {
+                    String key = (String) keyps.next();
+                    QName qname = (QName) complextTyepMap.get(key);
+                    if(qname!=null){
+                        String prefix =qname.getPrefix();
+                        if(prefix==null&&"".equals(prefix)){
+                            prefix = OMSerializerUtil.getNextNSPrefix();
+                        }
+                        qname = new QName(qname.getNamespaceURI(),qname.getLocalPart(),prefix);
+                        this.typeTable.getComplexSchemaMap().put(key,qname);
+                        qnameMap.put(qname.getNamespaceURI(),prefix);
+                        addToNsMap(prefix, qname.getNamespaceURI());
+                    }
+                }
+            }
+        }
     }
 
     /** add the namespace context */
@@ -850,6 +876,13 @@
             //oops - we've no idea what kind of key this is
             throw new XMLStreamException(
                     "unidentified property key!!!" + propPointer);
+        }
+
+        if(propertyQName!=null){
+            String prefix = (String) qnameMap.get(propertyQName.getNamespaceURI());
+            if(prefix!=null){
+                propertyQName = new QName(propertyQName.getNamespaceURI(),propertyQName.getLocalPart(),prefix);
+            }
         }
 
         //ok! we got the key. Now look at the value

Modified: webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java?view=diff&rev=546662&r1=546661&r2=546662
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java (original)
+++ webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java Tue Jun 12 16:15:33 2007
@@ -653,6 +653,7 @@
         } catch (IOException e) {
             fail("Error has occurred " + e);
         } catch (Exception e) {
+            e.printStackTrace();
             fail("Error has occurred " + e);
         }
     }



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