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");
}
};