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 2011/09/05 05:45:18 UTC

svn commit: r1165157 - in /camel/trunk/components/camel-servlet/src: main/java/org/apache/camel/component/servlet/ServletEndpoint.java test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java

Author: ningjiang
Date: Mon Sep  5 03:45:18 2011
New Revision: 1165157

URL: http://svn.apache.org/viewvc?rev=1165157&view=rev
Log:
CAMEL-4412 ServletEndpoint doesn't support to create the producer

Modified:
    camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
    camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java

Modified: camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java?rev=1165157&r1=1165156&r2=1165157&view=diff
==============================================================================
--- camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java (original)
+++ camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java Mon Sep  5 03:45:18 2011
@@ -21,6 +21,7 @@ import java.net.URISyntaxException;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
+import org.apache.camel.Producer;
 import org.apache.camel.component.http.HttpClientConfigurer;
 import org.apache.camel.component.http.HttpConsumer;
 import org.apache.camel.component.http.HttpEndpoint;
@@ -49,6 +50,11 @@ public class ServletEndpoint extends Htt
     }
 
     @Override
+    public Producer createProducer() throws Exception {
+        throw new UnsupportedOperationException("You cannot create producer with servlet endpoint, please consider to use http or http4 endpoint.");
+    }
+
+    @Override
     public Consumer createConsumer(Processor processor) throws Exception {
         return new HttpConsumer(this, processor);
     }

Modified: camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java?rev=1165157&r1=1165156&r2=1165157&view=diff
==============================================================================
--- camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java (original)
+++ camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java Mon Sep  5 03:45:18 2011
@@ -25,6 +25,7 @@ import com.meterware.httpunit.WebRequest
 import com.meterware.httpunit.WebResponse;
 import com.meterware.servletunit.ServletUnitClient;
 import org.apache.camel.Exchange;
+import org.apache.camel.FailedToCreateProducerException;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
@@ -63,6 +64,26 @@ public class HttpClientRouteTest extends
         assertEquals("The response message is wrong ", "OK", response.getResponseMessage());
         assertEquals("The response body is wrong", "Bye World", response.getText());
     }
+
+    @Test
+    public void testCreateSerlvetEndpointProducer() throws Exception {
+        if (!startCamelContext) {
+            // don't test it with web.xml configure
+            return;
+        }
+        try {
+            context.addRoutes(new RouteBuilder() {
+                @Override
+                public void configure() throws Exception {
+                    from("direct:start").to("servlet:///testworld");
+                }
+            });
+            fail("Excepts exception here");
+        } catch (Exception ex) {
+            assertTrue("Get a wrong exception." , ex instanceof FailedToCreateProducerException);
+            assertTrue("Get a wrong cause of exception.", ex.getCause() instanceof UnsupportedOperationException);
+        }
+    }
     
     public static class MyServletRoute extends RouteBuilder {