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 2009/10/29 12:58:42 UTC
svn commit: r830906 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/model/ProcessorDefinition.java
main/java/org/apache/camel/model/RouteDefinition.java
test/java/org/apache/camel/processor/RouteIdTest.java
Author: davsclaus
Date: Thu Oct 29 11:58:42 2009
New Revision: 830906
URL: http://svn.apache.org/viewvc?rev=830906&view=rev
Log:
CAMEL-2109: Added routeId to specific set a route id as it knows how to traverse up the parents to find the route definition.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RouteIdTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java?rev=830906&r1=830905&r2=830906&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java Thu Oct 29 11:58:42 2009
@@ -640,6 +640,26 @@
}
/**
+ * Set the route id for this route
+ *
+ * @param id the route id
+ * @return the builder
+ */
+ @SuppressWarnings("unchecked")
+ public Type routeId(String id) {
+ ProcessorDefinition def = this;
+ // drill to the top
+ while (def.getParent() != null) {
+ def = def.getParent();
+ }
+ if (def instanceof RouteDefinition) {
+ RouteDefinition route = (RouteDefinition) def;
+ route.setId(id);
+ }
+ return (Type) this;
+ }
+
+ /**
* <a href="http://camel.apache.org/multicast.html">Multicast EIP:</a>
* Multicasts messages to all its child outputs; so that each processor and
* destination gets a copy of the original message to avoid the processors
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java?rev=830906&r1=830905&r2=830906&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java Thu Oct 29 11:58:42 2009
@@ -207,6 +207,17 @@
}
/**
+ * Set the route id for this route
+ *
+ * @param id the route id
+ * @return the builder
+ */
+ public RouteDefinition routeId(String id) {
+ setId(id);
+ return this;
+ }
+
+ /**
* Disable stream caching for this route.
*/
public RouteDefinition noStreamCaching() {
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RouteIdTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RouteIdTest.java?rev=830906&r1=830905&r2=830906&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RouteIdTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RouteIdTest.java Thu Oct 29 11:58:42 2009
@@ -16,6 +16,8 @@
*/
package org.apache.camel.processor;
+import java.io.IOException;
+
import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
@@ -53,8 +55,11 @@
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start").id("myCoolRoute")
- .onException(Exception.class).handled(true).to("mock:error").end()
+ onException(Exception.class).handled(true).to("mock:error").end();
+
+ from("direct:start")
+ .onException(IOException.class).maximumRedeliveries(5).end()
+ .routeId("myCoolRoute")
.choice()
.when(body().contains("Kabom")).throwException(new IllegalArgumentException("Damn"))
.otherwise()