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 {