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