You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2012/09/05 20:15:16 UTC
svn commit: r1381278 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/model/
components/camel-cdi/src/main/java/org/apache/camel/cdi/
components/camel-cdi/src/main/java/org/apache/camel/component/cdi/
components/camel-cdi/src/main/java/org/...
Author: jstrachan
Date: Wed Sep 5 18:15:15 2012
New Revision: 1381278
URL: http://svn.apache.org/viewvc?rev=1381278&view=rev
Log:
initial implementation of CAMEL-5554 so we can easily reuse XML based route definitions from inside CDI
Added:
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java (with props)
camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java (with props)
camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java (with props)
camel/trunk/components/camel-cdi/src/test/resources/routes.xml (with props)
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiBeanRegistry.java
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java
camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointDefinedUsingConfigPropertyTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java Wed Sep 5 18:15:15 2012
@@ -16,6 +16,7 @@
*/
package org.apache.camel.model;
+import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
@@ -43,9 +44,7 @@ public final class ModelHelper {
* @throws JAXBException is throw if error marshalling to XML
*/
public static String dumpModelAsXml(NamedNode definition) throws JAXBException {
- // create a new jaxb context
- // must use classloader from CamelContext to have JAXB working
- JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader());
+ JAXBContext jaxbContext = createJaxbContext();
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
@@ -64,10 +63,7 @@ public final class ModelHelper {
* @throws javax.xml.bind.JAXBException is thrown if error unmarshalling from xml to model
*/
public static <T extends NamedNode> T createModelFromXml(String xml, Class<T> type) throws JAXBException {
- // create a new jaxb context
- // must use classloader from CamelContext to have JAXB working
- JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader());
-
+ JAXBContext jaxbContext = createJaxbContext();
StringReader reader = new StringReader(xml);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Object result = unmarshaller.unmarshal(reader);
@@ -76,7 +72,26 @@ public final class ModelHelper {
if (result == null) {
throw new JAXBException("Cannot unmarshal to " + type + " using JAXB from XML: " + xml);
}
+ return type.cast(result);
+ }
+ /**
+ * Marshal the xml to the model definition
+ *
+ * @param stream the xml stream
+ * @param type the definition type to return, will throw a {@link ClassCastException} if not the expected type
+ * @return the model definition
+ * @throws javax.xml.bind.JAXBException is thrown if error unmarshalling from xml to model
+ */
+ public static <T extends NamedNode> T createModelFromXml(InputStream stream, Class<T> type) throws JAXBException {
+ JAXBContext jaxbContext = createJaxbContext();
+ Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
+ Object result = unmarshaller.unmarshal(stream);
return type.cast(result);
}
+
+ public static JAXBContext createJaxbContext() throws JAXBException {
+ // must use classloader from CamelContext to have JAXB working
+ return JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader());
+ }
}
Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java (original)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java Wed Sep 5 18:15:15 2012
@@ -15,11 +15,11 @@
* limitations under the License.
*/
package org.apache.camel.cdi;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-
import javax.enterprise.util.Nonbinding;
import javax.inject.Qualifier;
Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java?rev=1381278&view=auto
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java (added)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java Wed Sep 5 18:15:15 2012
@@ -0,0 +1,84 @@
+/**
+ *
+ * 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.cdi;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import javax.xml.bind.JAXBException;
+
+import org.apache.camel.model.ModelHelper;
+import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.util.ObjectHelper;
+
+/**
+ * A helper class for loading route definitions from a file, URL or the classpath
+ */
+public class RoutesXml {
+
+ /**
+ * Loads the routes from the given XML content
+ */
+ public static RoutesDefinition loadRoutesFromXML(String xml) throws JAXBException {
+ return ModelHelper.createModelFromXml(xml, RoutesDefinition.class);
+ }
+
+ /**
+ * Loads the routes from the classpath
+ */
+ public static RoutesDefinition loadRoutesFromClasspath(String uri) throws JAXBException {
+ InputStream stream = ObjectHelper.loadResourceAsStream(uri);
+ ObjectHelper.notNull(stream, "Could not find resource '" + uri + "' on the ClassLoader");
+ return ModelHelper.createModelFromXml(stream, RoutesDefinition.class);
+ }
+
+ /**
+ * Loads the routes from a {@link URL}
+ */
+ public static RoutesDefinition loadRoutesFromURL(URL url) throws JAXBException, IOException {
+ ObjectHelper.notNull(url, "url");
+ return ModelHelper.createModelFromXml(url.openStream(), RoutesDefinition.class);
+ }
+
+ /**
+ * Loads the routes from a {@link URL}
+ */
+ public static RoutesDefinition loadRoutesFromURL(String url) throws IOException, JAXBException {
+ return loadRoutesFromURL(new URL(url));
+ }
+
+ /**
+ * Loads the routes from a {@link File}
+ */
+ public static RoutesDefinition loadRoutesFromFile(File file) throws JAXBException, FileNotFoundException {
+ ObjectHelper.notNull(file, "file");
+ return ModelHelper.createModelFromXml(new FileInputStream(file), RoutesDefinition.class);
+ }
+
+ /**
+ * Loads the routes from a {@link File}
+ */
+ public static RoutesDefinition loadRoutesFromFile(String fileName)
+ throws JAXBException, FileNotFoundException {
+ return loadRoutesFromFile(new File(fileName));
+ }
+
+}
Propchange: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiBeanRegistry.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiBeanRegistry.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiBeanRegistry.java (original)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiBeanRegistry.java Wed Sep 5 18:15:15 2012
@@ -19,7 +19,6 @@ package org.apache.camel.component.cdi;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-
import javax.enterprise.inject.spi.Bean;
import org.apache.camel.spi.Registry;
Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java (original)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java Wed Sep 5 18:15:15 2012
@@ -19,9 +19,7 @@ package org.apache.camel.component.cdi.i
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashSet;
-import java.util.List;
import java.util.Set;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.spi.CreationalContext;
@@ -31,8 +29,6 @@ import javax.enterprise.inject.spi.Injec
import javax.enterprise.inject.spi.InjectionTarget;
import org.apache.camel.CamelContext;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cdi.CdiCamelContext;
import org.apache.camel.util.ObjectHelper;
import org.apache.deltaspike.core.api.literal.AnyLiteral;
Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java (original)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java Wed Sep 5 18:15:15 2012
@@ -19,18 +19,18 @@ package org.apache.camel.component.cdi.i
import java.util.ArrayList;
import java.util.List;
-import javax.enterprise.context.spi.Contextual;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Producer;
+import org.apache.camel.RoutesBuilder;
import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cdi.CdiCamelContext;
+import org.apache.camel.model.RouteContainer;
+import org.apache.camel.util.ObjectHelper;
/**
- * Configuration options to be applied to a {@link CamelContext} by a {@link CamelContextBean}
+ * Configuration options to be applied to a {@link org.apache.camel.CamelContext} by a {@link CamelContextBean}
*/
public class CamelContextConfig {
private final List<Bean<?>> routeBuilderBeans = new ArrayList<Bean<?>>();
@@ -42,11 +42,25 @@ public class CamelContextConfig {
public void configure(CdiCamelContext camelContext, BeanManager beanManager) {
for (Bean<?> bean : routeBuilderBeans) {
CreationalContext<?> createContext = beanManager.createCreationalContext(bean);
- RouteBuilder routeBuilder = (RouteBuilder)beanManager.getReference(bean, RouteBuilder.class, createContext);
+ Class<?> beanClass = bean.getBeanClass();
+ Object reference = beanManager.getReference(bean, beanClass, createContext);
+ ObjectHelper.notNull(reference, "Could not instantiate bean of type " + beanClass.getName() + " for " + bean);
try {
- camelContext.addRoutes(routeBuilder);
+ if (reference instanceof RoutesBuilder) {
+ RoutesBuilder routeBuilder = (RoutesBuilder)reference;
+ camelContext.addRoutes(routeBuilder);
+ } else if (reference instanceof RouteContainer) {
+ RouteContainer routeContainer = (RouteContainer)reference;
+ camelContext.addRouteDefinitions(routeContainer.getRoutes());
+ } else {
+ throw new IllegalArgumentException("Invalid route builder " + reference
+ + " of type " + beanClass.getName()
+ + ". Should be RoutesBuilder or RoutesContainer");
+ }
} catch (Exception e) {
- throw new RuntimeCamelException("Could not add route builder " + routeBuilder + ". Reason: " + e, e);
+ throw new RuntimeCamelException(
+ "Could not add " + reference + " to CamelContext: " + camelContext + ". Reason: " + e,
+ e);
}
}
}
Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java (original)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Wed Sep 5 18:15:15 2012
@@ -45,10 +45,12 @@ import org.apache.camel.CamelContextAwar
import org.apache.camel.Consume;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
+import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.cdi.ContextName;
import org.apache.camel.component.cdi.CdiCamelContext;
import org.apache.camel.impl.DefaultCamelBeanPostProcessor;
+import org.apache.camel.model.RouteContainer;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.ReflectionHelper;
import org.apache.deltaspike.core.api.provider.BeanProvider;
@@ -158,7 +160,7 @@ public class CamelExtension implements E
public void detectRouteBuilderBeans(@Observes ProcessBean<?> event) {
final Bean<?> bean = event.getBean();
Class<?> beanClass = bean.getBeanClass();
- if (RouteBuilder.class.isAssignableFrom(beanClass)) {
+ if (isRoutesBean(beanClass)) {
addRouteBuilderBean(bean, beanClass.getAnnotation(ContextName.class));
}
}
@@ -183,7 +185,7 @@ public class CamelExtension implements E
Annotated annotated = event.getAnnotated();
ContextName annotation = annotated.getAnnotation(ContextName.class);
Class<?> returnType = event.getAnnotatedProducerMethod().getJavaMember().getReturnType();
- if (RouteBuilder.class.isAssignableFrom(returnType)) {
+ if (isRoutesBean(returnType)) {
addRouteBuilderBean(event.getBean(), annotation);
}
}
@@ -314,4 +316,7 @@ public class CamelExtension implements E
return field.getAnnotation(Inject.class) != null;
}
+ protected boolean isRoutesBean(Class<?> returnType) {
+ return RoutesBuilder.class.isAssignableFrom(returnType) || RouteContainer.class.isAssignableFrom(returnType);
+ }
}
Modified: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointDefinedUsingConfigPropertyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointDefinedUsingConfigPropertyTest.java?rev=1381278&r1=1381277&r2=1381278&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointDefinedUsingConfigPropertyTest.java (original)
+++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointDefinedUsingConfigPropertyTest.java Wed Sep 5 18:15:15 2012
@@ -18,7 +18,6 @@ package org.apache.camel.cdi;
import java.util.ArrayList;
import java.util.List;
-
import javax.inject.Inject;
import org.apache.camel.EndpointInject;
Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java?rev=1381278&view=auto
==============================================================================
--- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java (added)
+++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java Wed Sep 5 18:15:15 2012
@@ -0,0 +1,61 @@
+/**
+ *
+ * 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.cdi;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.model.RoutesDefinition;
+import org.junit.Test;
+
+/**
+ * Checks we can load XML routes from the classpath and use then with CDI
+ */
+public class XmlRoutesFromClassPathTest extends CdiTestSupport {
+ @Produces
+ @ContextName
+ public RoutesDefinition createRoutes() throws Exception {
+ return RoutesXml.loadRoutesFromClasspath("routes.xml");
+ }
+
+ @Inject
+ @Mock
+ MockEndpoint results;
+
+ @Inject
+ @Uri("direct:start")
+ ProducerTemplate producer;
+
+ Object[] expectedBodies = { "body:1", "body:2" };
+
+ @Test
+ public void xmlRoutesWorkOnClassPath() throws Exception {
+ assertNotNull("results not injected", results);
+ assertNotNull("producer not injected", producer);
+
+ results.expectedBodiesReceived(expectedBodies);
+
+ for (Object body : expectedBodies) {
+ producer.sendBody(body);
+ }
+
+ results.assertIsSatisfied();
+ }
+}
Propchange: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java?rev=1381278&view=auto
==============================================================================
--- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java (added)
+++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java Wed Sep 5 18:15:15 2012
@@ -0,0 +1,43 @@
+/**
+ *
+ * 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.cdi;
+
+import java.io.File;
+import java.net.URL;
+
+import org.apache.camel.model.RoutesDefinition;
+
+/**
+ * Tests loading of routes as XML from a URL
+ */
+public class XmlRoutesFromURLTest extends XmlRoutesFromClassPathTest {
+
+ @Override
+ public RoutesDefinition createRoutes() throws Exception {
+ String[] prefixes = { "camel-cdi", "components"};
+ String fileName = "src/test/resources/routes.xml";
+ File file = new File(fileName);
+ for (String prefix : prefixes) {
+ if (file.exists()) break;
+ file = new File(prefix, file.getPath());
+ }
+ assertTrue("The file " + file.getPath() + " does not exist", file.exists());
+ URL url = file.toURI().toURL();
+ return RoutesXml.loadRoutesFromURL(url);
+ }
+}
Propchange: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: camel/trunk/components/camel-cdi/src/test/resources/routes.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/resources/routes.xml?rev=1381278&view=auto
==============================================================================
--- camel/trunk/components/camel-cdi/src/test/resources/routes.xml (added)
+++ camel/trunk/components/camel-cdi/src/test/resources/routes.xml Wed Sep 5 18:15:15 2012
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<routes xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="direct:start"/>
+ <to uri="mock:results"/>
+ </route>
+</routes>
+
Propchange: camel/trunk/components/camel-cdi/src/test/resources/routes.xml
------------------------------------------------------------------------------
svn:eol-style = native