You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/12/01 05:23:03 UTC

svn commit: r350154 - in /webservices/axis2/trunk/java/modules: core/src/org/apache/axis2/transport/ core/src/org/apache/axis2/transport/http/ saaj/src/org/apache/axis2/om/impl/dom/ saaj/src/org/apache/axis2/saaj/ xml/src/org/apache/axis2/om/ xml/src/o...

Author: dims
Date: Wed Nov 30 20:22:50 2005
New Revision: 350154

URL: http://svn.apache.org/viewcvs?rev=350154&view=rev
Log:
- Replace more instances of OMOutputImpl with OMOutputFormat, Get rid of them if possible.
- testCharsetEncodingUTF_16 was coded wrong, fixed it.
- Added flush(es) in OMNodeImpl and NodeImpl
- OMOutputImpl constructor takes OMOutputFormat, not just the optimize flag. Need it to set the correct charset encoding
- Cleanup stuff in OMOutputImpl
- Simplify casts for OMNodeEx where possible


Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/AbstractTransportSender.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DOMSerializerUtil.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ElementImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/NodeImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
    webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMOutputFormat.java
    webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/OMOutputImpl.java
    webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java
    webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
    webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMNodeImpl.java
    webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
    webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/MIMEOutputUtilsTest.java
    webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMDocumentSerilizationTest.java
    webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMOutputTest.java
    webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTest.java
    webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/AbstractTransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/AbstractTransportSender.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/AbstractTransportSender.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/AbstractTransportSender.java Wed Nov 30 20:22:50 2005
@@ -27,6 +27,7 @@
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMOutputFormat;
 import org.apache.axis2.om.impl.OMOutputImpl;
 import org.apache.axis2.om.impl.OMNodeEx;
 import org.apache.axis2.soap.SOAPEnvelope;
@@ -50,8 +51,6 @@
      */
     private Log log = LogFactory.getLog(getClass());
 
-    protected OMOutputImpl omOutput = new OMOutputImpl();
-
     /**
      * Field NAME
      */
@@ -134,13 +133,13 @@
 
         if (outputMessage != null) {
             try {
-            	//Pick the char set encoding from the msgContext
+                OMOutputFormat format = new OMOutputFormat();
+                //Pick the char set encoding from the msgContext
                 String charSetEnc = (String) msgContext
 						.getProperty(MessageContext.CHARACTER_SET_ENCODING);
-				omOutput.setOutputStream(out, msgContext.isDoingMTOM());
-                omOutput.setCharSetEncoding(charSetEnc);
-				((OMNodeEx)outputMessage).serializeAndConsume(omOutput);
-                omOutput.flush();
+                format.setDoOptimize(msgContext.isDoingMTOM());
+                format.setCharSetEncoding(charSetEnc);
+				((OMNodeEx)outputMessage).serializeAndConsume(out, format);
                 out.flush();
             } catch (Exception e) {
                 throw new AxisFault(e);

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java Wed Nov 30 20:22:50 2005
@@ -31,6 +31,7 @@
 import org.apache.axis2.om.OMAbstractFactory;
 import org.apache.axis2.om.OMAttribute;
 import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMOutputFormat;
 import org.apache.axis2.om.impl.OMOutputImpl;
 import org.apache.axis2.om.impl.OMNodeEx;
 import org.apache.axis2.soap.SOAP11Constants;
@@ -88,7 +89,7 @@
 
     protected OMElement outputMessage;
 
-    protected OMOutputImpl omOutput = new OMOutputImpl();
+    protected OMOutputFormat format = new OMOutputFormat();
 
     /**
      * proxydiscription
@@ -175,7 +176,7 @@
                     (String) msgContext.getProperty(
                             MessageContext.CHARACTER_SET_ENCODING);
             if (charSetEnc != null) {
-                omOutput.setCharSetEncoding(charSetEnc);
+                format.setCharSetEncoding(charSetEnc);
             } else {
                 OperationContext opctx = msgContext.getOperationContext();
                 if (opctx != null) {
@@ -189,10 +190,10 @@
                 charSetEnc = MessageContext.DEFAULT_CHAR_SET_ENCODING;
             }
             msgContext.setDoingMTOM(HTTPTransportUtils.doWriteMTOM(msgContext));
-            omOutput.setSoap11(msgContext.isSOAP11());
-            omOutput.setDoOptimize(msgContext.isDoingMTOM());
+            format.setSOAP11(msgContext.isSOAP11());
+            format.setDoOptimize(msgContext.isDoingMTOM());
 
-            omOutput.setCharSetEncoding(charSetEnc);
+            format.setCharSetEncoding(charSetEnc);
 
             // Trasnport URL can be different from the WSA-To. So processing that now.
             EndpointReference epr = null;
@@ -243,18 +244,17 @@
                             (HTTPOutTransportInfo) msgContext.getProperty(
                                     HTTPConstants.HTTPOutTransportInfo);
                     if (transportInfo != null) {
-                        omOutput.setSoap11(msgContext.isSOAP11());
+                        format.setSOAP11(msgContext.isSOAP11());
                         //this is the servlet2.3 way of setting encodings
                         String contentType = findContentType(isRest, msgContext);
-                        String encoding = contentType + "; charset=" + omOutput.getCharSetEncoding();
+                        String encoding = contentType + "; charset=" + format.getCharSetEncoding();
                         transportInfo.setContentType(encoding);
                     } else {
                         throw new AxisFault(HTTPConstants.HTTPOutTransportInfo + " does not set");
                     }
                 }
-                omOutput.setOutputStream(out, msgContext.isDoingMTOM());
-                ((OMNodeEx)dataOut).serializeAndConsume(omOutput);
-                omOutput.flush();
+                format.setDoOptimize(msgContext.isDoingMTOM());
+                ((OMNodeEx)dataOut).serializeAndConsume(out, format);
             }
             if (msgContext.getOperationContext() != null) {
                 msgContext.getOperationContext().setProperty(
@@ -282,7 +282,7 @@
                 return "application/xml";
             }
         } else {
-            return omOutput.getContentType();
+            return format.getContentType();
         }
     }
 
@@ -405,21 +405,15 @@
                 ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
 
                 if (!doingMTOM) {
-                    XMLStreamWriter outputWriter =
-                            XMLOutputFactory.newInstance()
-                                    .createXMLStreamWriter(bytesOut,
-                                            charSetEnc);
-                    OMOutputImpl output = new OMOutputImpl(outputWriter);
-                    output.setCharSetEncoding(charSetEnc);
-                    ((OMNodeEx)element).serializeAndConsume(output);
-                    output.flush();
+                    OMOutputFormat format2 = new OMOutputFormat();
+                    format2.setCharSetEncoding(charSetEnc);
+                    element.serializeAndConsume(bytesOut, format2);
                     return bytesOut.toByteArray();
 
                 } else {
-                    omOutput.setCharSetEncoding(charSetEnc);
-                    omOutput.setOutputStream(bytesOut, true);  //changed...
-                    ((OMNodeEx)element).serializeAndConsume(omOutput);
-                    omOutput.flush();
+                    format.setCharSetEncoding(charSetEnc);
+                    format.setDoOptimize(true);
+                    element.serializeAndConsume(bytesOut, format);
                     return bytesOut.toByteArray();
                 }
             } catch (XMLStreamException e) {
@@ -431,14 +425,13 @@
 
         private void handleOMOutput(OutputStream out, boolean doingMTOM)
                 throws XMLStreamException {
-            omOutput.setOutputStream(out, doingMTOM);
-            ((OMNodeEx)element).serializeAndConsume(omOutput);
-            omOutput.flush();
+            format.setDoOptimize(doingMTOM);
+            element.serializeAndConsume(out, format);
         }
 
         public void writeRequest(OutputStream out) throws IOException {
             try {
-                if (doingMTOM) { //chagened ..
+                if (doingMTOM) { 
                     if (chuncked) {
                         this.handleOMOutput(out, doingMTOM);
                     } else {
@@ -496,8 +489,8 @@
 
         public String getContentType() {
 
-            String encoding = omOutput.getCharSetEncoding();
-            String contentType = omOutput.getContentType();
+            String encoding = format.getCharSetEncoding();
+            String contentType = format.getContentType();
             if (encoding != null) {
                 contentType += "; charset=" + encoding;
             }

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DOMSerializerUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DOMSerializerUtil.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DOMSerializerUtil.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DOMSerializerUtil.java Wed Nov 30 20:22:50 2005
@@ -32,9 +32,4 @@
 	public void serializeEndPart(OMOutputImpl output) throws XMLStreamException {
 		output.getXmlStreamWriter().writeEndElement();
 	}
-	
-	
-    //static void serializeAttribute(AttributeI attr, OMOutput omOutput) throws XMLStreamException {
-	
-	
 }

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ElementImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ElementImpl.java Wed Nov 30 20:22:50 2005
@@ -866,9 +866,7 @@
 	
     public String toStringWithConsume() throws XMLStreamException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        OMOutputImpl out = new OMOutputImpl(baos, false);
-        this.serializeAndConsume(out);
-        out.flush();
+        this.serializeAndConsume(baos);
         return new String(baos.toByteArray());
     }
     

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/NodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/NodeImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/NodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/NodeImpl.java Wed Nov 30 20:22:50 2005
@@ -450,7 +450,6 @@
 
     /**
      * Build next element
-     * @see org.apache.axis.om.OMNode#build()
      */
     public void build() {
         while (!done)
@@ -564,26 +563,28 @@
     }
 
     public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {    
-        OMOutputImpl omOutput = new  OMOutputImpl(output, false);
-        omOutput.setOutputFormat(format);
+        OMOutputImpl omOutput = new  OMOutputImpl(output, format);
         serialize(omOutput);
+        omOutput.flush();
     }
 
     public void serialize(Writer writer, OMOutputFormat format) throws XMLStreamException {
         OMOutputImpl omOutput = new  OMOutputImpl(XMLOutputFactory.newInstance().createXMLStreamWriter(writer));
         omOutput.setOutputFormat(format);
         serialize(omOutput);
+        omOutput.flush();
     }
 
     public void serializeAndConsume(OutputStream output, OMOutputFormat format) throws XMLStreamException {
-        OMOutputImpl omOutput = new  OMOutputImpl(output, false);
-        omOutput.setOutputFormat(format);
+        OMOutputImpl omOutput = new  OMOutputImpl(output, format);
         serializeAndConsume(omOutput);
+        omOutput.flush();
     }
 
     public void serializeAndConsume(Writer writer, OMOutputFormat format) throws XMLStreamException {
         OMOutputImpl omOutput = new  OMOutputImpl(XMLOutputFactory.newInstance().createXMLStreamWriter(writer));
         omOutput.setOutputFormat(format);
         serializeAndConsume(omOutput);
+        omOutput.flush();
     }
 }

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java Wed Nov 30 20:22:50 2005
@@ -17,6 +17,7 @@
 
 import org.apache.axis2.om.impl.OMOutputImpl;
 import org.apache.axis2.om.impl.OMNodeEx;
+import org.apache.axis2.om.OMOutputFormat;
 import org.apache.axis2.transport.http.HTTPConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -244,17 +245,15 @@
      */
     public void writeTo(OutputStream out) throws SOAPException, IOException {
         try {
-            OMOutputImpl output = new OMOutputImpl();
-            output.setCharSetEncoding((String)getProperty(CHARACTER_SET_ENCODING));
+            OMOutputFormat format = new OMOutputFormat();
+            format.setCharSetEncoding((String)getProperty(CHARACTER_SET_ENCODING));
             String writeXmlDecl = (String)getProperty(WRITE_XML_DECLARATION);
             if(writeXmlDecl==null || writeXmlDecl.equals("false")) { //SAAJ default case doesn't send XML decl
-            	output.setIgnoreXMLDeclaration(true);
+            	format.setIgnoreXMLDeclaration(true);
             }
-            output.setOutputStream(out, false);
             //the writeTo method forces the elements to be built!!!
-            ((OMNodeEx)((SOAPEnvelopeImpl) mSOAPPart.getEnvelope()).getOMEnvelope())
-                    .serialize(output);
-            output.flush();
+            ((SOAPEnvelopeImpl) mSOAPPart.getEnvelope()).getOMEnvelope()
+                    .serialize(out, format);
         } catch (Exception e) {
             throw new SOAPException(e);
         }

Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMOutputFormat.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMOutputFormat.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMOutputFormat.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMOutputFormat.java Wed Nov 30 20:22:50 2005
@@ -120,7 +120,7 @@
         this.xmlVersion = xmlVersion;
     }
 
-    public void setSSOAP11(boolean b) {
+    public void setSOAP11(boolean b) {
         isSoap11 = b;
     }
     

Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/OMOutputImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/OMOutputImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/OMOutputImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/OMOutputImpl.java Wed Nov 30 20:22:50 2005
@@ -38,47 +38,37 @@
 public class OMOutputImpl {
     private XMLStreamWriter xmlWriter;
     private OutputStream outStream;
-    private LinkedList binaryNodeList;
+    private LinkedList binaryNodeList = new LinkedList();
     private ByteArrayOutputStream bufferedSoapOutStream;
     private OMOutputFormat format = new OMOutputFormat();
 
-    public OMOutputImpl() {
-    }
-
     public OMOutputImpl(XMLStreamWriter xmlWriter) {
         this.xmlWriter = xmlWriter;
     }
 
     /**
-     * This creates a new OMOutputImpl with default encoding
+     * This creates a new OMOutputImpl with specified encoding
      *
      * @param outStream
-     * @param doOptimize
+     * @param format
      * @throws XMLStreamException
      * @throws FactoryConfigurationError
      * @see OMOutputFormat#DEFAULT_CHAR_SET_ENCODING
      */
-    public OMOutputImpl(OutputStream outStream, boolean doOptimize)
+    public OMOutputImpl(OutputStream outStream, OMOutputFormat format)
             throws XMLStreamException, FactoryConfigurationError {
-        setOutputStream(outStream, doOptimize);
-    }
-
-    public void setOutputStream(OutputStream outStream, boolean doOptimize)
-            throws XMLStreamException, FactoryConfigurationError {
-
-        format.setDoOptimize(doOptimize);
+        this.format = format;
         this.outStream = outStream;
 
         if (format.getCharSetEncoding() == null) //Default encoding is UTF-8
             format.setCharSetEncoding(OMOutputFormat.DEFAULT_CHAR_SET_ENCODING);
 
         XMLOutputFactory factory = XMLOutputFactory.newInstance();
-        //factory.setProperty("javax.xml.stream.isRepairingNamespaces", Boolean.TRUE);
-        if (doOptimize) {
+
+        if (format.isOptimized()) {
             bufferedSoapOutStream = new ByteArrayOutputStream();
             xmlWriter = factory.createXMLStreamWriter(bufferedSoapOutStream,
                     format.getCharSetEncoding());
-            binaryNodeList = new LinkedList();
         } else {
             xmlWriter = factory.createXMLStreamWriter(outStream,
                     format.getCharSetEncoding());
@@ -98,8 +88,8 @@
                     outStream,
                     bufferedSoapOutStream,
                     binaryNodeList,
-                    getMimeBoundary(),
-                    getRootContentId(),
+                    format.getMimeBoundary(),
+                    format.getRootContentId(),
                     format.getCharSetEncoding(), SOAPContentType);
         }
     }
@@ -109,24 +99,7 @@
     }
 
     public String getContentType() {
-        String SOAPContentType;
-        if (isOptimized()) {
-            if (format.isSOAP11()) {
-                SOAPContentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;
-            } else {
-                SOAPContentType = SOAP12Constants.SOAP_12_CONTENT_TYPE;
-            }
-            return MIMEOutputUtils.getContentTypeForMime(
-                    getMimeBoundary(),
-                    getRootContentId(),
-                    this.getCharSetEncoding(), SOAPContentType);
-        } else {
-            if (!format.isSOAP11()) {
-                return SOAP12Constants.SOAP_12_CONTENT_TYPE;
-            } else {
-                return SOAP11Constants.SOAP_11_CONTENT_TYPE;
-            }
-        }
+        return format.getContentType();
     }
 
     public void writeOptimized(OMText node) {
@@ -175,11 +148,8 @@
         format.setXmlVersion(xmlVersion);
     }
 
-    /**
-     * @param b
-     */
     public void setSoap11(boolean b) {
-        format.setSSOAP11(b);
+        format.setSOAP11(b);
     }
 
     public boolean isIgnoreXMLDeclaration() {
@@ -190,19 +160,11 @@
         format.setIgnoreXMLDeclaration(ignoreXMLDeclaration);
     }
 
-
-    /**
-     * @param b
-     */
     public void setDoOptimize(boolean b) {
         format.setDoOptimize(b);
     }
-    
-    public OMOutputFormat getOutputFormat() {
-        return format;
-    }
-    
+
     public void setOutputFormat(OMOutputFormat format) {
-        this.format = format;        
+        this.format = format;
     }
 }

Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java Wed Nov 30 20:22:50 2005
@@ -319,7 +319,7 @@
      * @throws XMLStreamException
      */
     public void serializeAndConsume(OutputStream output) throws XMLStreamException {
-        OMOutputImpl omOutput = new OMOutputImpl(output,false);
+        OMOutputImpl omOutput = new OMOutputImpl(output, new OMOutputFormat());
         serializeAndConsume(omOutput);
         omOutput.flush();
     }
@@ -331,7 +331,7 @@
      * @throws XMLStreamException
      */
     public void serialize(OutputStream output) throws XMLStreamException {
-        OMOutputImpl omOutput = new OMOutputImpl(output,false);
+        OMOutputImpl omOutput = new OMOutputImpl(output, new OMOutputFormat());
         serialize(omOutput);
         omOutput.flush();
     }
@@ -344,8 +344,7 @@
      * @throws XMLStreamException
      */
     public void serializeAndConsume(OutputStream output, OMOutputFormat format) throws XMLStreamException {
-        OMOutputImpl omOutput = new OMOutputImpl(output,false);
-        omOutput.setOutputFormat(format);
+        OMOutputImpl omOutput = new OMOutputImpl(output, format);
         serializeAndConsume(omOutput);
         omOutput.flush();
     }
@@ -358,8 +357,7 @@
      * @throws XMLStreamException
      */
     public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {
-        OMOutputImpl omOutput = new OMOutputImpl(output,false);
-        omOutput.setOutputFormat(format);
+        OMOutputImpl omOutput = new OMOutputImpl(output, format);
         serialize(omOutput);
         omOutput.flush();
     }

Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java Wed Nov 30 20:22:50 2005
@@ -805,19 +805,14 @@
 
     public String toStringWithConsume() throws XMLStreamException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        OMOutputImpl out = new OMOutputImpl(baos, false);
-        this.serializeAndConsume(out);
-        out.flush();
+        this.serializeAndConsume(baos);
         return new String(baos.toByteArray());
     }
 
     public String toString() {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        OMOutputImpl out = null;
         try {
-            out = new OMOutputImpl(baos, false);
-            this.serialize(out);
-            out.flush();
+            this.serialize(baos);
         } catch (XMLStreamException e) {
             // can not throw out an exception here. Can't do anything other than logging
             // and swallowing this :(

Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMNodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMNodeImpl.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMNodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMNodeImpl.java Wed Nov 30 20:22:50 2005
@@ -357,26 +357,28 @@
     }
 
     public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {    
-        OMOutputImpl omOutput = new  OMOutputImpl(output, false);
-        omOutput.setOutputFormat(format);
+        OMOutputImpl omOutput = new  OMOutputImpl(output, format);
         serialize(omOutput);
+        omOutput.flush();
     }
 
     public void serialize(Writer writer, OMOutputFormat format) throws XMLStreamException {
         OMOutputImpl omOutput = new  OMOutputImpl(XMLOutputFactory.newInstance().createXMLStreamWriter(writer));
         omOutput.setOutputFormat(format);
         serialize(omOutput);
+        omOutput.flush();
     }
 
     public void serializeAndConsume(OutputStream output, OMOutputFormat format) throws XMLStreamException {
-        OMOutputImpl omOutput = new  OMOutputImpl(output, false);
-        omOutput.setOutputFormat(format);
+        OMOutputImpl omOutput = new  OMOutputImpl(output, format);
         serializeAndConsume(omOutput);
+        omOutput.flush();
     }
 
     public void serializeAndConsume(Writer writer, OMOutputFormat format) throws XMLStreamException {
         OMOutputImpl omOutput = new  OMOutputImpl(XMLOutputFactory.newInstance().createXMLStreamWriter(writer));
         omOutput.setOutputFormat(format);
         serializeAndConsume(omOutput);
+        omOutput.flush();
     }
 }

Modified: webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java (original)
+++ webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java Wed Nov 30 20:22:50 2005
@@ -21,6 +21,7 @@
 import org.apache.axis2.om.AbstractTestCase;
 import org.apache.axis2.om.OMElement;
 import org.apache.axis2.om.OMText;
+import org.apache.axis2.om.OMOutputFormat;
 import org.apache.axis2.om.impl.OMOutputImpl;
 import org.apache.axis2.om.impl.OMNodeEx;
 import org.apache.axis2.om.impl.llom.OMElementImpl;
@@ -76,10 +77,10 @@
 
         outMTOMFile = new File(outFileName);
         outBase64File = new File(outBase64FileName);
-        org.apache.axis2.om.impl.OMOutputImpl mtomOutput = new OMOutputImpl(new FileOutputStream(outMTOMFile),
-                true);
-        org.apache.axis2.om.impl.OMOutputImpl baseOutput = new OMOutputImpl(new FileOutputStream(outBase64File),
-                false);
+        OMOutputFormat mtomOutputFormat = new OMOutputFormat();
+        mtomOutputFormat.setDoOptimize(true); 
+        OMOutputFormat baseOutputFormat = new OMOutputFormat();
+        baseOutputFormat.setDoOptimize(false);
 
         OMNamespaceImpl soap = new OMNamespaceImpl(
                 "http://schemas.xmlsoap.org/soap/envelope/", "soap");
@@ -103,11 +104,8 @@
         body.addChild(data);
         data.addChild(binaryNode);
 
-        ((OMNodeEx)envelope).serializeAndConsume(baseOutput);
-        baseOutput.flush();
-
-        ((OMNodeEx)envelope).serializeAndConsume(mtomOutput);
-        mtomOutput.flush();
+        envelope.serializeAndConsume(new FileOutputStream(outBase64File), baseOutputFormat);
+        envelope.serializeAndConsume(new FileOutputStream(outMTOMFile), mtomOutputFormat);
     }
 
     public void testImageSampleDeserialize() throws Exception {

Modified: webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/MIMEOutputUtilsTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/MIMEOutputUtilsTest.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/MIMEOutputUtilsTest.java (original)
+++ webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/MIMEOutputUtilsTest.java Wed Nov 30 20:22:50 2005
@@ -44,7 +44,7 @@
         ByteArrayOutputStream outStream;
         String boundary;
         
-        OMOutputImpl omOutput = new OMOutputImpl(null);
+        OMOutputFormat omOutput = new OMOutputFormat();
         boundary = omOutput.getMimeBoundary();
 
         String contentType = org.apache.axis2.om.impl.MIMEOutputUtils

Modified: webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMDocumentSerilizationTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMDocumentSerilizationTest.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMDocumentSerilizationTest.java (original)
+++ webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMDocumentSerilizationTest.java Wed Nov 30 20:22:50 2005
@@ -26,67 +26,68 @@
 
 import javax.xml.stream.XMLStreamException;
 import java.io.ByteArrayOutputStream;
+import java.io.UnsupportedEncodingException;
 
 /**
  * This tests the serializeAndConsume method
  */
 public class OMDocumentSerilizationTest extends TestCase {
 
-	private OMDocument document;
-	private String xmlDeclStart = "<?xml";
-	private String encoding = "encoding='UTF-8'";
-	private String encoding_UTF16 = "encoding='UTF-16'";
+    private OMDocument document;
+    private String xmlDeclStart = "<?xml";
+    private String encoding = "encoding='UTF-8'";
+    private String encoding_UTF16 = "encoding='UTF-16'";
     private String encoding2 = "encoding=\"UTF-8\"";
     private String encoding2_UTF16 = "encoding=\"UTF-16\"";
-	private String version = "version='1.0'";
-	private String version_11 = "version='1.1'";
+    private String version = "version='1.0'";
+    private String version_11 = "version='1.1'";
     private String version2 = "version=\"1.0\"";
     private String version2_11 = "version=\"1.1\"";
 
-	public void setUp() {
-		OMFactory factory = OMAbstractFactory.getOMFactory();
-		
-		OMNamespace namespace = factory.createOMNamespace("http://testuri.org","test");
-		OMElement documentElement = factory.createOMElement("DocumentElement",namespace);
-		
-		OMElement child1 = factory.createOMElement("Child1",namespace);
-		child1.setText("TestText");
-		documentElement.addChild(child1);
-		
-		document = factory.createOMDocument();
-		document.setOMDocumentElement(documentElement);
-		
-	}
-	
-	public OMDocumentSerilizationTest(String name) {
-		super(name);
-	}
-
-	
-	public void testXMLDecleration() throws XMLStreamException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		document.serializeAndConsume(baos);
-		
-		String xmlDocument = new String(baos.toByteArray());
-		
-		assertTrue("XML Declaration missing",-1<xmlDocument.indexOf(xmlDeclStart));
-	}
-	
-	public void testExcludeXMLDeclaration() throws XMLStreamException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		OMOutputFormat format = new OMOutputFormat();
+    public void setUp() {
+        OMFactory factory = OMAbstractFactory.getOMFactory();
+
+        OMNamespace namespace = factory.createOMNamespace("http://testuri.org","test");
+        OMElement documentElement = factory.createOMElement("DocumentElement",namespace);
+
+        OMElement child1 = factory.createOMElement("Child1",namespace);
+        child1.setText("TestText");
+        documentElement.addChild(child1);
+
+        document = factory.createOMDocument();
+        document.setOMDocumentElement(documentElement);
+
+    }
+
+    public OMDocumentSerilizationTest(String name) {
+        super(name);
+    }
+
+
+    public void testXMLDecleration() throws XMLStreamException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        document.serializeAndConsume(baos);
+
+        String xmlDocument = new String(baos.toByteArray());
+
+        assertTrue("XML Declaration missing",-1<xmlDocument.indexOf(xmlDeclStart));
+    }
+
+    public void testExcludeXMLDeclaration() throws XMLStreamException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        OMOutputFormat format = new OMOutputFormat();
         format.setIgnoreXMLDeclaration(true);
         document.serializeAndConsume(baos, format);
-		
-		String xmlDocument = new String(baos.toByteArray());
-		
-		assertTrue(
-				"XML Declaration is included when serilizing without the declaration",
-				-1 == xmlDocument.indexOf(xmlDeclStart));
-	}
-	
-	public void testCharsetEncoding() throws XMLStreamException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+        String xmlDocument = new String(baos.toByteArray());
+
+        assertTrue(
+                "XML Declaration is included when serilizing without the declaration",
+                -1 == xmlDocument.indexOf(xmlDeclStart));
+    }
+
+    public void testCharsetEncoding() throws XMLStreamException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
         document.serializeAndConsume(baos);
 
         String xmlDocument = new String(baos.toByteArray());
@@ -95,36 +96,36 @@
                                                  -1 < xmlDocument.indexOf(encoding.toLowerCase()) ||
                                                  -1 < xmlDocument.indexOf(encoding2.toLowerCase()) ||
                                                  -1 < xmlDocument.indexOf(encoding2));
-	}
-	
-	public void testCharsetEncodingUTF_16() throws XMLStreamException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		OMOutputFormat format = new OMOutputFormat();
-		format.setCharSetEncoding("UTF-16");
-		document.serializeAndConsume(baos, format);
-		
-		String xmlDocument = new String(baos.toByteArray());
-		assertTrue("Charset declaration missing",-1<xmlDocument.indexOf(encoding_UTF16) ||
+    }
+
+    public void testCharsetEncodingUTF_16() throws XMLStreamException, UnsupportedEncodingException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        OMOutputFormat format = new OMOutputFormat();
+        format.setCharSetEncoding("UTF-16");
+        document.serializeAndConsume(baos, format);
+
+        String xmlDocument = new String(baos.toByteArray(),"UTF-16");
+        assertTrue("Charset declaration missing",-1<xmlDocument.indexOf(encoding_UTF16) ||
                                                  -1<xmlDocument.indexOf(encoding2_UTF16));
-	}
-		
-	
-	public void testXMLVersion() throws XMLStreamException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		document.serializeAndConsume(baos);
-		
-		String xmlDocument = new String(baos.toByteArray());
-		assertTrue("Charset declaration missing",-1<xmlDocument.indexOf(version) ||
+    }
+
+
+    public void testXMLVersion() throws XMLStreamException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        document.serializeAndConsume(baos);
+
+        String xmlDocument = new String(baos.toByteArray());
+        assertTrue("Charset declaration missing",-1<xmlDocument.indexOf(version) ||
                                                  -1<xmlDocument.indexOf(version2));
-	}
+    }
 
-	public void testXMLVersion_11() throws XMLStreamException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		document.setXMLVersion("1.1");
-		document.serializeAndConsume(baos);
-		
-		String xmlDocument = new String(baos.toByteArray());
-		assertTrue("Charset declaration missing",-1<xmlDocument.indexOf(version_11) ||
+    public void testXMLVersion_11() throws XMLStreamException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        document.setXMLVersion("1.1");
+        document.serializeAndConsume(baos);
+
+        String xmlDocument = new String(baos.toByteArray());
+        assertTrue("Charset declaration missing",-1<xmlDocument.indexOf(version_11) ||
                                                  -1<xmlDocument.indexOf(version2_11));
-	}
+    }
 }

Modified: webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMOutputTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMOutputTest.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMOutputTest.java (original)
+++ webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/OMOutputTest.java Wed Nov 30 20:22:50 2005
@@ -20,6 +20,7 @@
 import org.apache.axis2.om.AbstractTestCase;
 import org.apache.axis2.om.OMAttribute;
 import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMOutputFormat;
 import org.apache.axis2.om.impl.OMNodeEx;
 
 import javax.activation.DataHandler;
@@ -99,16 +100,12 @@
     }
 
     public void testComplete() throws Exception {
-
-        org.apache.axis2.om.impl.OMOutputImpl mtomOutput = new org.apache.axis2.om.impl.OMOutputImpl(new FileOutputStream(outMTOMFile),
-                true);
-        org.apache.axis2.om.impl.OMOutputImpl baseOutput = new org.apache.axis2.om.impl.OMOutputImpl(new FileOutputStream(outBase64File),
-                false);
-
-        ((OMNodeEx)envelope).serializeAndConsume(baseOutput);
-        baseOutput.flush();
-
-        ((OMNodeEx)envelope).serializeAndConsume(mtomOutput);
-        mtomOutput.flush();
+        OMOutputFormat mtomOutputFormat = new OMOutputFormat();
+        mtomOutputFormat.setDoOptimize(true);
+        OMOutputFormat baseOutputFormat = new OMOutputFormat();
+        baseOutputFormat.setDoOptimize(false);
+        
+        envelope.serializeAndConsume(new FileOutputStream(outBase64File), baseOutputFormat);
+        envelope.serializeAndConsume(new FileOutputStream(outMTOMFile), mtomOutputFormat);
     }
 }

Modified: webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTest.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTest.java (original)
+++ webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTest.java Wed Nov 30 20:22:50 2005
@@ -372,7 +372,6 @@
     public void testMoreChildrenAddition() {
         org.apache.axis2.om.impl.OMOutputImpl output = null;
         try {
-            output = new org.apache.axis2.om.impl.OMOutputImpl(System.out, false);
             SOAPFactory soapFactory = OMAbstractFactory.getSOAP12Factory();
             SOAPEnvelope envelope = soapFactory.getDefaultFaultEnvelope();
 

Modified: webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java?rev=350154&r1=350153&r2=350154&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java (original)
+++ webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java Wed Nov 30 20:22:50 2005
@@ -19,6 +19,7 @@
 import org.apache.axis2.om.OMAbstractFactory;
 import org.apache.axis2.om.OMElement;
 import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMOutputFormat;
 import org.apache.axis2.om.impl.OMOutputImpl;
 import org.apache.axis2.om.impl.OMNodeEx;
 import org.apache.axis2.soap.SOAPEnvelope;
@@ -64,12 +65,9 @@
 
 		ByteArrayOutputStream byteOutStr = new ByteArrayOutputStream();
 		
-		XMLStreamWriter writer = XMLOutputFactory
-				.newInstance().createXMLStreamWriter(byteOutStr,UTF_16);
-		OMOutputImpl outputImpl = new OMOutputImpl(writer);
-        outputImpl.setCharSetEncoding(UTF_16);
-		((OMNodeEx)envelope).serialize(outputImpl);
-		outputImpl.flush();
+		OMOutputFormat outputFormat = new OMOutputFormat();
+        outputFormat.setCharSetEncoding(UTF_16);
+		envelope.serialize(byteOutStr, outputFormat);
 		
 		ByteArrayInputStream byteInStr = new ByteArrayInputStream(byteOutStr.toByteArray());