Author: veithen
Date: Sun May 6 07:23:24 2012
New Revision: 1334568
URL: http://svn.apache.org/viewvc?rev=1334568&view=rev
Log:
Duplicate code reduction.
Added:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/AbstractADBDataSource.java
(with props)
Modified:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBHelperDataSource.java
Modified:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java?rev=1334568&r1=1334567&r2=1334568&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
(original)
+++
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
Sun May 6 07:23:24 2012
@@ -20,29 +20,13 @@
package org.apache.axis2.databinding;
import org.apache.axiom.om.OMDataSource;
-import org.apache.axiom.om.OMDataSourceExt;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.util.StAXUtils;
-import org.apache.axis2.databinding.utils.writer.MTOMAwareOMBuilder;
import javax.xml.namespace.QName;
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.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.util.HashMap;
-public class ADBDataSource implements OMDataSourceExt {
- protected QName parentQName;
+public class ADBDataSource extends AbstractADBDataSource {
private ADBBean bean;
-
- HashMap map = null; // Map of properties
/**
* Constructor taking in an ADBBean
@@ -50,33 +34,8 @@ public class ADBDataSource implements OM
* @param bean
*/
public ADBDataSource(ADBBean bean, QName parentQName) {
+ super(parentQName);
this.bean = bean;
- this.parentQName = parentQName;
- }
-
-
- /**
- * @param output
- * @param format
- * @throws XMLStreamException
- * @see OMDataSource#serialize(java.io.OutputStream,
org.apache.axiom.om.OMOutputFormat)
- */
- public void serialize(OutputStream output, OMOutputFormat format) throws
XMLStreamException {
- XMLStreamWriter xmlStreamWriter =
StAXUtils.createXMLStreamWriter(output);
- serialize(xmlStreamWriter);
- xmlStreamWriter.flush();
- }
-
- /**
- * @param writer
- * @param format
- * @throws XMLStreamException
- * @see OMDataSource#serialize(java.io.Writer,
org.apache.axiom.om.OMOutputFormat)
- */
- public void serialize(Writer writer, OMOutputFormat format) throws
XMLStreamException {
- XMLStreamWriter xmlStreamWriter =
StAXUtils.createXMLStreamWriter(writer);
- serialize(xmlStreamWriter);
- xmlStreamWriter.flush();
}
/**
@@ -92,18 +51,6 @@ public class ADBDataSource implements OM
}
/**
- * @throws XMLStreamException
- * @see org.apache.axiom.om.OMDataSource#getReader()
- */
- public XMLStreamReader getReader() throws XMLStreamException {
- // since only ADBBeans related to elements can be serialized
- // we are safe in passing null here.
- MTOMAwareOMBuilder mtomAwareOMBuilder = new MTOMAwareOMBuilder();
- serialize(mtomAwareOMBuilder);
- return mtomAwareOMBuilder.getOMElement().getXMLStreamReader();
- }
-
- /**
* Returns the backing Object.
* @return Object
*/
@@ -112,84 +59,10 @@ public class ADBDataSource implements OM
}
/**
- * Returns true if reading the backing object is destructive.
- * An example of an object with a destructive read is an InputSteam.
- * The owning OMSourcedElement uses this information to detemine if OM tree
- * expansion is needed when reading the OMDataSourceExt.
- * @return boolean
- */
- public boolean isDestructiveRead() {
- return false;
- }
-
- /**
- * Returns true if writing the backing object is destructive.
- * An example of an object with a destructive write is an InputStream.
- * The owning OMSourcedElement uses this information to detemine if OM tree
- * expansion is needed when writing the OMDataSourceExt.
- * @return boolean
- */
- public boolean isDestructiveWrite() {
- return false;
- }
-
- /**
- * Returns a InputStream representing the xml data
- * @param encoding String encoding of InputStream
- * @return InputStream
- */
- public InputStream getXMLInputStream(String encoding) throws
UnsupportedEncodingException {
- return new ByteArrayInputStream(getXMLBytes(encoding));
- }
-
- /**
- * Returns a byte[] representing the xml data
- * @param encoding String encoding of InputStream
- * @return byte[]
- * @see getXMLInputStream
- */
- public byte[] getXMLBytes(String encoding) throws
UnsupportedEncodingException {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- OMOutputFormat format = new OMOutputFormat();
- format.setCharSetEncoding(encoding);
- try {
- serialize(baos, format);
- } catch (XMLStreamException e) {
- new OMException(e);
- }
- return baos.toByteArray();
- }
-
- /**
* Close the DataSource and free its resources.
*/
public void close() {
parentQName = null;
bean = null;
}
-
- public OMDataSourceExt copy() {
- return null;
- }
-
- public Object getProperty(String key) {
- if (map == null) {
- return null;
- }
- return map.get(key);
- }
-
- public Object setProperty(String key, Object value) {
- if (map == null) {
- map = new HashMap();
- }
- return map.put(key, value);
- }
-
- public boolean hasProperty(String key) {
- if (map == null) {
- return false;
- }
- return map.containsKey(key);
- }
}
Modified:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBHelperDataSource.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBHelperDataSource.java?rev=1334568&r1=1334567&r2=1334568&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBHelperDataSource.java
(original)
+++
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBHelperDataSource.java
Sun May 6 07:23:24 2012
@@ -20,31 +20,14 @@
package org.apache.axis2.databinding;
import org.apache.axiom.om.OMDataSource;
-import org.apache.axiom.om.OMDataSourceExt;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.util.StAXUtils;
-import org.apache.axis2.databinding.utils.writer.MTOMAwareOMBuilder;
import javax.xml.namespace.QName;
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.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.util.HashMap;
-public class ADBHelperDataSource<T> implements OMDataSourceExt {
-
- protected QName parentQName;
+public class ADBHelperDataSource<T> extends AbstractADBDataSource {
private T bean;
private final ADBHelper<T> helper;
-
- HashMap map = null; // Map of properties
/**
* Constructor taking in an ADBBean
@@ -52,37 +35,11 @@ public class ADBHelperDataSource<T> impl
* @param bean
*/
public ADBHelperDataSource(T bean, QName parentQName, ADBHelper<T> helper)
{
+ super(parentQName);
this.bean = bean;
- this.parentQName = parentQName;
this.helper = helper;
}
-
- /**
- * @param output
- * @param format
- * @throws javax.xml.stream.XMLStreamException
- *
- * @see OMDataSource#serialize(java.io.OutputStream,
org.apache.axiom.om.OMOutputFormat)
- */
- public void serialize(OutputStream output, OMOutputFormat format) throws
XMLStreamException {
- XMLStreamWriter xmlStreamWriter =
StAXUtils.createXMLStreamWriter(output);
- serialize(xmlStreamWriter);
- xmlStreamWriter.flush();
- }
-
- /**
- * @param writer
- * @param format
- * @throws XMLStreamException
- * @see OMDataSource#serialize(java.io.Writer,
org.apache.axiom.om.OMOutputFormat)
- */
- public void serialize(Writer writer, OMOutputFormat format) throws
XMLStreamException {
- XMLStreamWriter xmlStreamWriter =
StAXUtils.createXMLStreamWriter(writer);
- serialize(xmlStreamWriter);
- xmlStreamWriter.flush();
- }
-
/**
* This needs to be generated inside the ADB bean
*
@@ -96,16 +53,6 @@ public class ADBHelperDataSource<T> impl
}
/**
- * @throws XMLStreamException
- * @see org.apache.axiom.om.OMDataSource#getReader()
- */
- public XMLStreamReader getReader() throws XMLStreamException {
- MTOMAwareOMBuilder mtomAwareOMBuilder = new MTOMAwareOMBuilder();
- serialize(mtomAwareOMBuilder);
- return mtomAwareOMBuilder.getOMElement().getXMLStreamReader();
- }
-
- /**
* Returns the backing Object.
* @return Object
*/
@@ -114,84 +61,10 @@ public class ADBHelperDataSource<T> impl
}
/**
- * Returns true if reading the backing object is destructive.
- * An example of an object with a destructive read is an InputSteam.
- * The owning OMSourcedElement uses this information to detemine if OM tree
- * expansion is needed when reading the OMDataSourceExt.
- * @return boolean
- */
- public boolean isDestructiveRead() {
- return false;
- }
-
- /**
- * Returns true if writing the backing object is destructive.
- * An example of an object with a destructive write is an InputStream.
- * The owning OMSourcedElement uses this information to detemine if OM tree
- * expansion is needed when writing the OMDataSourceExt.
- * @return boolean
- */
- public boolean isDestructiveWrite() {
- return false;
- }
-
- /**
- * Returns a InputStream representing the xml data
- * @param encoding String encoding of InputStream
- * @return InputStream
- */
- public InputStream getXMLInputStream(String encoding) throws
UnsupportedEncodingException {
- return new ByteArrayInputStream(getXMLBytes(encoding));
- }
-
- /**
- * Returns a byte[] representing the xml data
- * @param encoding String encoding of InputStream
- * @return byte[]
- * @see getXMLInputStream
- */
- public byte[] getXMLBytes(String encoding) throws
UnsupportedEncodingException {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- OMOutputFormat format = new OMOutputFormat();
- format.setCharSetEncoding(encoding);
- try {
- serialize(baos, format);
- } catch (XMLStreamException e) {
- new OMException(e);
- }
- return baos.toByteArray();
- }
-
- /**
* Close the DataSource and free its resources.
*/
public void close() {
parentQName = null;
bean = null;
}
-
- public OMDataSourceExt copy() {
- return null;
- }
-
- public Object getProperty(String key) {
- if (map == null) {
- return null;
- }
- return map.get(key);
- }
-
- public Object setProperty(String key, Object value) {
- if (map == null) {
- map = new HashMap();
- }
- return map.put(key, value);
- }
-
- public boolean hasProperty(String key) {
- if (map == null) {
- return false;
- }
- return map.containsKey(key);
- }
}
Added:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/AbstractADBDataSource.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/AbstractADBDataSource.java?rev=1334568&view=auto
==============================================================================
---
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/AbstractADBDataSource.java
(added)
+++
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/AbstractADBDataSource.java
Sun May 6 07:23:24 2012
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.databinding;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axiom.om.OMDataSource;
+import org.apache.axiom.om.OMDataSourceExt;
+import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axis2.databinding.utils.writer.MTOMAwareOMBuilder;
+
+public abstract class AbstractADBDataSource implements OMDataSourceExt {
+ protected QName parentQName;
+
+ HashMap map = null; // Map of properties
+
+ public AbstractADBDataSource(QName parentQName) {
+ this.parentQName = parentQName;
+ }
+
+ /**
+ * @param output
+ * @param format
+ * @throws XMLStreamException
+ * @see OMDataSource#serialize(java.io.OutputStream,
org.apache.axiom.om.OMOutputFormat)
+ */
+ public void serialize(OutputStream output, OMOutputFormat format) throws
XMLStreamException {
+ XMLStreamWriter xmlStreamWriter =
StAXUtils.createXMLStreamWriter(output);
+ serialize(xmlStreamWriter);
+ xmlStreamWriter.flush();
+ }
+
+ /**
+ * @param writer
+ * @param format
+ * @throws XMLStreamException
+ * @see OMDataSource#serialize(java.io.Writer,
org.apache.axiom.om.OMOutputFormat)
+ */
+ public void serialize(Writer writer, OMOutputFormat format) throws
XMLStreamException {
+ XMLStreamWriter xmlStreamWriter =
StAXUtils.createXMLStreamWriter(writer);
+ serialize(xmlStreamWriter);
+ xmlStreamWriter.flush();
+ }
+
+ /**
+ * @throws XMLStreamException
+ * @see org.apache.axiom.om.OMDataSource#getReader()
+ */
+ public XMLStreamReader getReader() throws XMLStreamException {
+ MTOMAwareOMBuilder mtomAwareOMBuilder = new MTOMAwareOMBuilder();
+ serialize(mtomAwareOMBuilder);
+ return mtomAwareOMBuilder.getOMElement().getXMLStreamReader();
+ }
+
+ /**
+ * Returns true if reading the backing object is destructive.
+ * An example of an object with a destructive read is an InputSteam.
+ * The owning OMSourcedElement uses this information to detemine if OM tree
+ * expansion is needed when reading the OMDataSourceExt.
+ * @return boolean
+ */
+ public boolean isDestructiveRead() {
+ return false;
+ }
+
+ /**
+ * Returns true if writing the backing object is destructive.
+ * An example of an object with a destructive write is an InputStream.
+ * The owning OMSourcedElement uses this information to detemine if OM tree
+ * expansion is needed when writing the OMDataSourceExt.
+ * @return boolean
+ */
+ public boolean isDestructiveWrite() {
+ return false;
+ }
+
+ /**
+ * Returns a InputStream representing the xml data
+ * @param encoding String encoding of InputStream
+ * @return InputStream
+ */
+ public InputStream getXMLInputStream(String encoding) throws
UnsupportedEncodingException {
+ return new ByteArrayInputStream(getXMLBytes(encoding));
+ }
+
+ /**
+ * Returns a byte[] representing the xml data
+ * @param encoding String encoding of InputStream
+ * @return byte[]
+ * @see getXMLInputStream
+ */
+ public byte[] getXMLBytes(String encoding) throws
UnsupportedEncodingException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ OMOutputFormat format = new OMOutputFormat();
+ format.setCharSetEncoding(encoding);
+ try {
+ serialize(baos, format);
+ } catch (XMLStreamException e) {
+ new OMException(e);
+ }
+ return baos.toByteArray();
+ }
+
+ public OMDataSourceExt copy() {
+ return null;
+ }
+
+ public Object getProperty(String key) {
+ if (map == null) {
+ return null;
+ }
+ return map.get(key);
+ }
+
+ public Object setProperty(String key, Object value) {
+ if (map == null) {
+ map = new HashMap();
+ }
+ return map.put(key, value);
+ }
+
+ public boolean hasProperty(String key) {
+ if (map == null) {
+ return false;
+ }
+ return map.containsKey(key);
+ }
+}
Propchange:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/AbstractADBDataSource.java
------------------------------------------------------------------------------
svn:eol-style = native