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 2008/12/11 05:10:09 UTC

svn commit: r725569 - in /activemq/camel/trunk: camel-core/src/main/java/org/apache/camel/model/ camel-core/src/test/java/org/apache/camel/processor/ components/camel-cometd/src/main/java/org/apache/camel/component/cometd/ components/camel-spring/src/t...

Author: ningjiang
Date: Wed Dec 10 20:10:08 2008
New Revision: 725569

URL: http://svn.apache.org/viewvc?rev=725569&view=rev
Log:
CAMEL-1181 added the DSL support and tests

Added:
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java   (contents, props changed)
      - copied, changed from r725493, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangePatternTest.java
    activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java   (contents, props changed)
      - copied, changed from r725536, activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringExchangePatternTest.java
    activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml   (contents, props changed)
      - copied, changed from r725536, activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/exchangePattern.xml
Removed:
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangePatternTest.java
    activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringExchangePatternTest.java
    activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/exchangePattern.xml
Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorType.java
    activemq/camel/trunk/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorType.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorType.java?rev=725569&r1=725568&r2=725569&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorType.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorType.java Wed Dec 10 20:10:08 2008
@@ -122,7 +122,8 @@
     public Type to(String uri) {
         addOutput(new ToType(uri));
         return (Type) this;
-    }
+    }   
+    
 
     /**
      * Sends the exchange to the given endpoint
@@ -134,6 +135,31 @@
         addOutput(new ToType(endpoint));
         return (Type) this;
     }
+    
+    /**
+     * Sends the exchange with certain exchange pattern to the given endpoint
+     *
+     * @param uri  the endpoint to send to
+     * @return the builder
+     */
+    public Type to(String uri, ExchangePattern ep) {
+        addOutput(new SetExchangePatternType(ep));
+        addOutput(new ToType(uri));        
+        return (Type) this;
+    }   
+    
+
+    /**
+     * Sends the exchange with certain exchange pattern to the given endpoint
+     *
+     * @param endpoint  the endpoint to send to
+     * @return the builder
+     */
+    public Type to(Endpoint endpoint, ExchangePattern ep) {
+        addOutput(new SetExchangePatternType(ep));
+        addOutput(new ToType(endpoint));
+        return (Type) this;
+    }
 
     /**
      * Sends the exchange to a list of endpoints
@@ -173,6 +199,8 @@
         }
         return (Type) this;
     }
+    
+    
 
     /**
      * <a href="http://activemq.apache.org/camel/multicast.html">Multicast EIP:</a>
@@ -1688,6 +1716,50 @@
     public Type inOut() {
         return setExchangePattern(ExchangePattern.InOut);
     }
+    
+    /**
+     * <a href="http://activemq.apache.org/camel/exchange-pattern.html">ExchangePattern:</a>
+     * set the exchange's ExchangePattern {@link ExchangePattern} to be InOnly
+     *
+     * @param uri The endpoint uri which is used for sending the exchange
+     * @return the builder
+     */
+    public Type inOnly(String uri) {
+        return to(uri, ExchangePattern.InOnly);
+    }
+    
+    /**
+     * <a href="http://activemq.apache.org/camel/exchange-pattern.html">ExchangePattern:</a>
+     * set the exchange's ExchangePattern {@link ExchangePattern} to be InOut
+     *
+     * @param uri The endpoint uri which is used for sending the exchange
+     * @return the builder
+     */
+    public Type inOut(String uri) {
+        return to(uri, ExchangePattern.InOut);
+    }
+    
+    /**
+     * <a href="http://activemq.apache.org/camel/exchange-pattern.html">ExchangePattern:</a>
+     * set the exchange's ExchangePattern {@link ExchangePattern} to be InOnly
+     *
+     * @param uri The endpoint which is used for sending the exchange
+     * @return the builder
+     */
+    public Type inOnly(Endpoint endpoint) {
+        return to(endpoint, ExchangePattern.InOnly);
+    }
+    
+    /**
+     * <a href="http://activemq.apache.org/camel/exchange-pattern.html">ExchangePattern:</a>
+     * set the exchange's ExchangePattern {@link ExchangePattern} to be InOut
+     *
+     * @param uri The endpoint which is used for sending the exchange
+     * @return the builder
+     */
+    public Type inOut(Endpoint endpoint) {
+        return to(endpoint, ExchangePattern.InOut);
+    }
 
     // Properties
     // -------------------------------------------------------------------------

Copied: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java (from r725493, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangePatternTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java?p2=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java&p1=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangePatternTest.java&r1=725493&r2=725569&rev=725569&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangePatternTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java Wed Dec 10 20:10:08 2008
@@ -23,7 +23,7 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 
-public class ExchangePatternTest extends ContextTestSupport {
+public class SetExchangePatternTest extends ContextTestSupport {
     
     private void sendMessage(String uri, final ExchangePattern ep, final String message) {
         template.send(uri, new Processor() {
@@ -35,7 +35,7 @@
         });
     }
    
-    public void testInOut() throws Exception {
+    public void testSetInOut() throws Exception {
         MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
         resultEndpoint.expectedBodiesReceived("InOnlyMessage");        
         sendMessage("direct:inOnly", ExchangePattern.InOnly, "InOnlyMessage");
@@ -43,7 +43,7 @@
         assertEquals("The exchange pattern should be InOut", resultEndpoint.getExchanges().get(0).getPattern(), ExchangePattern.InOut);
     }
     
-    public void testInOnly() throws Exception {
+    public void testSetInOnly() throws Exception {
         MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
         resultEndpoint.expectedBodiesReceived("InOutMessage");        
         sendMessage("direct:inOut", ExchangePattern.InOut, "InOutMessage");
@@ -51,6 +51,22 @@
         assertEquals("The exchange pattern should be InOnly", resultEndpoint.getExchanges().get(0).getPattern(), ExchangePattern.InOnly);
     }
     
+    public void testSetRobustInOnly() throws Exception {
+        MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
+        resultEndpoint.expectedBodiesReceived("InOutMessage");        
+        sendMessage("direct:inOut1", ExchangePattern.InOut, "InOutMessage");
+        resultEndpoint.assertIsSatisfied();
+        assertEquals("The exchange pattern should be InOnly", resultEndpoint.getExchanges().get(0).getPattern(), ExchangePattern.RobustInOnly);
+    }
+    
+    public void testSetInOnly2() throws Exception {
+        MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
+        resultEndpoint.expectedBodiesReceived("InOutMessage");        
+        sendMessage("direct:inOut2", ExchangePattern.InOut, "InOutMessage");
+        resultEndpoint.assertIsSatisfied();
+        assertEquals("The exchange pattern should be InOnly", resultEndpoint.getExchanges().get(0).getPattern(), ExchangePattern.InOnly);
+    }
+    
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
@@ -59,6 +75,10 @@
                
                 from("direct:inOut").setExchangePattern(ExchangePattern.InOnly).to("mock:result");
                 
+                from("direct:inOut1").to("mock:result", ExchangePattern.RobustInOnly);
+                
+                from("direct:inOut2").inOnly("mock:result");
+                
             }
         };
     }

Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetExchangePatternTest.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Modified: activemq/camel/trunk/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java?rev=725569&r1=725568&r2=725569&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java (original)
+++ activemq/camel/trunk/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java Wed Dec 10 20:10:08 2008
@@ -105,8 +105,8 @@
                 connector.setPort(endpoint.getPort());
                 connector.setHost(endpoint.getUri().getHost());
                 if ("localhost".equalsIgnoreCase(endpoint.getUri().getHost())) {
-                    LOG.warn("You use localhost interface! It means that no external connections will be available." + 
-                            " Don't you want to use 0.0.0.0 instead (all network interfaces)?");
+                    LOG.warn("You use localhost interface! It means that no external connections will be available."
+                             + " Don't you want to use 0.0.0.0 instead (all network interfaces)?");
                 }
                 getServer().addConnector(connector);
 

Copied: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java (from r725536, activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringExchangePatternTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java?p2=activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java&p1=activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringExchangePatternTest.java&r1=725536&r2=725569&rev=725569&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringExchangePatternTest.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java Wed Dec 10 20:10:08 2008
@@ -19,14 +19,14 @@
 
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.processor.ExchangePatternTest;
+import org.apache.camel.processor.SetExchangePatternTest;
 import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
 
 
-public class SpringExchangePatternTest extends ExchangePatternTest {
+public class SpringSetExchangePatternTest extends SetExchangePatternTest {
     
     protected CamelContext createCamelContext() throws Exception {
-        return createSpringCamelContext(this, "org/apache/camel/spring/processor/exchangePattern.xml");
+        return createSpringCamelContext(this, "org/apache/camel/spring/processor/setExchangePattern.xml");
     }
 
 }

Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Copied: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml (from r725536, activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/exchangePattern.xml)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml?p2=activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml&p1=activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/exchangePattern.xml&r1=725536&r2=725569&rev=725569&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/exchangePattern.xml (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml Wed Dec 10 20:10:08 2008
@@ -32,6 +32,17 @@
 
     <route>
       <from uri="direct:inOut"/>
+      <setExchangePattern pattern="InOnly"/>
+      <to uri="mock:result"/> 
+    </route>
+    
+    <route>
+      <from uri="direct:inOut1"/>
+      <to uri="mock:result" pattern="RobustInOnly"/>
+    </route>
+    
+    <route>
+      <from uri="direct:inOut2"/>
       <inOnly uri="mock:result"/>
     </route>
    </camelContext>

Propchange: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml
------------------------------------------------------------------------------
    svn:mergeinfo = 

Propchange: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml