You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/02/26 07:31:01 UTC

svn commit: r916584 - in /camel/trunk/camel-core/src: main/java/org/apache/camel/model/ test/java/org/apache/camel/processor/

Author: davsclaus
Date: Fri Feb 26 06:31:00 2010
New Revision: 916584

URL: http://svn.apache.org/viewvc?rev=916584&view=rev
Log:
CAMEL-2502: Added builder methods to multicast and split Java DSL.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/MulticastDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterWithCustomThreadPoolExecutorTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/MulticastDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/MulticastDefinition.java?rev=916584&r1=916583&r2=916584&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/MulticastDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/MulticastDefinition.java Fri Feb 26 06:31:00 2010
@@ -83,6 +83,17 @@
     }
     
     /**
+     * Set the aggregationStrategy
+     *
+     * @param aggregationStrategyRef a reference to a strategy to lookup
+     * @return the builder
+     */
+    public MulticastDefinition aggregationStrategyRef(String aggregationStrategyRef) {
+        setStrategyRef(aggregationStrategyRef);
+        return this;
+    }
+
+    /**
      * Uses the {@link java.util.concurrent.ExecutorService} to do the multicasting work
      *     
      * @return the builder
@@ -123,8 +134,19 @@
     public MulticastDefinition executorService(ExecutorService executorService) {
         setExecutorService(executorService);
         return this;
-    }    
-        
+    }
+
+    /**
+     * Setting the executor service for executing the sending to the recipients.
+     *
+     * @param executorServiceRef reference to the executor service
+     * @return the builder
+     */
+    public MulticastDefinition executorServiceRef(String executorServiceRef) {
+        setExecutorServiceRef(executorServiceRef);
+        return this;
+    }
+
     protected Processor createCompositeProcessor(RouteContext routeContext, List<Processor> list) throws Exception {
         if (strategyRef != null) {
             aggregationStrategy = routeContext.lookup(strategyRef, AggregationStrategy.class);
@@ -182,4 +204,19 @@
         this.executorService = executorService;
     }
 
+    public String getStrategyRef() {
+        return strategyRef;
+    }
+
+    public void setStrategyRef(String strategyRef) {
+        this.strategyRef = strategyRef;
+    }
+
+    public String getExecutorServiceRef() {
+        return executorServiceRef;
+    }
+
+    public void setExecutorServiceRef(String executorServiceRef) {
+        this.executorServiceRef = executorServiceRef;
+    }
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java?rev=916584&r1=916583&r2=916584&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java Fri Feb 26 06:31:00 2010
@@ -136,27 +136,23 @@
     }
     
     /**
-     * Doing the splitting work in parallel
+     * Set the aggregationStrategy
      *
+     * @param aggregationStrategyRef a reference to a strategy to lookup
      * @return the builder
      */
-    public SplitDefinition parallelProcessing() {
-        setParallelProcessing(true);
+    public SplitDefinition aggregationStrategyRef(String aggregationStrategyRef) {
+        setStrategyRef(aggregationStrategyRef);
         return this;
     }
-    
+
     /**
-     * Set the splitting action's thread model
-     *
-     * @param parallelProcessing <tt>true</tt> to use a thread pool, if <tt>false</tt> then work is done in the
-     * calling thread.
+     * Doing the splitting work in parallel
      *
-     * @deprecated use #parallelProcessing instead
      * @return the builder
      */
-    @Deprecated
-    public SplitDefinition parallelProcessing(boolean parallelProcessing) {
-        setParallelProcessing(parallelProcessing);
+    public SplitDefinition parallelProcessing() {
+        setParallelProcessing(true);
         return this;
     }
     
@@ -195,6 +191,17 @@
         return this;
     }
     
+    /**
+     * Setting the executor service for executing the splitting action.
+     *
+     * @param executorServiceRef reference to the executor service
+     * @return the builder
+     */
+    public SplitDefinition executorServiceRef(String executorServiceRef) {
+        setExecutorServiceRef(executorServiceRef);
+        return this;
+    }
+
     // Properties
     //-------------------------------------------------------------------------
 
@@ -244,4 +251,20 @@
     public void setExecutorService(ExecutorService executorService) {
         this.executorService = executorService;
     }
+
+    public String getStrategyRef() {
+        return strategyRef;
+    }
+
+    public void setStrategyRef(String strategyRef) {
+        this.strategyRef = strategyRef;
+    }
+
+    public String getExecutorServiceRef() {
+        return executorServiceRef;
+    }
+
+    public void setExecutorServiceRef(String executorServiceRef) {
+        this.executorServiceRef = executorServiceRef;
+    }
 }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java?rev=916584&r1=916583&r2=916584&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java Fri Feb 26 06:31:00 2010
@@ -209,7 +209,7 @@
 
                 from("direct:seqential").split(body().tokenize(","), new UseLatestAggregationStrategy()).to("mock:result");
 
-                from("direct:parallel").split(body().tokenize(","), new MyAggregationStrategy()).parallelProcessing(true).to("mock:result");
+                from("direct:parallel").split(body().tokenize(","), new MyAggregationStrategy()).parallelProcessing().to("mock:result");
 
                 from("direct:streaming").split(body().tokenize(",")).streaming().to("mock:result");
 
@@ -218,7 +218,7 @@
                 from("direct:exception")
                     .split(body().tokenize(","))
                     .aggregationStrategy(new MyAggregationStrategy())
-                    .parallelProcessing(true)
+                    .parallelProcessing()
                     .process(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             String string = exchange.getIn().getBody(String.class);

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterWithCustomThreadPoolExecutorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterWithCustomThreadPoolExecutorTest.java?rev=916584&r1=916583&r2=916584&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterWithCustomThreadPoolExecutorTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterWithCustomThreadPoolExecutorTest.java Fri Feb 26 06:31:00 2010
@@ -71,7 +71,7 @@
         return new RouteBuilder() {
             public void configure() {
                 from("direct:parallel-custom-pool")
-                    .split(body().tokenize(",")).parallelProcessing(true)
+                    .split(body().tokenize(",")).parallelProcessing()
                     .executorService(customThreadPoolExecutor).to("mock:result");
             }
         };