You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/08/18 15:23:09 UTC

[5/6] git commit: CAMEL-7701 Fixed the CS errors and added the content-type header back as it could be used later

CAMEL-7701 Fixed the CS errors and added the content-type header back as it could be used later


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/2c88ba73
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/2c88ba73
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/2c88ba73

Branch: refs/heads/camel-2.13.x
Commit: 2c88ba733f74077142c5009ab45e886a9fc07782
Parents: f73b9d4
Author: Willem Jiang <wi...@gmail.com>
Authored: Fri Aug 15 12:27:28 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Mon Aug 18 21:22:28 2014 +0800

----------------------------------------------------------------------
 .../component/cxf/jaxrs/CxfRsProducer.java      |  16 +-
 .../cxf/jaxrs/DefaultCxfRsBinding.java          |   1 +
 .../component/cxf/jaxrs/CxfRsRelayTest.java     | 202 +++++++++----------
 .../component/cxf/jaxrs/UploadService.java      |  35 ----
 4 files changed, 108 insertions(+), 146 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/2c88ba73/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
index 356e199..572e991 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
@@ -277,16 +277,20 @@ public class CxfRsProducer extends DefaultProducer {
         return answer;
     }
 
-    private Method findRightMethod(List<Class<?>> resourceClasses, String methodName, Class<?>[] parameterTypes) throws NoSuchMethodException {
+    private Method findRightMethod(List<Class<?>> resourceClasses, String methodName,
+                                   Class<?>[] parameterTypes) throws NoSuchMethodException {
         for (Class<?> clazz : resourceClasses) {
             try {
                 Method[] m = clazz.getMethods();
-                iterate_on_methods: for (Method method : m) {
-                    if (!method.getName().equals(methodName))
+            iterate_on_methods:
+                for (Method method : m) {
+                    if (!method.getName().equals(methodName)) {
                         continue;
+                    }
                     Class<?>[] params = method.getParameterTypes();
-                    if (params.length != parameterTypes.length)
+                    if (params.length != parameterTypes.length) {
                         continue;
+                    }
                     for (int i = 0; i < parameterTypes.length; i++) {
                         if (!params[i].isAssignableFrom(parameterTypes[i])) {
                             continue iterate_on_methods;
@@ -298,7 +302,9 @@ public class CxfRsProducer extends DefaultProducer {
                 // keep looking
             }
         }
-        throw new NoSuchMethodException("Cannot find method with name: " + methodName + " having parameters assignable from: " + arrayToString(parameterTypes));
+        throw new NoSuchMethodException("Cannot find method with name: " + methodName
+                                        + " having parameters assignable from: "
+                                        + arrayToString(parameterTypes));
     }
 
     private Class<?>[] getParameterTypes(Object[] objects) {

http://git-wip-us.apache.org/repos/asf/camel/blob/2c88ba73/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
index 664ebe3..d72ceab 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
@@ -58,6 +58,7 @@ public class DefaultCxfRsBinding implements CxfRsBinding, HeaderFilterStrategyAw
         camelToCxfHeaderMap.put(Exchange.HTTP_URI, org.apache.cxf.message.Message.REQUEST_URI);
         camelToCxfHeaderMap.put(Exchange.HTTP_METHOD, org.apache.cxf.message.Message.HTTP_REQUEST_METHOD);
         camelToCxfHeaderMap.put(Exchange.HTTP_PATH, org.apache.cxf.message.Message.PATH_INFO);
+        camelToCxfHeaderMap.put(Exchange.CONTENT_TYPE, org.apache.cxf.message.Message.CONTENT_TYPE);
         camelToCxfHeaderMap.put(Exchange.HTTP_CHARACTER_ENCODING, org.apache.cxf.message.Message.ENCODING);
         camelToCxfHeaderMap.put(Exchange.HTTP_QUERY, org.apache.cxf.message.Message.QUERY_STRING);
         camelToCxfHeaderMap.put(Exchange.ACCEPT_CONTENT_TYPE, org.apache.cxf.message.Message.ACCEPT_CONTENT_TYPE);

http://git-wip-us.apache.org/repos/asf/camel/blob/2c88ba73/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRelayTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRelayTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRelayTest.java
index c6dbe91..1e05ff4 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRelayTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRelayTest.java
@@ -41,116 +41,106 @@ import org.apache.cxf.jaxrs.ext.multipart.Multipart;
 import org.junit.Test;
 
 public class CxfRsRelayTest extends TestSupport {
-	/**
-	 * A sample service "interface" (technically, it is a class since we will
-	 * use proxy-client. That interface exposes three methods over-loading each
-	 * other : we are testing the appropriate one will be chosen at runtime.
-	 * 
-	 */
-	@WebService
-	@Path("/rootpath")
-	@Consumes("multipart/form-data")
-	@Produces("application/xml")
-	public static class UploadService {
-		@WebMethod
-		@POST
-		@Path("/path1")
-		@Consumes("multipart/form-data")
-		public void upload(
-				@Multipart(value = "content", type = "application/octet-stream") java.lang.Number content,
-				@Multipart(value = "name", type = "text/plain") String name) {
-		}
+    /**
+     * A sample service "interface" (technically, it is a class since we will
+     * use proxy-client. That interface exposes three methods over-loading each
+     * other : we are testing the appropriate one will be chosen at runtime.
+     * 
+     */
+    @WebService
+    @Path("/rootpath")
+    @Consumes("multipart/form-data")
+    @Produces("application/xml")
+    public static class UploadService {
+        @WebMethod
+        @POST
+        @Path("/path1")
+        @Consumes("multipart/form-data")
+        public void upload(@Multipart(value = "content", type = "application/octet-stream") java.lang.Number content,
+                           @Multipart(value = "name", type = "text/plain") String name) {
+        }
 
-		@WebMethod
-		@GET
-		@Path("/path2")
-		@Consumes("text/plain")
-		private void upload() {
-		}
+        @WebMethod
+        @GET
+        @Path("/path2")
+        @Consumes("text/plain")
+        private void upload() {
+        }
 
-		@WebMethod
-		@POST
-		@Path("/path3")
-		@Consumes("multipart/form-data")
-		public void upload(
-				@Multipart(value = "content", type = "application/octet-stream") InputStream content,
-				@Multipart(value = "name", type = "text/plain") String name) {
-		}
+        @WebMethod
+        @POST
+        @Path("/path3")
+        @Consumes("multipart/form-data")
+        public void upload(@Multipart(value = "content", type = "application/octet-stream") InputStream content,
+                           @Multipart(value = "name", type = "text/plain") String name) {
+        }
 
-	}
+    }
 
-	private static final String SAMPLE_CONTENT_PATH = "/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRelay.xml";
-	private static final String SAMPLE_NAME = "CxfRsSpringRelay.xml";
-	private static final CountDownLatch latch = new CountDownLatch(1);
-	private static String content;
-	private static String name;
+    private static final String SAMPLE_CONTENT_PATH = "/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRelay.xml";
+    private static final String SAMPLE_NAME = "CxfRsSpringRelay.xml";
+    private static final CountDownLatch LATCH = new CountDownLatch(1);
+    private static String content;
+    private static String name;
 
-	/**
-	 * That test builds a route chaining two cxfrs endpoints. It shows a request
-	 * sent to the first one will be correctly transferred and consumed by the
-	 * other one.
-	 */
-	@Test
-	public void test() throws Exception {
-		final Main main = new Main();
-		try {
-			main.setApplicationContextUri("org/apache/camel/component/cxf/jaxrs/CxfRsSpringRelay.xml");
-			main.start();
-			latch.await(10, TimeUnit.SECONDS);
-			assertEquals(SAMPLE_NAME, name);
-			StringWriter writer = new StringWriter();
-			IOUtils.copyAndCloseInput(
-					new InputStreamReader(CamelRouteBuilder.class
-							.getResourceAsStream(SAMPLE_CONTENT_PATH)), writer);
-			assertEquals(writer.toString(), content);
-		} finally {
-			main.stop();
-		}
-	}
+    /**
+     * That test builds a route chaining two cxfrs endpoints. It shows a request
+     * sent to the first one will be correctly transferred and consumed by the
+     * other one.
+     */
+    @Test
+    public void testJaxrsRelayRoute() throws Exception {
+        final Main main = new Main();
+        try {
+            main.setApplicationContextUri("org/apache/camel/component/cxf/jaxrs/CxfRsSpringRelay.xml");
+            main.start();
+            LATCH.await(10, TimeUnit.SECONDS);
+            assertEquals(SAMPLE_NAME, name);
+            StringWriter writer = new StringWriter();
+            IOUtils.copyAndCloseInput(new InputStreamReader(CamelRouteBuilder.class
+                                          .getResourceAsStream(SAMPLE_CONTENT_PATH)), writer);
+            assertEquals(writer.toString(), content);
+        } finally {
+            main.stop();
+        }
+    }
 
-	/**
-	 * Route builder to be used with
-	 * org/apache/camel/component/cxf/jaxrs/CxfRsSpringRelay.xml
-	 * 
-	 */
-	public static class CamelRouteBuilder extends RouteBuilder {
-		@Override
-		public void configure() throws InterruptedException {
-			from("upload1").process(new Processor() {
-				@Override
-				public void process(Exchange arg0) throws Exception {
-					// arg0.getIn().removeHeader(Exchange.CONTENT_TYPE);
-				}
-			}).to("upload2Client");
-			from("upload2").process(new Processor() {
-				@Override
-				public void process(Exchange exchange) throws Exception {
-					// once the message arrives in the second endpoint, stores
-					// the message components and warns results can be compared
-					content = (exchange.getIn().getHeader("content", String.class));
-					name = (exchange.getIn().getHeader("name", String.class));
-					latch.countDown();
-				}
-			});
-			Thread t = new Thread(new Runnable() {
-				/**
-				 * Sends a request to the first endpoint in the route
-				 */
-				public void run() {
-					try {
-						JAXRSClientFactory
-								.create(getContext().getEndpoint("upload1", CxfRsEndpoint.class).getAddress(),
-										UploadService.class)
-								.upload(CamelRouteBuilder.class
-										.getResourceAsStream(SAMPLE_CONTENT_PATH),
-										SAMPLE_NAME);
-					} catch (Exception e) {
-						e.printStackTrace();
-						throw new RuntimeException(e);
-					}
-				}
-			});
-			t.start();
-		}
-	}
+    /**
+     * Route builder to be used with
+     * org/apache/camel/component/cxf/jaxrs/CxfRsSpringRelay.xml
+     * 
+     */
+    public static class CamelRouteBuilder extends RouteBuilder {
+        @Override
+        public void configure() throws InterruptedException {
+            from("upload1").removeHeader(Exchange.CONTENT_TYPE).to("upload2Client");
+            from("upload2").process(new Processor() {
+                @Override
+                public void process(Exchange exchange) throws Exception {
+                    // once the message arrives in the second endpoint, stores
+                    // the message components and warns results can be compared
+                    content = exchange.getIn().getHeader("content", String.class);
+                    name = exchange.getIn().getHeader("name", String.class);
+                    LATCH.countDown();
+                }
+            });
+            Thread t = new Thread(new Runnable() {
+                /**
+                 * Sends a request to the first endpoint in the route
+                 */
+                public void run() {
+                    try {
+                        JAXRSClientFactory.create(getContext().getEndpoint("upload1", CxfRsEndpoint.class)
+                                                      .getAddress(), UploadService.class)
+                            .upload(CamelRouteBuilder.class.getResourceAsStream(SAMPLE_CONTENT_PATH),
+                                    SAMPLE_NAME);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        throw new RuntimeException(e);
+                    }
+                }
+            });
+            t.start();
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/2c88ba73/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/UploadService.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/UploadService.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/UploadService.java
deleted file mode 100644
index a9c65be..0000000
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/UploadService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.camel.component.cxf.jaxrs;
-
-import javax.jws.WebMethod;
-import javax.jws.WebService;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-
-import org.apache.cxf.jaxrs.ext.multipart.Multipart;
-
-@WebService
-@Path("/cms")
-@Consumes("multipart/form-data")
-@Produces("application/xml")
-public  class UploadService {
-	@WebMethod
-	@POST
-	@Path("/upload2")
-	@Consumes("multipart/form-data")
-	public void addVideo(
-			@Multipart(value = "contenu", type = "application/octet-stream") java.lang.Number video,
-			@Multipart(value = "nom", type = "text/plain") String nom) {
-	}
-
-	@WebMethod
-	@POST
-	@Path("/upload")
-	@Consumes("multipart/form-data")
-	public void addVideo(
-			@Multipart(value = "contenu", type = "application/octet-stream") java.io.InputStream video,
-			@Multipart(value = "nom", type = "text/plain") String nom) {
-	}
-
-}
\ No newline at end of file