Return-Path: Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: (qmail 89209 invoked from network); 23 Mar 2007 04:59:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Mar 2007 04:59:23 -0000 Received: (qmail 99082 invoked by uid 500); 23 Mar 2007 04:59:31 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 99061 invoked by uid 500); 23 Mar 2007 04:59:31 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 99052 invoked by uid 99); 23 Mar 2007 04:59:30 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2007 21:59:30 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2007 21:59:22 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id BA3331A9838; Thu, 22 Mar 2007 21:59:01 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r521586 - in /activemq/camel/trunk: camel-core/src/main/java/org/apache/camel/ camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/main/java/org/apache/camel/impl/ camel-core/src/test/java/org/apache/camel/builder/ camel-http/... Date: Fri, 23 Mar 2007 04:59:01 -0000 To: commits@activemq.apache.org From: chirino@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070323045901.BA3331A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: chirino Date: Thu Mar 22 21:59:00 2007 New Revision: 521586 URL: http://svn.apache.org/viewvc?view=rev&rev=521586 Log: Added a Route class to hold a configured Endpoint -> Processor information. Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java activemq/camel/trunk/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java (original) +++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Thu Mar 22 21:59:00 2007 @@ -19,6 +19,7 @@ import org.apache.camel.builder.RouteBuilder; +import java.util.List; import java.util.Map; import java.util.concurrent.Callable; @@ -77,13 +78,13 @@ // Route Management Methods //----------------------------------------------------------------------- - public Map getRoutes() ; + public List getRoutes() ; - public void setRoutes(Map routes); + public void setRoutes(List routes); public void setRoutes(RouteBuilder builder); public void setRoutes(RouteFactory factory); - public void addRoutes(Map routes); + public void addRoutes(List routes); public void addRoutes(RouteBuilder builder); public void addRoutes(RouteFactory factory); Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java (original) +++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java Thu Mar 22 21:59:00 2007 @@ -16,18 +16,17 @@ */ package org.apache.camel.builder; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import org.apache.camel.Route; import org.apache.camel.impl.DefaultCamelContext; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - /** * A builder of destinationBuilders using a typesafe Java DLS. * @@ -36,7 +35,7 @@ public abstract class RouteBuilder extends BuilderSupport { private List> fromBuilders = new ArrayList>(); private AtomicBoolean initalized = new AtomicBoolean(false); - private Map, Processor> routeMap = new HashMap, Processor>(); + private List> routes = new ArrayList>(); protected RouteBuilder() { this(null); @@ -99,9 +98,9 @@ /** * Returns the routing map from inbound endpoints to processors */ - public Map, Processor> getRouteMap() { + public List> getRouteList() { checkInitialized(); - return routeMap; + return routes; } /** @@ -117,18 +116,18 @@ protected void checkInitialized() { if (initalized.compareAndSet(false, true)) { configure(); - populateRouteMap(routeMap); + populateRoutes(routes); } } - protected void populateRouteMap(Map, Processor> routeMap) { + protected void populateRoutes(List> routes) { for (FromBuilder builder : fromBuilders) { Endpoint from = builder.getFrom(); Processor processor = makeProcessor(from, builder); if (processor == null) { throw new IllegalArgumentException("No processor created for DestinationBuilder: " + builder); } - routeMap.put(from, processor); + routes.add(new Route(from, processor)); } } Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original) +++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Thu Mar 22 21:59:00 2007 @@ -17,8 +17,10 @@ */ package org.apache.camel.impl; +import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.Callable; @@ -26,9 +28,11 @@ import org.apache.camel.Component; import org.apache.camel.Endpoint; import org.apache.camel.EndpointResolver; +import org.apache.camel.Exchange; import org.apache.camel.ExchangeConverter; import org.apache.camel.Processor; import org.apache.camel.ResolveEndpointFailedException; +import org.apache.camel.Route; import org.apache.camel.RouteFactory; import org.apache.camel.TypeConverter; import org.apache.camel.builder.RouteBuilder; @@ -43,7 +47,7 @@ private EndpointResolver endpointResolver; private ExchangeConverter exchangeConverter; private Map components = new HashMap(); - private Map routes; + private List routes; private TypeConverter typeConverter; /** @@ -125,36 +129,34 @@ * Activates all the starting endpoints in that were added as routes. */ public void activateEndpoints() throws Exception { - for (Map.Entry entry : routes.entrySet()) { - Endpoint endpoint = entry.getKey(); - Processor processor = entry.getValue(); - endpoint.activate(processor); - } + for (Route route : routes) { + route.getEndpoint().activate(route.getProcessor()); + } } /** * Deactivates all the starting endpoints in that were added as routes. */ public void deactivateEndpoints() { - for (Endpoint endpoint : routes.keySet()) { - endpoint.deactivate(); + for (Route route : routes) { + route.getEndpoint().deactivate(); } } // Route Management Methods //----------------------------------------------------------------------- - public Map getRoutes() { + public List getRoutes() { return routes; } - public void setRoutes(Map routes) { + public void setRoutes(List routes) { this.routes = routes; } public void setRoutes(RouteBuilder builder) { // lets now add the routes from the builder builder.setContext(this); - setRoutes(builder.getRouteMap()); + setRoutes(builder.getRouteList()); } public void setRoutes(final RouteFactory factory) { @@ -166,18 +168,18 @@ setRoutes(builder); } - public void addRoutes(Map routes) { + public void addRoutes(List routes) { if( this.routes == null ) { - this.routes = new LinkedHashMap(routes); + this.routes = new ArrayList(routes); } else { - this.routes.putAll(routes); + this.routes.addAll(routes); } } public void addRoutes(RouteBuilder builder) { // lets now add the routes from the builder builder.setContext(this); - addRoutes(builder.getRouteMap()); + addRoutes(builder.getRouteList()); } public void addRoutes(final RouteFactory factory) { Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java (original) +++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java Thu Mar 22 21:59:00 2007 @@ -17,17 +17,17 @@ */ package org.apache.camel.builder; +import java.util.List; + import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import org.apache.camel.Route; import org.apache.camel.TestSupport; import org.apache.camel.processor.FilterProcessor; import org.apache.camel.processor.LoggingErrorHandler; import org.apache.camel.processor.SendProcessor; -import java.util.Map; -import java.util.Set; - /** * @version $Revision$ */ @@ -163,13 +163,12 @@ }; // END SNIPPET: e5 - Map, Processor> routeMap = builder.getRouteMap(); - Set, Processor>> routes = routeMap.entrySet(); + List> routes = builder.getRouteList(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); - Processor processor = route.getValue(); + Processor processor = route.getProcessor(); LoggingErrorHandler loggingProcessor = assertIsInstanceOf(LoggingErrorHandler.class, processor); FilterProcessor filterProcessor = assertIsInstanceOf(FilterProcessor.class, loggingProcessor.getOutput()); Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java (original) +++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java Thu Mar 22 21:59:00 2007 @@ -24,6 +24,7 @@ import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import org.apache.camel.Route; import org.apache.camel.TestSupport; import org.apache.camel.processor.ChoiceProcessor; import org.apache.camel.processor.DeadLetterChannel; @@ -57,11 +58,10 @@ public void testSimpleRoute() throws Exception { RouteBuilder builder = buildSimpleRoute(); - Map, Processor> routeMap = builder.getRouteMap(); - Set, Processor>> routes = routeMap.entrySet(); + List> routes = builder.getRouteList(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -84,13 +84,12 @@ public void testSimpleRouteWithHeaderPredicate() throws Exception { RouteBuilder builder = buildSimpleRouteWithHeaderPredicate(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -118,13 +117,12 @@ public void testSimpleRouteWithChoice() throws Exception { RouteBuilder builder = buildSimpleRouteWithChoice(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -162,12 +160,11 @@ public void testCustomProcessor() throws Exception { RouteBuilder builder = buildCustomProcessor(); - Map, Processor> routeMap = builder.getRouteMap(); + List> routes = builder.getRouteList(); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -190,13 +187,12 @@ public void testCustomProcessorWithFilter() throws Exception { RouteBuilder builder = buildCustomProcessorWithFilter(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -220,13 +216,12 @@ public void testWireTap() throws Exception { RouteBuilder builder = buildWireTap(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -263,13 +258,12 @@ RouteBuilder builder = buildRouteWithInterceptor(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -292,13 +286,12 @@ }; // END SNIPPET: e7 - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); - assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + assertEquals("Number routes created", 2, routes.size()); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -338,13 +331,12 @@ RouteBuilder builder = buildDynamicRecipientList(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -366,13 +358,12 @@ RouteBuilder builder = buildSplitter(); - Map, Processor> routeMap = builder.getRouteMap(); - System.out.println("Created map: " + routeMap); + List> routes = builder.getRouteList(); + System.out.println("Created routes: " + routes); - Set, Processor>> routes = routeMap.entrySet(); assertEquals("Number routes created", 1, routes.size()); - for (Map.Entry, Processor> route : routes) { - Endpoint key = route.getKey(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); assertEquals("From endpoint", "queue:a", key.getEndpointUri()); Processor processor = getProcessorWithoutErrorHandler(route); @@ -390,8 +381,8 @@ /** * By default routes should be wrapped in the {@link DeadLetterChannel} so lets unwrap that and return the actual processor */ - protected Processor getProcessorWithoutErrorHandler(Map.Entry, Processor> route) { - Processor processor = route.getValue(); + protected Processor getProcessorWithoutErrorHandler(Route route) { + Processor processor = route.getProcessor(); return unwrapErrorHandler(processor); } Modified: activemq/camel/trunk/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java (original) +++ activemq/camel/trunk/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java Thu Mar 22 21:59:00 2007 @@ -46,6 +46,9 @@ HttpExchange exchange = endpoint.createExchange(request, response); endpoint.onExchange(exchange); + // HC: The getBinding() interesting because it illustrates the impedance miss-match between + // HTTP's stream oriented protocol, and Camels more message oriented protocol exchanges. + // now lets output to the response endpoint.getBinding().writeResponse(exchange); } Modified: activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java?view=diff&rev=521586&r1=521585&r2=521586 ============================================================================== --- activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java (original) +++ activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java Thu Mar 22 21:59:00 2007 @@ -17,12 +17,14 @@ */ package org.apache.camel.spring; +import java.util.List; import java.util.Map; import java.util.Set; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.Processor; +import org.apache.camel.Route; import org.apache.camel.TestSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -41,15 +43,14 @@ CamelContext context = (CamelContext) applicationContext.getBean("camel"); assertNotNull("No context found!", context); - Map map = context.getRoutes(); - log.debug("Found routes: " + map); + List routes = context.getRoutes(); + log.debug("Found routes: " + routes); - Set> entries = map.entrySet(); - assertEquals("One Route should be found", 1, entries.size()); + assertEquals("One Route should be found", 1, routes.size()); - for (Map.Entry entry : entries) { - Endpoint key = entry.getKey(); - Processor processor = entry.getValue(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); + Processor processor = route.getProcessor(); assertEndpointUri(key, "queue:test.a"); } @@ -61,15 +62,14 @@ CamelContext context = (CamelContext) applicationContext.getBean("camel2"); assertNotNull("No context found!", context); - Map map = context.getRoutes(); - log.debug("Found routes: " + map); + List routes = context.getRoutes(); + log.debug("Found routes: " + routes); - Set> entries = map.entrySet(); - assertEquals("One Route should be found", 1, entries.size()); + assertEquals("One Route should be found", 1, routes.size()); - for (Map.Entry entry : entries) { - Endpoint key = entry.getKey(); - Processor processor = entry.getValue(); + for (Route route : routes) { + Endpoint key = route.getEndpoint(); + Processor processor = route.getProcessor(); assertEndpointUri(key, "queue:test.c"); } }