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


Reply via email to