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 2010/06/28 05:04:40 UTC

svn commit: r958445 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/builder/ components/camel-jetty/src/test/java/org/apache/camel/component/jetty/

Author: ningjiang
Date: Mon Jun 28 03:04:39 2010
New Revision: 958445

URL: http://svn.apache.org/viewvc?rev=958445&view=rev
Log:
CAMEL-2864 Added simple() DSL into Builder support

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpClientRouteTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java?rev=958445&r1=958444&r2=958445&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java Mon Jun 28 03:04:39 2010
@@ -87,6 +87,14 @@ public final class Builder {
         Expression expression = ExpressionBuilder.constantExpression(value);
         return new ValueBuilder(expression);
     }
+    
+    /**
+     * Returns a simple expression  
+     */
+    public static ValueBuilder simple(String value) {
+        Expression expression = ExpressionBuilder.simpleExpression(value);
+        return new ValueBuilder(expression);
+    }
 
     /**
      * Returns a predicate and value builder for headers on an exchange

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java?rev=958445&r1=958444&r2=958445&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java Mon Jun 28 03:04:39 2010
@@ -127,6 +127,13 @@ public abstract class BuilderSupport {
     public ValueBuilder constant(Object value) {
         return Builder.constant(value);
     }
+    
+    /**
+     * Returns a simple expression value builder
+     */
+    public ValueBuilder simple(String value) {
+        return Builder.simple(value);
+    }
 
     /**
      * Returns a <a href="http://camel.apache.org/bean-language.html">bean expression</a>

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpClientRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpClientRouteTest.java?rev=958445&r1=958444&r2=958445&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpClientRouteTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpClientRouteTest.java Mon Jun 28 03:04:39 2010
@@ -77,6 +77,16 @@ public class HttpClientRouteTest extends
         mockEndpoint.assertIsSatisfied();        
         
     }
+    
+    @Test
+    public void testHttpRouteWithQueryByHeader() throws Exception {
+        MockEndpoint mockEndpoint = getMockEndpoint("mock:a");
+        mockEndpoint.expectedBodiesReceived("test");        
+        
+        template.sendBody("direct:start4", "test");
+        mockEndpoint.assertIsSatisfied();        
+        
+    }
 
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
@@ -92,6 +102,7 @@ public class HttpClientRouteTest extends
                 from("direct:start").to("http://localhost:9080/hello").process(clientProc).convertBodyTo(String.class).to("mock:a");
                 from("direct:start2").to("http://localhost:9081/hello").to("mock:a");
                 from("direct:start3").to("http://localhost:9081/Query%20/test?myQuery=%40%20query").to("mock:a");
+                from("direct:start4").setHeader(Exchange.HTTP_QUERY, simple("id=${body}")).to("http://localhost:9081/querystring").to("mock:a");
                 
                 Processor proc = new Processor() {
                     public void process(Exchange exchange) throws Exception {
@@ -110,6 +121,18 @@ public class HttpClientRouteTest extends
                     }
                     
                 });
+                
+                from("jetty:http://localhost:9081/querystring").process(new Processor() {
+
+                    public void process(Exchange exchange) throws Exception {
+                        String result = exchange.getIn().getHeader("id", String.class);
+                        if (result == null) {
+                            result = "No id header";
+                        }
+                        exchange.getOut().setBody(result);
+                    }
+                    
+                });
             }
         };
     }