You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/06/15 13:44:23 UTC
svn commit: r954840 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/model/
camel-core/src/test/java/org/apache/camel/model/
camel-core/src/test/java/org/apache/camel/processor/
components/camel-spring/src/test/java/org/apache/camel/spring/...
Author: ningjiang
Date: Tue Jun 15 11:44:22 2010
New Revision: 954840
URL: http://svn.apache.org/viewvc?rev=954840&view=rev
Log:
CAMEL-2811 the routeContext should be independent on CamelContext
Added:
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java (with props)
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml (with props)
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java
camel/trunk/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DualPipelineTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceJavaDSLBuilderTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceTest.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java Tue Jun 15 11:44:22 2010
@@ -69,9 +69,11 @@ public class FromDefinition extends Opti
public Endpoint resolveEndpoint(RouteContext context) {
if (endpoint == null) {
- endpoint = context.resolveEndpoint(getUri(), getRef());
+ return context.resolveEndpoint(getUri(), getRef());
+ } else {
+ return endpoint;
}
- return endpoint;
+
}
// Properties
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java Tue Jun 15 11:44:22 2010
@@ -60,9 +60,10 @@ public abstract class SendDefinition<Typ
public Endpoint resolveEndpoint(RouteContext context) {
if (endpoint == null) {
- endpoint = context.resolveEndpoint(getUri(), getRef());
+ return context.resolveEndpoint(getUri(), getRef());
+ } else {
+ return endpoint;
}
- return endpoint;
}
// Properties
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java Tue Jun 15 11:44:22 2010
@@ -51,7 +51,7 @@ public class StartingRoutesErrorReported
context.start();
fail();
} catch (FailedToCreateRouteException e) {
- assertTrue(e.getMessage().startsWith("Failed to create route route2 at: >>> To[mock:result?foo=bar] <<< in route: Route[[From[direct://start]] -> [To[mock:result?foo=bar]]] because of"));
+ assertTrue(e.getMessage().startsWith("Failed to create route route2 at: >>> To[mock:result?foo=bar] <<< in route: Route[[From[direct:start]] -> [To[mock:result?foo=bar]]] because of"));
}
}
@@ -67,7 +67,7 @@ public class StartingRoutesErrorReported
});
context.start();
} catch (FailedToCreateRouteException e) {
- assertTrue(e.getMessage().startsWith("Failed to create route route3 at: >>> Bean[ref:] <<< in route: Route[[From[direct://start]] -> [To[mock://foo], Bean[ref:]]... because of"));
+ assertTrue(e.getMessage().startsWith("Failed to create route route3 at: >>> Bean[ref:] <<< in route: Route[[From[direct:start]] -> [To[mock:foo], Bean[ref:]]] because of"));
}
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DualPipelineTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DualPipelineTest.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DualPipelineTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DualPipelineTest.java Tue Jun 15 11:44:22 2010
@@ -48,13 +48,13 @@ public class DualPipelineTest extends Co
assertEquals(4, pd2.getOutputs().size());
SendDefinition send1 = assertIsInstanceOf(SendDefinition.class, pd1.getOutputs().get(2));
- assertEquals("mock://b", send1.getEndpoint().getEndpointUri());
+ assertEquals("mock:b", send1.getUri());
SendDefinition send2 = assertIsInstanceOf(SendDefinition.class, pd2.getOutputs().get(3));
- assertEquals("mock://e", send2.getEndpoint().getEndpointUri());
+ assertEquals("mock:e", send2.getUri());
SendDefinition send = assertIsInstanceOf(SendDefinition.class, context.getRouteDefinitions().get(0).getOutputs().get(1));
- assertEquals("mock://result", send.getEndpoint().getEndpointUri());
+ assertEquals("mock:result", send.getUri());
}
@Override
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceJavaDSLBuilderTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceJavaDSLBuilderTest.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceJavaDSLBuilderTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceJavaDSLBuilderTest.java Tue Jun 15 11:44:22 2010
@@ -60,7 +60,7 @@ public class RandomLoadBalanceJavaDSLBui
RouteDefinition route = context.getRouteDefinitions().get(0);
// the start of the route
- sb.append("from(\"" + route.getInputs().get(0).getEndpoint().getEndpointUri() + "\")");
+ sb.append("from(\"" + route.getInputs().get(0).getUri() + "\")");
// navigate the route and add Java DSL to the sb
navigateDefinition(route, sb);
@@ -102,7 +102,7 @@ public class RandomLoadBalanceJavaDSLBui
if (defn instanceof SendDefinition) {
SendDefinition send = (SendDefinition) defn;
- sb.append(".to(\"" + send.getEndpoint().getEndpointUri() + "\")");
+ sb.append(".to(\"" + send.getUri() + "\")");
}
List<ProcessorDefinition> children = defn.getOutputs();
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceTest.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RandomLoadBalanceTest.java Tue Jun 15 11:44:22 2010
@@ -29,16 +29,16 @@ public class RandomLoadBalanceTest exten
protected void setUp() throws Exception {
super.setUp();
- x = getMockEndpoint("mock:x");
- y = getMockEndpoint("mock:y");
- z = getMockEndpoint("mock:z");
+ x = getMockEndpoint("mock://x");
+ y = getMockEndpoint("mock://y");
+ z = getMockEndpoint("mock://z");
}
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- from("direct:start").loadBalance().
- random().to("mock:x", "mock:y", "mock:z");
+ from("direct://start").loadBalance().
+ random().to("mock://x", "mock://y", "mock://z");
}
};
}
Added: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java?rev=954840&view=auto
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java (added)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java Tue Jun 15 11:44:22 2010
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.spring.config;
+
+import junit.framework.TestCase;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Endpoint;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spring.SpringTestSupport;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ * @version $Revision$
+ */
+public class RouteRefMultipleCamelContextRefsTest extends TestCase {
+
+ protected AbstractXmlApplicationContext createApplicationContext() {
+ return new ClassPathXmlApplicationContext("org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml");
+ }
+
+ public void testSpringTwoCamelContextDirectEndpoint() throws Exception {
+ AbstractXmlApplicationContext ac = createApplicationContext();
+ ac.start();
+
+ CamelContext camel1 = (CamelContext) ac.getBean("myCamel-1", CamelContext.class);
+ CamelContext camel2 = (CamelContext) ac.getBean("myCamel-2", CamelContext.class);
+
+ Endpoint start1 = camel1.getEndpoint("direct:start");
+ Endpoint start2 = camel2.getEndpoint("direct:start");
+ assertNotSame(start1, start2);
+
+ MockEndpoint mock1 = camel1.getEndpoint("mock:result", MockEndpoint.class);
+ mock1.expectedBodiesReceived("Hello World");
+
+ MockEndpoint mock2 = camel2.getEndpoint("mock:result", MockEndpoint.class);
+ mock2.expectedBodiesReceived("Bye World");
+
+ camel1.createProducerTemplate().sendBody("direct:start", "Hello World");
+ camel2.createProducerTemplate().sendBody("direct:start", "Bye World");
+
+ mock1.assertIsSatisfied();
+ mock2.assertIsSatisfied();
+
+ ac.stop();
+ }
+
+}
\ No newline at end of file
Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java?rev=954840&r1=954839&r2=954840&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java Tue Jun 15 11:44:22 2010
@@ -44,7 +44,7 @@ public class XmlConfigTestSupport extend
List<FromDefinition> inputs = route.getInputs();
assertEquals("Number of inputs", 1, inputs.size());
FromDefinition fromType = inputs.get(0);
- assertEquals("from URI", "seda://test.a", fromType.getEndpoint().getEndpointUri());
+ assertEquals("from URI", "seda:test.a", fromType.getUri());
List<ProcessorDefinition> outputs = route.getOutputs();
assertEquals("Number of outputs", 1, outputs.size());
Added: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml?rev=954840&view=auto
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml (added)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml Tue Jun 15 11:44:22 2010
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+ ">
+
+ <!-- START SNIPPET: e1 -->
+ <routeContext id="myCoolRoute" xmlns="http://camel.apache.org/schema/spring">
+ <!-- we can have a route -->
+ <route id="cool">
+ <from uri="direct:start"/>
+ <to uri="mock:result"/>
+ </route>
+ </routeContext>
+
+ <camelContext id="myCamel-1" xmlns="http://camel.apache.org/schema/spring">
+ <routeContextRef ref="myCoolRoute"/>
+ </camelContext>
+
+ <camelContext id="myCamel-2" xmlns="http://camel.apache.org/schema/spring">
+ <routeContextRef ref="myCoolRoute"/>
+ </camelContext>
+ <!-- END SNIPPET: e1 -->
+
+</beans>
Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefMultipleCamelContextRefsTest.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml