Thanks for catching that Dims. Sorry for the break.

-Nick


Inactive hide details for Davanum Srinivas <davanum@gmail.com>Davanum Srinivas <davanum@gmail.com>


          Davanum Srinivas <davanum@gmail.com>

          01/14/2008 06:27 AM
          Please respond to
          commons-dev@ws.apache.org


To

commons-dev@ws.apache.org

cc


Subject

Re: svn commit: r611218 - in /webservices/commons/trunk/modules/axiom/modules: axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Nick,

String's contains method is not available in JDK 1.4

- -- dims

ngallardo@apache.org wrote:
| Author: ngallardo
| Date: Fri Jan 11 08:10:18 2008
| New Revision: 611218
|
| URL:
http://svn.apache.org/viewvc?rev=611218&view=rev
| Log:
| WSCOMMONS-290
|
| Changes to provide a more compliant Content-Type for SOAP 1.2/MTOM.
|
| Added:
|     webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java
| Modified:
|     webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java
|
| Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java
| URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java?rev=611218&r1=611217&r2=611218&view=diff
| ==============================================================================
| --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java
(original)
| +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java
Fri Jan 11 08:10:18 2008
| @@ -51,6 +51,8 @@
|      private boolean ignoreXMLDeclaration = false;
|      private boolean autoCloseWriter = false;
|
| +    public static final String ACTION_PROPERTY = "action";
| +
|      HashMap map = null;  // Map of generic properties
|
|
| @@ -209,7 +211,29 @@
|          this.doingSWA = doingSWA;
|      }
|
| +    /**
| +     * Generates a Content-Type value for MTOM messages.  This is a MIME Multipart/Related
| +     * Content-Type value as defined by RFC 2387 and the XOP specification.  The generated
| +     * header will look like the following:
| +     *
| +     *   Content-Type: multipart/related; boundary=[MIME BOUNDARY VALUE];
| +     *      type="application/xop+xml";
| +     *      start="[MESSAGE CONTENT ID]";
| +     *      start-info="[MESSAGE CONTENT TYPE]";
| +     *
| +     * @param SOAPContentType
| +     * @return
| +     */
|      public String getContentTypeForMTOM(String SOAPContentType) {
| +        // If an action was set, we need to include it within the value
| +        // for the start-info attribute.
| +        if (containsKey(ACTION_PROPERTY)) {
| +            String action = (String) getProperty(ACTION_PROPERTY);
| +            if (action != null && action.length() > 0) {
| +                SOAPContentType = SOAPContentType + "; action=\\\"" + action + "\\\"";
| +            }
| +        }
| +
|          StringBuffer sb = new StringBuffer();
|          sb.append("multipart/related");
|          sb.append("; ");
|
| Added:
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java
| URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java?rev=611218&view=auto
| ==============================================================================
| ---
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java
(added)
| +++
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java
Fri Jan 11 08:10:18 2008
| @@ -0,0 +1,103 @@
| +/*
| + * 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.axiom.om;
| +
| +import org.apache.axiom.om.impl.MTOMConstants;
| +import org.apache.axiom.soap.SOAP11Constants;
| +import org.apache.axiom.soap.SOAP12Constants;
| +
| +import java.lang.reflect.Field;
| +import java.lang.reflect.Method;
| +
| +import junit.framework.TestCase;
| +
| +public class OMOutputFormatTest extends TestCase {
| +
| +    public void testAPI_getProperty() throws Exception {
| +        Method m = OMOutputFormat.class.getMethod("getProperty", new Class[] {String.class});
| +        assertTrue(m != null);
| +
| +        Class returnType = m.getReturnType();
| +        assertTrue(returnType == Object.class);
| +    }
| +
| +    public void testAPI_setProperty() throws Exception {
| +        Method m = OMOutputFormat.class.getMethod("setProperty", new Class[] {String.class, Object.class});
| +        assertTrue(m != null);
| +
| +        Class returnType = m.getReturnType();
| +        assertTrue(returnType == Object.class);
| +    }
| +
| +    public void testAPI_publicProperties() throws Exception {
| +        Field f = OMOutputFormat.class.getField("ACTION_PROPERTY");
| +        assertTrue(f != null);
| +    }
| +
| +    public void testGetContentTypeDefault() {
| +        OMOutputFormat format = new OMOutputFormat();
| +        String contentType = format.getContentType();
| +        assertTrue(contentType.equals(SOAP11Constants.SOAP_11_CONTENT_TYPE));
| +    }
| +
| +    public void testGetContentTypeSOAP12() {
| +        OMOutputFormat format = new OMOutputFormat();
| +        format.setSOAP11(false);
| +        String contentType = format.getContentType();
| +        assertTrue(contentType.equals(SOAP12Constants.SOAP_12_CONTENT_TYPE));
| +    }
| +
| +    public void testGetContentTypeSOAP11MTOM() {
| +        OMOutputFormat format = new OMOutputFormat();
| +        format.setDoOptimize(true);
| +        String contentType = format.getContentType();
| +
| +        // This is rudimentary.  We can add a more complete test that checks
| +        // sub items in the future.
| +        assertTrue(contentType.contains(SOAP11Constants.SOAP_11_CONTENT_TYPE));
| +        assertTrue(contentType.contains(MTOMConstants.MTOM_TYPE));
| +    }
| +
| +    public void testGetContentTypeSOAP12MTOM() {
| +        OMOutputFormat format = new OMOutputFormat();
| +        format.setDoOptimize(true);
| +        format.setSOAP11(false);
| +        String contentType = format.getContentType();
| +
| +        // This is rudimentary.  We can add a more complete test that checks
| +        // sub items in the future.
| +        assertTrue(contentType.contains(SOAP12Constants.SOAP_12_CONTENT_TYPE));
| +        assertTrue(contentType.contains(MTOMConstants.MTOM_TYPE));
| +    }
| +
| +    public void testGetContentTypeSOAP12MTOMWithAction() {
| +        OMOutputFormat format = new OMOutputFormat();
| +        format.setDoOptimize(true);
| +        format.setSOAP11(false);
| +        format.setProperty(OMOutputFormat.ACTION_PROPERTY, "testSoapAction");
| +        String contentType = format.getContentType();
| +
| +        // This is rudimentary.  We can add a more complete test that checks
| +        // sub items in the future.
| +        assertTrue(contentType.contains(SOAP12Constants.SOAP_12_CONTENT_TYPE));
| +        assertTrue(contentType.contains(MTOMConstants.MTOM_TYPE));
| +        assertTrue(contentType.contains("action=\\\"testSoapAction\\\""));
| +    }
| +}
|
|
|
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
| For additional commands, e-mail: commons-dev-help@ws.apache.org
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iD8DBQFHi1UxgNg6eWEDv1kRArTcAJ9tfjf9kQO7F8WqiLsxSyVErPRgCQCeJ2kS
9ACoOq51F+a3xXOy+Gc3YNs=
=PzuI
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org