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/10/01 13:15:03 UTC
svn commit: r1003484 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/spi/
camel-core/src/test/java/org/apache/camel/processor/
components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/
components/camel-spring/src/test/reso...
Author: davsclaus
Date: Fri Oct 1 11:15:03 2010
New Revision: 1003484
URL: http://svn.apache.org/viewvc?rev=1003484&view=rev
Log:
Fixed test.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java (contents, props changed)
- copied, changed from r1003433, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRoute.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties
- copied, changed from r1003433, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.cfg
Removed:
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRoute.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.cfg
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/RoutePolicy.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest-context.xml
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/RoutePolicy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/RoutePolicy.java?rev=1003484&r1=1003483&r2=1003484&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/RoutePolicy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/RoutePolicy.java Fri Oct 1 11:15:03 2010
@@ -16,7 +16,6 @@
*/
package org.apache.camel.spi;
-import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Route;
Added: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java?rev=1003484&view=auto
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java (added)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java Fri Oct 1 11:15:03 2010
@@ -0,0 +1,63 @@
+/**
+ * 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.processor;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.Route;
+import org.apache.camel.impl.RoutePolicySupport;
+
+/**
+ * @version $Revision$
+ */
+public class FlipRoutePolicy extends RoutePolicySupport {
+
+ private final String name1;
+ private final String name2;
+
+ /**
+ * Flip the two routes
+ *
+ * @param name1 name of the first route
+ * @param name2 name of the second route
+ */
+ public FlipRoutePolicy(String name1, String name2) {
+ this.name1 = name1;
+ this.name2 = name2;
+ }
+
+ @Override
+ public void onExchangeDone(Route route, Exchange exchange) {
+ // decide which route to stop and start
+ // basically we should flip the two routes
+ String stop = route.getId().equals(name1) ? name1 : name2;
+ String start = route.getId().equals(name1) ? name2 : name1;
+
+ CamelContext context = exchange.getContext();
+ try {
+ context.getInflightRepository().remove(exchange);
+ context.stopRoute(stop);
+ context.startRoute(start);
+ } catch (Exception e) {
+ // let the exception handle handle it, which is often just to log it
+ getExceptionHandler().handleException("Error flipping routes", e);
+ }
+ }
+
+}
Added: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java?rev=1003484&view=auto
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java (added)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java Fri Oct 1 11:15:03 2010
@@ -0,0 +1,64 @@
+/**
+ * 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.processor;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.RoutePolicy;
+
+/**
+ * @version $Revision$
+ */
+public class FlipRoutePolicyTest extends ContextTestSupport {
+
+ public void testFlipRoutePolicyTest() throws Exception {
+ MockEndpoint foo = getMockEndpoint("mock:foo");
+ foo.expectedMinimumMessageCount(5);
+
+ MockEndpoint bar = getMockEndpoint("mock:bar");
+ bar.expectedMinimumMessageCount(5);
+
+ assertMockEndpointsSatisfied();
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ // create the flip route policy
+ RoutePolicy policy = new FlipRoutePolicy("foo", "bar");
+
+ // use the flip route policy in the foo route
+ from("timer://foo")
+ .routeId("foo").routePolicy(policy)
+ .setBody().constant("Foo message")
+ .to("log:foo")
+ .to("mock:foo");
+
+ // use the flip route policy in the bar route and do NOT start
+ // this route on startup
+ from("timer://bar")
+ .routeId("bar").routePolicy(policy).noAutoStartup()
+ .setBody().constant("Bar message")
+ .to("log:bar")
+ .to("mock:bar");
+ }
+ };
+ }
+}
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest.java?rev=1003484&r1=1003483&r2=1003484&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest.java Fri Oct 1 11:15:03 2010
@@ -17,11 +17,12 @@
package org.apache.camel.spring.placeholder;
import java.io.File;
-import java.util.Calendar;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import org.apache.camel.ContextTestSupport;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
-import org.apache.camel.util.FileUtil;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -39,8 +40,8 @@ public class SimpleLanguageWithSprinProp
@Before
public void setUp() throws Exception {
- FileUtil.deleteFile(new File("target/outBox"));
- FileUtil.deleteFile(new File("target/outBoxSimple"));
+ ContextTestSupport.deleteDirectory("target/outBox");
+ ContextTestSupport.deleteDirectory("target/outBoxSimple");
}
@Test
@@ -65,12 +66,10 @@ public class SimpleLanguageWithSprinProp
}
private void assertFileExists(String directory) {
- Calendar today = Calendar.getInstance();
- String day = String.valueOf(today.get(Calendar.DAY_OF_MONTH));
- String month = String.valueOf(today.get(Calendar.MONTH) + 1);
- month = month.length() == 1 ? "0" + month : month;
- String year = String.valueOf(today.get(Calendar.YEAR));
-
- assertTrue(new File(directory + "test-" + year + month + day + ".txt").exists());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ String s = sdf.format(new Date());
+ String name = directory + "test-" + s + ".txt";
+ File file = new File(name).getAbsoluteFile();
+ assertTrue("File should exist: " + name, file.exists());
}
}
Copied: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java (from r1003433, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRoute.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java?p2=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java&p1=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRoute.java&r1=1003433&r2=1003484&rev=1003484&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRoute.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java Fri Oct 1 11:15:03 2010
@@ -18,14 +18,13 @@ package org.apache.camel.spring.placehol
import org.apache.camel.builder.RouteBuilder;
-public class SimpleLanguageWithSprinPropertyPlaceholderRoute extends RouteBuilder {
+public class SimpleLanguageWithSpringPropertyPlaceholderRoute extends RouteBuilder {
private String fromEndpoint;
private String toEndpoint;
public void configure() throws Exception {
- from(fromEndpoint)
- .to(toEndpoint);
+ from(fromEndpoint).to(toEndpoint);
}
public void setFromEndpoint(String fromEndpoint) {
Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRoute.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest-context.xml?rev=1003484&r1=1003483&r2=1003484&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest-context.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/SimpleLanguageWithSprinPropertyPlaceholderRouteTest-context.xml Fri Oct 1 11:15:03 2010
@@ -25,14 +25,15 @@
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
">
- <ctx:property-placeholder ignore-unresolvable="true" location="classpath:org/apache/camel/spring/placeholder/bundle-context.cfg" />
+ <ctx:property-placeholder ignore-unresolvable="true"
+ location="classpath:org/apache/camel/spring/placeholder/bundle-context.properties"/>
- <bean id="testRoute1" class="org.apache.camel.spring.placeholder.SimpleLanguageWithSprinPropertyPlaceholderRoute">
+ <bean id="testRoute1" class="org.apache.camel.spring.placeholder.SimpleLanguageWithSpringPropertyPlaceholderRoute">
<property name="fromEndpoint" value="${fromEndpoint}" />
<property name="toEndpoint" value="${toEndpoint}" />
</bean>
- <bean id="testRoute2" class="org.apache.camel.spring.placeholder.SimpleLanguageWithSprinPropertyPlaceholderRoute">
+ <bean id="testRoute2" class="org.apache.camel.spring.placeholder.SimpleLanguageWithSpringPropertyPlaceholderRoute">
<property name="fromEndpoint" value="${fromEndpointSimple}" />
<property name="toEndpoint" value="${toEndpointSimple}" />
</bean>
@@ -41,4 +42,5 @@
<camel:routeBuilder ref="testRoute1"/>
<camel:routeBuilder ref="testRoute2"/>
</camelContext>
+
</beans>
\ No newline at end of file
Copied: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties (from r1003433, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.cfg)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties?p2=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties&p1=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.cfg&r1=1003433&r2=1003484&rev=1003484&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.cfg (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties Fri Oct 1 11:15:03 2010
@@ -1,23 +1,19 @@
-#
-#
-# 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.
-#
-#
+## ------------------------------------------------------------------------
+## 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.
+## ------------------------------------------------------------------------
fromEndpoint=direct:start
toEndpoint=file://target/outBox?fileName=test-${date:now:yyyyMMdd}.txt