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());


Reply via email to