You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ve...@apache.org on 2009/01/10 18:50:12 UTC

svn commit: r733304 - in /webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj: MimeHeadersEx.java SOAPMessageImpl.java SOAPPartImpl.java util/SAAJUtil.java

Author: veithen
Date: Sat Jan 10 09:50:12 2009
New Revision: 733304

URL: http://svn.apache.org/viewvc?rev=733304&view=rev
Log:
Eliminated MimeHeadersEx class. Rationale: the name suggests that it has some extended capabilities compared to MimeHeaders, but it actually only adds a constructor to create a new instance by copying the headers from an existing one. This is better done by using a static utility method.

Removed:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/MimeHeadersEx.java
Modified:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java?rev=733304&r1=733303&r2=733304&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 Sat Jan 10 09:50:12 2009
@@ -27,6 +27,7 @@
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
 import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
+import org.apache.axis2.saaj.util.SAAJUtil;
 import org.apache.axis2.transport.http.HTTPConstants;
 
 import javax.activation.DataHandler;
@@ -55,7 +56,7 @@
 
     private SOAPPart soapPart;
     private Collection<AttachmentPart> attachmentParts = new ArrayList<AttachmentPart>();
-    private MimeHeadersEx mimeHeaders;
+    private MimeHeaders mimeHeaders;
 
     private Map props = new Hashtable();
     private boolean saveRequired;
@@ -68,7 +69,7 @@
             String contentTypes[] = mimeHeaders.getHeader(HTTPConstants.CONTENT_TYPE);
             contentType = (contentTypes != null) ? contentTypes[0] : null;
         } else {
-            this.mimeHeaders = new MimeHeadersEx();
+            this.mimeHeaders = new MimeHeaders();
             if (soapEnvelope.getOMFactory() instanceof SOAP11Factory) {
                 contentType = HTTPConstants.MEDIA_TYPE_TEXT_XML;
                 this.mimeHeaders.addHeader("content-type", contentType);
@@ -107,8 +108,8 @@
         }
 
         this.mimeHeaders = (mimeHeaders == null) ?
-                new MimeHeadersEx() :
-                new MimeHeadersEx(mimeHeaders);
+                new MimeHeaders() :
+                SAAJUtil.copyMimeHeaders(mimeHeaders);
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java?rev=733304&r1=733303&r2=733304&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java Sat Jan 10 09:50:12 2009
@@ -82,13 +82,13 @@
     private Document document;
     private SOAPMessage soapMessage;
     private SOAPEnvelopeImpl envelope;
-    private MimeHeadersEx mimeHeaders = new MimeHeadersEx();
+    private MimeHeaders mimeHeaders = new MimeHeaders();
 
     public SOAPPartImpl(SOAPMessageImpl parentSoapMsg,
                         SOAPEnvelopeImpl soapEnvelope) {
         //setMimeHeader(HTTPConstants.HEADER_CONTENT_ID, IDGenerator.generateID());
         //setMimeHeader(HTTPConstants.HEADER_CONTENT_TYPE, "text/xml");
-        this.mimeHeaders = (MimeHeadersEx)parentSoapMsg.getMimeHeaders();
+        this.mimeHeaders = parentSoapMsg.getMimeHeaders();
         soapMessage = parentSoapMsg;
         envelope = soapEnvelope;
         document = soapEnvelope.getOwnerDocument();

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java?rev=733304&r1=733303&r2=733304&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java Sat Jan 10 09:50:12 2009
@@ -30,8 +30,12 @@
 import org.w3c.dom.Element;
 
 import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.soap.MimeHeader;
+import javax.xml.soap.MimeHeaders;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.util.Iterator;
 
 /** Utility class for the Axis2-WSS4J Module */
 public class SAAJUtil {
@@ -131,4 +135,20 @@
         factory.setNamespaceAware(true);
         return factory.newDocumentBuilder().parse(bais).getDocumentElement();
     }
+
+    /**
+     * Create a copy of an existing {@link MimeHeaders} object.
+     * 
+     * @param headers the object to copy
+     * @return a copy of the {@link MimeHeaders} object
+     */
+    public static MimeHeaders copyMimeHeaders(MimeHeaders headers) {
+        MimeHeaders result = new MimeHeaders();
+        Iterator iterator = headers.getAllHeaders();
+        while (iterator.hasNext()) {
+            MimeHeader hdr = (MimeHeader)iterator.next();
+            result.addHeader(hdr.getName(), hdr.getValue());
+        }
+        return result;
+    }
 }