Author: ningjiang Date: Mon Apr 12 07:07:01 2010 New Revision: 933118 URL: http://svn.apache.org/viewvc?rev=933118&view=rev Log: Fixed the unit test of jetty
Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java?rev=933118&r1=933117&r2=933118&view=diff ============================================================================== --- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java (original) +++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java Mon Apr 12 07:07:01 2010 @@ -16,11 +16,16 @@ */ package org.apache.camel.component.http; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Enumeration; import java.util.Map; + +import javax.activation.DataHandler; +import javax.activation.FileDataSource; +import javax.activation.FileTypeMap; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -98,6 +103,17 @@ public class DefaultHttpBinding implemen headers.put(Exchange.HTTP_PATH, request.getPathInfo()); headers.put(Exchange.CONTENT_TYPE, request.getContentType()); headers.put(Exchange.HTTP_CHARACTER_ENCODING, request.getCharacterEncoding()); + + // check if there is multipart files, if so will put it into DataHandler + names = request.getAttributeNames(); + while (names.hasMoreElements()) { + String name = (String) names.nextElement(); + Object object = request.getAttribute(name); + if (object instanceof File) { + String fileName = request.getParameter(name); + message.addAttachment(fileName, new DataHandler(new FileDataSource((File)object), FileTypeMap.getDefaultFileTypeMap().getContentType(fileName))); + } + } } public void writeResponse(Exchange exchange, HttpServletResponse response) throws IOException { Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java?rev=933118&r1=933117&r2=933118&view=diff ============================================================================== --- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java (original) +++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java Mon Apr 12 07:07:01 2010 @@ -36,7 +36,6 @@ import org.junit.Test; public class MultiPartFormTest extends CamelTestSupport { @Test - @Ignore("Fix me later") public void testSendMultiPartForm() throws Exception { HttpClient httpclient = new HttpClient(); @@ -44,8 +43,8 @@ public class MultiPartFormTest extends C PostMethod httppost = new PostMethod("http://localhost:9080/test"); Part[] parts = { - new StringPart("param_name", "NOTICE.txt"), - new FilePart(file.getName(), file) + new StringPart("comment", "A binary file of some kind"), + new FilePart(file.getName(), file) }; MultipartRequestEntity reqEntity = new MultipartRequestEntity(parts, httppost.getParams());