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