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/30 20:10:26 UTC

svn commit: r1746188 - /axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBCustomBuilder.java

Author: veithen
Date: Mon May 30 20:10:25 2016
New Revision: 1746188

URL: http://svn.apache.org/viewvc?rev=1746188&view=rev
Log:
Adapt to latest changes in Axiom.

Modified:
    axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBCustomBuilder.java

Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBCustomBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBCustomBuilder.java?rev=1746188&r1=1746187&r2=1746188&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBCustomBuilder.java (original)
+++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBCustomBuilder.java Mon May 30 20:10:25 2016
@@ -22,6 +22,7 @@ package org.apache.axis2.datasource.jaxb
 import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDocument;
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.ds.custombuilder.CustomBuilder;
 import org.apache.axiom.soap.SOAPBody;
@@ -30,6 +31,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import javax.xml.bind.JAXBException;
+import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
 /**
@@ -52,21 +54,24 @@ public class JAXBCustomBuilder implement
         JAXBCustomBuilderMonitor.updateTotalBuilders();
     }
 
-
-    public OMDataSource create(XMLStreamReader reader) throws OMException {
-        if (log.isDebugEnabled()) {
-            log.debug("create namespace = " + reader.getNamespaceURI());
-            log.debug("  localPart = " + reader.getLocalName());
-            log.debug("  reader = " + reader.getClass());
-        }
-        
+    @Override
+    public OMDataSource create(OMElement element) throws OMException {
+        XMLStreamReader reader = element.getXMLStreamReaderWithoutCaching();
         try {
+            reader.next();
+            if (log.isDebugEnabled()) {
+                log.debug("create namespace = " + reader.getNamespaceURI());
+                log.debug("  localPart = " + reader.getLocalName());
+                log.debug("  reader = " + reader.getClass());
+            }
+        
             // Create an OMSourcedElement backed by an unmarshalled JAXB object
             
             Object jaxb = jdsContext.unmarshal(reader);
             if (log.isDebugEnabled()) {
                 log.debug("Successfully unmarshalled jaxb object " + jaxb);
             }
+            reader.close();
             
             OMDataSource ds = new JAXBDataSource(jaxb, jdsContext);
             if (log.isDebugEnabled()) {
@@ -77,6 +82,9 @@ public class JAXBCustomBuilder implement
         } catch (JAXBException e) {
             JAXBCustomBuilderMonitor.updateTotalFailedCreates();
             throw new OMException(e);
+        } catch (XMLStreamException e) {
+            JAXBCustomBuilderMonitor.updateTotalFailedCreates();
+            throw new OMException(e);
         }
     }