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()