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/21 11:28:03 UTC

svn commit: r912325 - in /camel/trunk/camel-core/src: main/java/org/apache/camel/CamelContext.java main/java/org/apache/camel/impl/DefaultCamelContext.java test/java/org/apache/camel/impl/DefaultCamelContextTest.java

Author: davsclaus
Date: Sun Feb 21 10:28:02 2010
New Revision: 912325

URL: http://svn.apache.org/viewvc?rev=912325&view=rev
Log:
Added getRoute(id) method to CamelContext.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?rev=912325&r1=912324&r2=912325&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Sun Feb 21 10:28:02 2010
@@ -271,6 +271,14 @@
     List<Route> getRoutes();
 
     /**
+     * Gets the route with the given id
+     *
+     * @param id id of the route
+     * @return the route or <tt>null</tt> if not found
+     */
+    Route getRoute(String id);
+
+    /**
      * Adds a collection of routes to this context using the given builder
      * to build them
      *

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=912325&r1=912324&r2=912325&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Sun Feb 21 10:28:02 2010
@@ -527,6 +527,15 @@
         return new ArrayList<Route>(routes);
     }
 
+    public Route getRoute(String id) {
+        for (Route route : routes) {
+            if (route.getId().equals(id)) {
+                return route;
+            }
+        }
+        return null;
+    }
+
     public void setRoutes(List<Route> routes) {
         this.routes = routes;
         throw new UnsupportedOperationException("Overriding existing routes is not supported yet, use addRoutes instead");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java?rev=912325&r1=912324&r2=912325&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java Sun Feb 21 10:28:02 2010
@@ -24,6 +24,7 @@
 import org.apache.camel.Endpoint;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.bean.BeanComponent;
 import org.apache.camel.component.direct.DirectComponent;
@@ -174,4 +175,22 @@
         }
     }
 
+    public void testGetRouteById() throws Exception {
+        DefaultCamelContext ctx = new DefaultCamelContext();
+        ctx.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start").routeId("coolRoute").to("mock:result");
+            }
+        });
+        ctx.start();
+
+        Route route = ctx.getRoute("coolRoute");
+        assertNotNull(route);
+        assertEquals("coolRoute", route.getId());
+        assertEquals("direct://start", route.getConsumer().getEndpoint().getEndpointUri());
+
+        assertNull(ctx.getRoute("unknown"));
+    }
+
 }