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