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]