Author: veithen
Date: Sat Mar  5 21:24:10 2016
New Revision: 1733767

URL: http://svn.apache.org/viewvc?rev=1733767&view=rev
Log:
Merge r1733766 to the 1.7 branch.

Modified:
    axis/axis2/java/core/branches/1_7/   (props changed)
    
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/Constants.java
    
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBDataHandlerStreamReader.java
    
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
    
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NameValuePairStreamReader.java
    
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NullXMLStreamReader.java
    
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java

Propchange: axis/axis2/java/core/branches/1_7/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Mar  5 21:24:10 2016
@@ -1,4 +1,4 @@
 /axis/axis2/java/core/branches/1_6:1295540
 /axis/axis2/java/core/branches/AXIOM-420:1334386-1336397
 
/axis/axis2/java/core/branches/AXIS2-4318:1230452,1295542,1324772,1327468,1329571,1332141,1335355,1335357,1340985
-/axis/axis2/java/core/trunk:1726494,1726509,1726513,1727171,1727174,1727177,1727180,1729891,1730095,1730139,1730180,1730186,1730195,1730197,1730222,1730300,1730308,1730310,1730317,1730322,1730335,1730369,1730427,1730618,1731425,1731441,1731446,1731448,1732354,1733137,1733663,1733713
+/axis/axis2/java/core/trunk:1726494,1726509,1726513,1727171,1727174,1727177,1727180,1729891,1730095,1730139,1730180,1730186,1730195,1730197,1730222,1730300,1730308,1730310,1730317,1730322,1730335,1730369,1730427,1730618,1731425,1731441,1731446,1731448,1732354,1733137,1733663,1733713,1733766

Modified: 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/Constants.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/Constants.java?rev=1733767&r1=1733766&r2=1733767&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/Constants.java
 (original)
+++ 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/Constants.java
 Sat Mar  5 21:24:10 2016
@@ -19,7 +19,6 @@
 
 package org.apache.axis2.databinding.utils;
 
-import org.apache.axiom.om.OMConstants;
 import org.apache.axis2.databinding.utils.reader.OMAttribKey;
 import org.apache.axis2.databinding.utils.reader.OMElementKey;
 
@@ -38,8 +37,4 @@ public interface Constants {
 
     static Object OM_ATTRIBUTE_KEY = new OMAttribKey();
     static Object OM_ELEMENT_KEY = new OMElementKey();
-
-    static final String IS_BINARY = OMConstants.IS_BINARY;
-    static final String DATA_HANDLER = OMConstants.DATA_HANDLER;
-    static final String OPTIMIZATION_ENABLED = 
OMConstants.IS_DATA_HANDLERS_AWARE;
 }

Modified: 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBDataHandlerStreamReader.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBDataHandlerStreamReader.java?rev=1733767&r1=1733766&r2=1733767&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBDataHandlerStreamReader.java
 (original)
+++ 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBDataHandlerStreamReader.java
 Sat Mar  5 21:24:10 2016
@@ -19,6 +19,9 @@
 
 package org.apache.axis2.databinding.utils.reader;
 
+import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
+import org.apache.axiom.ext.stax.datahandler.DataHandlerReader;
+import org.apache.axiom.util.stax.XMLStreamReaderUtils;
 import org.apache.axis2.databinding.utils.ConverterUtil;
 
 import javax.activation.DataHandler;
@@ -27,7 +30,7 @@ import javax.xml.namespace.QName;
 import javax.xml.stream.Location;
 import javax.xml.stream.XMLStreamException;
 
-public class ADBDataHandlerStreamReader implements ADBXMLStreamReader {
+public class ADBDataHandlerStreamReader implements ADBXMLStreamReader, 
DataHandlerReader {
     private static final int START_ELEMENT_STATE = 0;
     private static final int TEXT_STATE = 1;
     private static final int END_ELEMENT_STATE = 2;
@@ -59,18 +62,37 @@ public class ADBDataHandlerStreamReader
      * @throws IllegalArgumentException
      */
     public Object getProperty(String propKey) throws IllegalArgumentException {
-        if (OPTIMIZATION_ENABLED.equals(propKey)) {
-            return Boolean.TRUE;
-        }
-        if (state == TEXT_STATE) {
-            if (IS_BINARY.equals(propKey)) {
-                return Boolean.TRUE;
-            } else if (DATA_HANDLER.equals(propKey)) {
-                return value;
-            }
-        }
+        return XMLStreamReaderUtils.processGetProperty(this, propKey);
+    }
+
+    @Override
+    public boolean isBinary() {
+        return state == TEXT_STATE;
+    }
+
+    @Override
+    public boolean isOptimized() {
+        return true;
+    }
+
+    @Override
+    public boolean isDeferred() {
+        return false;
+    }
+
+    @Override
+    public String getContentID() {
         return null;
+    }
+
+    @Override
+    public DataHandler getDataHandler() throws XMLStreamException {
+        return value;
+    }
 
+    @Override
+    public DataHandlerProvider getDataHandlerProvider() {
+        throw new UnsupportedOperationException();
     }
 
     public int next() throws XMLStreamException {

Modified: 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java?rev=1733767&r1=1733766&r2=1733767&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
 (original)
+++ 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
 Sat Mar  5 21:24:10 2016
@@ -19,10 +19,13 @@
 
 package org.apache.axis2.databinding.utils.reader;
 
+import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
+import org.apache.axiom.ext.stax.datahandler.DataHandlerReader;
 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;
 import org.apache.axis2.databinding.utils.ConverterUtil;
@@ -57,7 +60,7 @@ import java.lang.reflect.Array;
  * possible
  * <p/>
  */
-public class ADBXMLStreamReaderImpl implements ADBXMLStreamReader {
+public class ADBXMLStreamReaderImpl implements ADBXMLStreamReader, 
DataHandlerReader {
 
     private Object[] properties;
     private Object[] attributes;
@@ -168,20 +171,37 @@ public class ADBXMLStreamReaderImpl impl
      * @throws IllegalArgumentException
      */
     public Object getProperty(String key) throws IllegalArgumentException {
-        if (OPTIMIZATION_ENABLED.equals(key)) {
-            return Boolean.TRUE;
-        } else if (state == TEXT_STATE) {
-            if (IS_BINARY.equals(key)) {
-                return Boolean.FALSE;
-            } else {
-                return null;
-            }
-        } else if (state == DELEGATED_STATE) {
-            return childReader.getProperty(key);
-        } else {
-            return null;
-        }
+        return XMLStreamReaderUtils.processGetProperty(this, key);
+    }
+
+    @Override
+    public boolean isBinary() {
+        return state == DELEGATED_STATE && childReader instanceof 
DataHandlerReader && ((DataHandlerReader)childReader).isBinary();
+    }
+
+    @Override
+    public boolean isOptimized() {
+        return ((DataHandlerReader)childReader).isOptimized();
+    }
+
+    @Override
+    public boolean isDeferred() {
+        return ((DataHandlerReader)childReader).isDeferred();
+    }
+
+    @Override
+    public String getContentID() {
+        return ((DataHandlerReader)childReader).getContentID();
+    }
+
+    @Override
+    public DataHandler getDataHandler() throws XMLStreamException {
+        return ((DataHandlerReader)childReader).getDataHandler();
+    }
 
+    @Override
+    public DataHandlerProvider getDataHandlerProvider() {
+        return ((DataHandlerReader)childReader).getDataHandlerProvider();
     }
 
     public void require(int i, String string, String string1)

Modified: 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NameValuePairStreamReader.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NameValuePairStreamReader.java?rev=1733767&r1=1733766&r2=1733767&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NameValuePairStreamReader.java
 (original)
+++ 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NameValuePairStreamReader.java
 Sat Mar  5 21:24:10 2016
@@ -49,19 +49,7 @@ public class NameValuePairStreamReader i
     }
 
     public Object getProperty(String key) throws IllegalArgumentException {
-        //since optimization is a global property
-        //we've to implement it everywhere
-        if (OPTIMIZATION_ENABLED.equals(key)) {
-            return Boolean.TRUE;
-        } else if (state == TEXT_STATE) {
-            if (IS_BINARY.equals(key)) {
-                return Boolean.FALSE;
-            } else {
-                return null;
-            }
-        } else {
-            return null;
-        }
+        return null;
     }
 
     public int next() throws XMLStreamException {

Modified: 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NullXMLStreamReader.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NullXMLStreamReader.java?rev=1733767&r1=1733766&r2=1733767&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NullXMLStreamReader.java
 (original)
+++ 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/NullXMLStreamReader.java
 Sat Mar  5 21:24:10 2016
@@ -44,13 +44,7 @@ public class NullXMLStreamReader impleme
     }
 
     public Object getProperty(String key) throws IllegalArgumentException {
-        //since optimization is a global property
-        //we've to implement it everywhere
-        if (OPTIMIZATION_ENABLED.equals(key)) {
-            return Boolean.TRUE;
-        } else {
-            return null;
-        }
+        return null;
     }
 
     public int next() throws XMLStreamException {

Modified: 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java?rev=1733767&r1=1733766&r2=1733767&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java
 (original)
+++ 
axis/axis2/java/core/branches/1_7/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java
 Sat Mar  5 21:24:10 2016
@@ -19,20 +19,27 @@
 
 package org.apache.axis2.databinding.utils.reader;
 
+import javax.activation.DataHandler;
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
 import javax.xml.stream.Location;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
-public class WrappingXMLStreamReader implements ADBXMLStreamReader {
+import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
+import org.apache.axiom.ext.stax.datahandler.DataHandlerReader;
+import org.apache.axiom.util.stax.XMLStreamReaderUtils;
+
+public class WrappingXMLStreamReader implements ADBXMLStreamReader, 
DataHandlerReader {
 
     private XMLStreamReader reader;
+    private DataHandlerReader dataHandlerReader;
     private int depth;
     private boolean done;
 
     public WrappingXMLStreamReader(XMLStreamReader reader) {
         this.reader = reader;
+        dataHandlerReader = XMLStreamReaderUtils.getDataHandlerReader(reader);
     }
 
     public boolean isDone() {
@@ -40,7 +47,37 @@ public class WrappingXMLStreamReader imp
     }
 
     public Object getProperty(String string) throws IllegalArgumentException {
-        return reader.getProperty(string);
+        return XMLStreamReaderUtils.processGetProperty(this, string);
+    }
+
+    @Override
+    public boolean isBinary() {
+        return dataHandlerReader != null && dataHandlerReader.isBinary();
+    }
+
+    @Override
+    public boolean isOptimized() {
+        return dataHandlerReader.isOptimized();
+    }
+
+    @Override
+    public boolean isDeferred() {
+        return dataHandlerReader.isDeferred();
+    }
+
+    @Override
+    public String getContentID() {
+        return dataHandlerReader.getContentID();
+    }
+
+    @Override
+    public DataHandler getDataHandler() throws XMLStreamException {
+        return dataHandlerReader.getDataHandler();
+    }
+
+    @Override
+    public DataHandlerProvider getDataHandlerProvider() {
+        return dataHandlerReader.getDataHandlerProvider();
     }
 
     public int next() throws XMLStreamException {


Reply via email to