You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2016/05/05 08:24:51 UTC

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

Author: veithen
Date: Thu May  5 08:24:51 2016
New Revision: 1742375

URL: http://svn.apache.org/viewvc?rev=1742375&view=rev
Log:
Eliminate usages of deprecated Axiom APIs.

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

Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java?rev=1742375&r1=1742374&r2=1742375&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java Thu May  5 08:24:51 2016
@@ -24,7 +24,6 @@ import org.apache.axiom.ext.stax.datahan
 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.axiom.util.stax.XMLStreamReaderUtils;
 import org.apache.axis2.databinding.typemapping.SimpleTypeMapper;
 import org.apache.axis2.databinding.utils.BeanUtil;
@@ -37,6 +36,7 @@ import javax.xml.namespace.QName;
 import javax.xml.stream.Location;
 import javax.xml.stream.XMLStreamException;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.lang.reflect.Array;
 
 /**
@@ -61,7 +61,8 @@ import java.lang.reflect.Array;
  * <p/>
  */
 public class ADBXMLStreamReaderImpl implements ADBXMLStreamReader, DataHandlerReader {
-
+    private static final AtomicInteger nsPrefix = new AtomicInteger();
+    
     private Object[] properties;
     private Object[] attributes;
     private QName elementQName;
@@ -131,7 +132,7 @@ public class ADBXMLStreamReaderImpl impl
                     if(qname !=null){
                         String prefix =qname.getPrefix();
                         if(prefix == null || "".equals(prefix)){
-                            prefix = OMSerializerUtil.getNextNSPrefix();
+                            prefix = getNextNSPrefix();
                         }
                         qname = new QName(qname.getNamespaceURI(),qname.getLocalPart(),prefix);
                         this.typeTable.getComplexSchemaMap().put(key,qname);
@@ -143,6 +144,10 @@ public class ADBXMLStreamReaderImpl impl
         }
     }
 
+    private static String getNextNSPrefix() {
+        return "ns" + nsPrefix.incrementAndGet();
+    }
+
     /** add the namespace context */
 
     public void addNamespaceContext(NamespaceContext nsContext) {
@@ -474,7 +479,7 @@ public class ADBXMLStreamReaderImpl impl
                            // first check it is already there if not add the namespace.
                            String prefix = namespaceContext.getPrefix(attributeQName.getNamespaceURI());
                            if (prefix == null){
-                               prefix = OMSerializerUtil.getNextNSPrefix();
+                               prefix = getNextNSPrefix();
                                addToNsMap(prefix,attributeQName.getNamespaceURI());
                            }
 

Modified: axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java?rev=1742375&r1=1742374&r2=1742375&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderTest.java Thu May  5 08:24:51 2016
@@ -25,11 +25,9 @@ import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.serialize.StreamingOMSerializer;
-import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.util.base64.Base64Utils;
 import org.apache.axis2.databinding.utils.Constants;
-import org.apache.axis2.util.StreamWrapper;
 import org.custommonkey.xmlunit.XMLTestCase;
 import org.w3c.dom.Document;
 import org.xml.sax.SAXException;
@@ -41,9 +39,7 @@ import javax.xml.parsers.DocumentBuilder
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
 import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -823,21 +819,7 @@ public class ADBXMLStreamReaderTest exte
      * @return
      */
     private String getStringXML(XMLStreamReader reader) throws XMLStreamException {
-        //the returned pullparser starts at an Element rather than the start
-        //document event. This is somewhat disturbing but since an ADBBean
-        //denotes an XMLFragment, it is justifiable to keep the current event
-        //at the Start-element rather than the start document
-        //What it boils down to is that we need to wrap the reader in a
-        //stream wrapper to get a fake start-document event
-
-        StreamingOMSerializer ser = new StreamingOMSerializer();
-        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-        XMLStreamWriter writer = StAXUtils.createXMLStreamWriter(byteArrayOutputStream);
-        ser.serialize(
-                new StreamWrapper(reader),
-                writer);
-        writer.flush();
-        return byteArrayOutputStream.toString();
+        return OMXMLBuilderFactory.createStAXOMBuilder(reader).getDocumentElement().toString();
     }
 
 //     /**