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 19:02:36 UTC

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

Author: veithen
Date: Sat Jan 10 10:02:36 2009
New Revision: 733306

URL: http://svn.apache.org/viewvc?rev=733306&view=rev
Log:
Eliminated some duplicate code and take into account that content types are case insensitive.

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=733306&r1=733305&r2=733306&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 10:02:36 2009
@@ -91,13 +91,7 @@
             String contentTypes[] = mimeHeaders.getHeader(HTTPConstants.CONTENT_TYPE);
             if (contentTypes != null && contentTypes.length > 0) {
                 tmpContentType = contentTypes[0];
-                //tmpContentType can be like 'application/soap+xml; charset=UTF-8;'
-                //Only the first part is important
-                if (tmpContentType.indexOf(";") > -1) {
-                    contentType = tmpContentType.substring(0, tmpContentType.indexOf(";"));
-                } else {
-                    contentType = tmpContentType;
-                }
+                contentType = SAAJUtil.normalizeContentType(tmpContentType);
             }
         }
         initCharsetEncodingFromContentType(tmpContentType);

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=733306&r1=733305&r2=733306&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 10:02:36 2009
@@ -31,6 +31,7 @@
 import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
 import org.apache.axis2.builder.BuilderUtil;
 import org.apache.axis2.saaj.util.IDGenerator;
+import org.apache.axis2.saaj.util.SAAJUtil;
 import org.apache.axis2.transport.http.HTTPConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -109,7 +110,7 @@
             String contentTypes[] = mimeHeaders.getHeader(HTTPConstants.CONTENT_TYPE);
             if (contentTypes != null && contentTypes.length > 0) {
                 fullContentTypeStr = contentTypes[0];
-                contentType = extractFirstPart(fullContentTypeStr);
+                contentType = SAAJUtil.normalizeContentType(fullContentTypeStr);
             }
         }
 
@@ -212,18 +213,6 @@
         }
     }
 
-    private String extractFirstPart(String fullContentTypeStr) {
-        String contentType;//tmpContentType can be like 'application/soap+xml; charset=UTF-8;'
-        //Only the first part is important
-        if (fullContentTypeStr.indexOf(";") > -1) {
-            contentType = fullContentTypeStr.substring(0, fullContentTypeStr.indexOf(";"));
-        } else {
-            contentType = fullContentTypeStr;
-        }
-        return contentType;
-    }
-
-
     public SOAPPartImpl(SOAPMessageImpl parentSoapMsg,
                         InputStream inputStream) throws SOAPException {
         this(parentSoapMsg, inputStream, null);

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=733306&r1=733305&r2=733306&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 10:02:36 2009
@@ -151,4 +151,16 @@
         }
         return result;
     }
+
+    /**
+     * Normalize a content type specification. This removes all parameters
+     * from the content type and converts it to lower case.
+     * 
+     * @param contentType the content type to normalize
+     * @return the normalized content type
+     */
+    public static String normalizeContentType(String contentType) {
+        int idx = contentType.indexOf(";");
+        return (idx == -1 ? contentType : contentType.substring(idx)).toLowerCase();
+    }
 }