Author: thilina
Date: Mon Sep  4 23:50:51 2006
New Revision: 440280

URL: http://svn.apache.org/viewvc?view=rev&rev=440280
Log:
Refactoring content type logic
Fixing the ImageSample Test

Modified:
    
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/MIMEOutputUtils.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/ImageSampleTest.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?view=diff&rev=440280&r1=440279&r2=440280
==============================================================================
--- 
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
 Mon Sep  4 23:50:51 2006
@@ -16,6 +16,7 @@
 
 package org.apache.axiom.om;
 
+import org.apache.axiom.om.impl.MTOMConstants;
 import org.apache.axiom.om.util.UUIDGenerator;
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
@@ -56,19 +57,20 @@
 
     public String getContentType() {
         String SOAPContentType;
-        if (isOptimized()) {
-            if (isSoap11) {
-                SOAPContentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;
-            } else {
-                SOAPContentType = SOAP12Constants.SOAP_12_CONTENT_TYPE;
-            }
-            return this.getContentTypeForMime(SOAPContentType);
+        if (isSoap11) {
+            SOAPContentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;
         } else {
-            if (!isSoap11) {
-                return SOAP12Constants.SOAP_12_CONTENT_TYPE;
-            } else {
-                return SOAP11Constants.SOAP_11_CONTENT_TYPE;
-            }
+            SOAPContentType = SOAP12Constants.SOAP_12_CONTENT_TYPE;
+        }
+        // MTOM is given priority
+        if (isOptimized()) {
+            return this.getContentTypeForMime(SOAPContentType, 
MTOMConstants.MTOM_TYPE);
+        } else if (isDoingSWA())
+        {
+               return this.getContentTypeForMime(SOAPContentType, 
MTOMConstants.SWA_TYPE);
+        }
+        else {
+            return SOAPContentType;
         }
     }
 
@@ -150,14 +152,14 @@
                this.doingSWA = doingSWA;
        }
 
-       public String getContentTypeForMime(String SOAPContentType) {
+       public String getContentTypeForMime(String SOAPContentType, String 
type) {
            StringBuffer sb = new StringBuffer();
            sb.append("multipart/related");
            sb.append("; ");
            sb.append("boundary=");
            sb.append(getMimeBoundary());
-           sb.append("; ");
-           sb.append("type=\"application/xop+xml\"");
+           sb.append("; ");  
+               sb.append("type=\""+type+"\"");
            sb.append("; ");
            sb.append("start=\"<" + getRootContentId() + ">\"");
            sb.append("; ");

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/MIMEOutputUtils.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/MIMEOutputUtils.java?view=diff&rev=440280&r1=440279&r2=440280
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/MIMEOutputUtils.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/MIMEOutputUtils.java
 Mon Sep  4 23:50:51 2006
@@ -20,6 +20,8 @@
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.OMText;
+import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axiom.soap.SOAP12Constants;
 
 import javax.activation.DataHandler;
 import javax.mail.MessagingException;
@@ -127,12 +129,36 @@
         outStream.write(new byte[]{45, 45});
     }
 
-    public static void writeSOAPWithAttachementsMessage(OMElement 
element,OutputStream outputStream, Map attachmentMap)
+    public static void writeSOAPWithAttachmentsMessage(StringWriter 
writer,OutputStream outputStream, Map attachmentMap,OMOutputFormat format)
     {
+//     String SOAPContentType;
+//     if (format.isSOAP11()) {
+//            SOAPContentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;
+//        } else {
+//            SOAPContentType = SOAP12Constants.SOAP_12_CONTENT_TYPE;
+//        }
+//        startWritingMime(outputStream, format.getMimeBoundary());
+//
+//        javax.activation.DataHandler dh = new 
javax.activation.DataHandler(writer.toString(),
+//                "text/xml; charset=" + format.getCharSetEncoding());
+//        MimeBodyPart rootMimeBodyPart = new MimeBodyPart();
+//        rootMimeBodyPart.setDataHandler(dh);
+//        
+//        rootMimeBodyPart.addHeader("content-type",
+//                "application/xop+xml; charset=" + 
format.getCharSetEncoding() + 
+//                             "; type=\""+SOAPContentType+"\";");
+//        rootMimeBodyPart.addHeader("content-transfer-encoding", "binary");
+//        
rootMimeBodyPart.addHeader("content-id","<"+format.getRootContentId()+">");
+//
+//        writeBodyPart(outputStream, rootMimeBodyPart, 
format.getMimeBoundary());
+//
+//        Iterator attachmentIDIterator = attachmentMap.keySet().iterator();
+//        while (binaryNodeIterator.hasNext()) {
+//            OMText binaryNode = (OMText) binaryNodeIterator.next();
+//            writeBodyPart(outStream, createMimeBodyPart(binaryNode),
+//                    boundary);
+//        }
+//        finishWritingMime(outStream);
 
-    }
-
-    public static void writeSOAPWithAttachmentsMessage(StringWriter 
bufferedSOAPBody, ByteArrayOutputStream bytesOut, HashMap hashMap, 
OMOutputFormat format2) {
-        //TODO : Thilina please implement this :)
     }
 }

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/ImageSampleTest.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/ImageSampleTest.java?view=diff&rev=440280&r1=440279&r2=440280
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/ImageSampleTest.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/ImageSampleTest.java
 Mon Sep  4 23:50:51 2006
@@ -16,7 +16,6 @@
 
 package org.apache.axiom.attachments;
 
-import java.awt.Graphics;
 import java.awt.Image;
 import java.awt.image.BufferedImage;
 import java.io.BufferedReader;
@@ -48,8 +47,6 @@
 import org.apache.axiom.om.impl.llom.OMTextImpl;
 import org.apache.axiom.om.impl.mtom.MTOMStAXSOAPModelBuilder;
 
-import sun.reflect.ReflectionFactory.GetReflectionFactoryAction;
-
 public class ImageSampleTest extends AbstractTestCase {
 
     public ImageSampleTest(String testName) {
@@ -139,7 +136,6 @@
         DataHandler actualDH;
         actualDH = (DataHandler)blob.getDataHandler();
         BufferedImage bufferedImage = 
ImageIO.read(actualDH.getDataSource().getInputStream());
-        ImageWriter writer = null;
         this.saveImage("image/jpeg",bufferedImage, new 
FileOutputStream(imageOutFileName) );
     }
        /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to