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 2008/02/05 18:32:04 UTC
svn commit: r618707 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/model/
camel-core/src/main/resources/org/apache/camel/model/
components/camel-jaxb/src/test/resources/org/apache/camel/example/
components/camel-spring/src/main/j...
Author: jstrachan
Date: Tue Feb 5 09:31:54 2008
New Revision: 618707
URL: http://svn.apache.org/viewvc?rev=618707&view=rev
Log:
attempted fix for http://issues.apache.org/activemq/browse/CAMEL-295 but cannot get the test case working...
Added:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteBuilderRef.java
- copied, changed from r613112, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanRef.java
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/AutoRegisteredRouteBuilderTest.java (with props)
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java (contents, props changed)
- copied, changed from r618625, activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteBuilderRefTest.java (with props)
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java (with props)
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/xml/ConfiguredRouteBuilder.java (with props)
activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/
activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/autoRegisteredRouteBuilder.xml
- copied, changed from r618625, activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml
activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/routeBuilderRef.xml (with props)
Removed:
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java
Modified:
activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index
activemq/camel/trunk/components/camel-jaxb/src/test/resources/org/apache/camel/example/marshalAndUnmarshalWithRef.xml
activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml
Copied: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteBuilderRef.java (from r613112, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanRef.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteBuilderRef.java?p2=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteBuilderRef.java&p1=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanRef.java&r1=613112&r2=618707&rev=618707&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanRef.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteBuilderRef.java Tue Feb 5 09:31:54 2008
@@ -20,45 +20,31 @@
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import org.apache.camel.Processor;
-import org.apache.camel.component.bean.BeanProcessor;
-import org.apache.camel.component.bean.RegistryBean;
-import org.apache.camel.impl.RouteContext;
+import org.apache.camel.CamelContext;
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
/**
* @version $Revision: 1.1 $
*/
-@XmlRootElement(name = "bean")
+@XmlRootElement(name = "routeBuilderRef")
@XmlAccessorType(XmlAccessType.FIELD)
-public class BeanRef extends OutputType<ProcessorType> {
+public class RouteBuilderRef extends IdentifiedType {
@XmlAttribute(required = true)
private String ref;
- @XmlAttribute(required = false)
- private String method;
- @XmlAttribute(required = false)
- private Class beanType;
- @XmlTransient
- private Object bean;
- public BeanRef() {
+ public RouteBuilderRef() {
}
- public BeanRef(String ref) {
+ public RouteBuilderRef(String ref) {
this.ref = ref;
}
- public BeanRef(String ref, String method) {
- this.ref = ref;
- this.method = method;
- }
-
@Override
public String toString() {
- return "Bean[" + getLabel() + "]";
+ return "RouteBuilderRef[" + getRef() + "]";
}
public String getRef() {
@@ -69,62 +55,9 @@
this.ref = ref;
}
- public String getMethod() {
- return method;
- }
-
- public void setMethod(String method) {
- this.method = method;
- }
-
- public void setBean(Object bean) {
- this.bean = bean;
- }
-
- public Class getBeanType() {
- return beanType;
- }
-
- public void setBeanType(Class beanType) {
- this.beanType = beanType;
- }
-
- @Override
- public Processor createProcessor(RouteContext routeContext) {
- BeanProcessor answer;
- if (ref != null) {
- answer = new BeanProcessor(new RegistryBean(routeContext.getCamelContext(), ref));
- }
- else {
- if (bean == null) {
- ObjectHelper.notNull(beanType, "bean, ref or beanType");
- bean = CamelContextHelper.newInstance(routeContext.getCamelContext(), beanType);
- }
- answer = new BeanProcessor(bean, routeContext.getCamelContext());
- }
- if (method != null) {
- answer.setMethod(method);
- }
- return answer;
- }
-
- @Override
- public String getLabel() {
- if (ref != null) {
- String methodText = "";
- if (method != null) {
- methodText = " method: " + method;
- }
- return "ref: " + ref + methodText;
- }
- else if (bean != null) {
- return bean.toString();
- }
- else if (beanType != null) {
- return beanType.getName();
- }
- else {
- return "";
- }
+ public RouteBuilder createRouteBuilder(CamelContext camelContext) {
+ ObjectHelper.notNull(camelContext, "camelContext");
+ ObjectHelper.notNull(ref, "ref");
+ return CamelContextHelper.newInstance(camelContext, RouteBuilder.class);
}
-}
+}
\ No newline at end of file
Modified: activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index?rev=618707&r1=618706&r2=618707&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index (original)
+++ activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index Tue Feb 5 09:31:54 2008
@@ -38,6 +38,7 @@
RedeliveryPolicyType
ResequencerType
RouteType
+RouteBuilderRef
RoutesType
ServiceActivationType
SplitterType
Modified: activemq/camel/trunk/components/camel-jaxb/src/test/resources/org/apache/camel/example/marshalAndUnmarshalWithRef.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jaxb/src/test/resources/org/apache/camel/example/marshalAndUnmarshalWithRef.xml?rev=618707&r1=618706&r2=618707&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jaxb/src/test/resources/org/apache/camel/example/marshalAndUnmarshalWithRef.xml (original)
+++ activemq/camel/trunk/components/camel-jaxb/src/test/resources/org/apache/camel/example/marshalAndUnmarshalWithRef.xml Tue Feb 5 09:31:54 2008
@@ -24,6 +24,8 @@
<!-- START SNIPPET: example -->
<camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
+ <jaxb id="myJaxb" prettyPrint="true" contextPath="org.apache.camel.example"/>
+
<route>
<from uri="direct:start"/>
<marshal ref="myJaxb"/>
@@ -35,7 +37,6 @@
<to uri="mock:result"/>
</route>
- <jaxb id="myJaxb" prettyPrint="true" contextPath="org.apache.camel.example"/>
</camelContext>
<!-- END SNIPPET: example -->
Modified: activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java?rev=618707&r1=618706&r2=618707&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java Tue Feb 5 09:31:54 2008
@@ -35,6 +35,7 @@
import org.apache.camel.model.IdentifiedType;
import org.apache.camel.model.RouteContainer;
import org.apache.camel.model.RouteType;
+import org.apache.camel.model.RouteBuilderRef;
import org.apache.camel.model.dataformat.DataFormatType;
import org.apache.camel.spi.InstrumentationAgent;
import org.apache.commons.logging.Log;
@@ -60,21 +61,25 @@
@XmlAccessorType(XmlAccessType.FIELD)
public class CamelContextFactoryBean extends IdentifiedType implements RouteContainer, FactoryBean, InitializingBean, DisposableBean, ApplicationContextAware, ApplicationListener {
private static final Log LOG = LogFactory.getLog(CamelContextFactoryBean.class);
+ @XmlAttribute(required = false)
+ private Boolean useJmx;
+ @XmlAttribute(required = false)
+ private String mbeanServer;
+ @XmlAttribute(required = false)
+ private Boolean autowireRouteBuilders = Boolean.TRUE;
@XmlElement(name = "package", required = false)
private String[] packages = {};
@XmlElements({@XmlElement(name = "beanPostProcessor", type = CamelBeanPostProcessor.class, required = false), @XmlElement(name = "proxy", type = CamelProxyFactoryType.class, required = false),
@XmlElement(name = "export", type = CamelServiceExporterType.class, required = false), @XmlElement(name = "jmxAgent", required = false)})
private List beans;
+ @XmlElement(name = "routeBuilderRef", required = false)
+ private List<RouteBuilderRef> builderRefs = new ArrayList<RouteBuilderRef>();;
@XmlElement(name = "endpoint", required = false)
private List<EndpointFactoryBean> endpoints;
- @XmlElement(name = "route", required = false)
- private List<RouteType> routes = new ArrayList<RouteType>();
@XmlElementRef
private List<DataFormatType> dataFormats;
- @XmlAttribute(required = false)
- private Boolean useJmx;
- @XmlAttribute(required = false)
- private String mbeanServer;
+ @XmlElement(name = "route", required = false)
+ private List<RouteType> routes = new ArrayList<RouteType>();
@XmlTransient
private SpringCamelContext context;
@XmlTransient
@@ -243,6 +248,18 @@
this.useJmx = useJmx;
}
+ public void setBuilderRefs(List<RouteBuilderRef> builderRefs) {
+ this.builderRefs = builderRefs;
+ }
+
+ /**
+ * If enabled this will force all {@link RouteBuilder} classes configured in the Spring
+ * {@link ApplicationContext} to be registered automatically with this CamelContext.
+ */
+ public void setAutowireRouteBuilders(Boolean autowireRouteBuilders) {
+ this.autowireRouteBuilders = autowireRouteBuilders;
+ }
+
// Implementation methods
// -------------------------------------------------------------------------
@@ -259,10 +276,12 @@
* Strategy to install all available routes into the context
*/
protected void installRoutes() throws Exception {
- Map builders = getApplicationContext().getBeansOfType(RouteBuilder.class, true, true);
- if (builders != null) {
- for (Object builder : builders.values()) {
- getContext().addRoutes((RouteBuilder) builder);
+ if (autowireRouteBuilders != null && autowireRouteBuilders.booleanValue()) {
+ Map builders = getApplicationContext().getBeansOfType(RouteBuilder.class, true, true);
+ if (builders != null) {
+ for (Object builder : builders.values()) {
+ getContext().addRoutes((RouteBuilder) builder);
+ }
}
}
for (RouteBuilder routeBuilder : additionalBuilders) {
@@ -270,6 +289,16 @@
}
if (routeBuilder != null) {
getContext().addRoutes(routeBuilder);
+ }
+
+ System.out.println(">>> CamelContext: " + getId() + " " + " routeBuilderRefs " + builderRefs);
+
+ // lets add route builders addef from references
+ if (builderRefs != null) {
+ for (RouteBuilderRef builderRef : builderRefs) {
+ RouteBuilder builder = builderRef.createRouteBuilder(getContext());
+ getContext().addRoutes(builder);
+ }
}
}
Added: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/AutoRegisteredRouteBuilderTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/AutoRegisteredRouteBuilderTest.java?rev=618707&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/AutoRegisteredRouteBuilderTest.java (added)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/AutoRegisteredRouteBuilderTest.java Tue Feb 5 09:31:54 2008
@@ -0,0 +1,51 @@
+/**
+ * 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 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.camel.spring.config.XmlConfigTestSupport;
+import org.apache.camel.model.RouteType;
+import org.apache.camel.model.FromType;
+import org.apache.camel.model.ProcessorType;
+import org.apache.camel.impl.EventDrivenConsumerRoute;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.ClassPathResource;
+
+import java.util.List;
+
+/**
+ * @version $Revision: 566917 $
+ */
+public class AutoRegisteredRouteBuilderTest extends XmlConfigTestSupport {
+
+ public void testUsingAutoRegisteredRouteBuilderUsingXml() throws Exception {
+ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/spring/config/autoRegisteredRouteBuilder.xml");
+
+ CamelContext context = (CamelContext) applicationContext.getBean("camel4");
+ assertValidContext(context);
+ }
+
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/AutoRegisteredRouteBuilderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java (from r618625, activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java?p2=activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java&p1=activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java&r1=618625&r2=618707&rev=618707&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java Tue Feb 5 09:31:54 2008
@@ -14,13 +14,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.spring;
+package org.apache.camel.spring.config;
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.camel.spring.config.XmlConfigTestSupport;
+import org.apache.camel.model.RouteType;
+import org.apache.camel.model.FromType;
+import org.apache.camel.model.ProcessorType;
import org.apache.camel.impl.EventDrivenConsumerRoute;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -35,9 +39,7 @@
/**
* @version $Revision$
*/
-public class CamelContextFactoryBeanTest extends TestSupport {
- private static final transient Log LOG = LogFactory.getLog(CamelContextFactoryBeanTest.class);
-
+public class CamelContextFactoryBeanTest extends XmlConfigTestSupport {
public void testClassPathRouteLoading() throws Exception {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/spring/camelContextFactoryBean.xml");
@@ -62,24 +64,6 @@
CamelContext context = (CamelContext) applicationContext.getBean("camel3");
assertValidContext(context);
- }
-
- protected void assertValidContext(CamelContext context) {
- assertNotNull("No context found!", context);
-
- List<Route> routes = context.getRoutes();
- LOG.debug("Found routes: " + routes);
-
- assertEquals("One Route should be found", 1, routes.size());
-
- for (Route route : routes) {
- Endpoint key = route.getEndpoint();
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
- Processor processor = consumerRoute.getProcessor();
- assertNotNull(processor);
-
- assertEndpointUri(key, "seda:test.a");
- }
}
public void testXMLRouteLoading() throws Exception {
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteBuilderRefTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteBuilderRefTest.java?rev=618707&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteBuilderRefTest.java (added)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteBuilderRefTest.java Tue Feb 5 09:31:54 2008
@@ -0,0 +1,55 @@
+/**
+ * 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 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.camel.spring.config.XmlConfigTestSupport;
+import org.apache.camel.model.RouteType;
+import org.apache.camel.model.FromType;
+import org.apache.camel.model.ProcessorType;
+import org.apache.camel.impl.EventDrivenConsumerRoute;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.ClassPathResource;
+
+import java.util.List;
+
+/**
+ * @version $Revision: 566917 $
+ */
+public class RouteBuilderRefTest extends XmlConfigTestSupport {
+ public void testDummy() throws Exception {
+
+ }
+
+ // TODO for some reason this doesn't get injected with the RouteBuilderRef object!
+ public void TODO_testUsingRouteBuilderRefInCamelXml() throws Exception {
+ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/spring/config/routeBuilderRef.xml");
+
+ CamelContext context = (CamelContext) applicationContext.getBean("camel5");
+ assertValidContext(context);
+ }
+
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteBuilderRefTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java?rev=618707&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java (added)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java Tue Feb 5 09:31:54 2008
@@ -0,0 +1,55 @@
+/**
+ *
+ * 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 java.util.List;
+
+import org.apache.camel.TestSupport;
+import org.apache.camel.CamelContext;
+import org.apache.camel.spring.config.CamelContextFactoryBeanTest;
+import org.apache.camel.model.RouteType;
+import org.apache.camel.model.FromType;
+import org.apache.camel.model.ProcessorType;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class XmlConfigTestSupport extends TestSupport {
+ protected static final transient Log LOG = LogFactory.getLog(CamelContextFactoryBeanTest.class);
+
+ protected void assertValidContext(CamelContext context) {
+ assertNotNull("No context found!", context);
+
+ List<RouteType> routes = context.getRouteDefinitions();
+ LOG.debug("Found routes: " + routes);
+
+ assertEquals("One Route should be found", 1, routes.size());
+
+ for (RouteType route : routes) {
+ List<FromType> inputs = route.getInputs();
+ assertEquals("Number of inputs", 1, inputs.size());
+ FromType fromType = inputs.get(0);
+ assertEquals("from URI", "seda:test.a", fromType.getEndpoint().getEndpointUri());
+
+ List<ProcessorType<?>> outputs = route.getOutputs();
+ assertEquals("Number of outputs", 1, outputs.size());
+ }
+ }
+}
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/xml/ConfiguredRouteBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/xml/ConfiguredRouteBuilder.java?rev=618707&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/xml/ConfiguredRouteBuilder.java (added)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/xml/ConfiguredRouteBuilder.java Tue Feb 5 09:31:54 2008
@@ -0,0 +1,52 @@
+/**
+ *
+ * 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.xml;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.util.ObjectHelper;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class ConfiguredRouteBuilder extends RouteBuilder {
+ private String fromUri;
+ private String toUri;
+
+ public void configure() throws Exception {
+ ObjectHelper.notNull(fromUri, "fromUri");
+ ObjectHelper.notNull(toUri, "toUri");
+
+ from(fromUri).to(toUri);
+ }
+
+ public String getFromUri() {
+ return fromUri;
+ }
+
+ public void setFromUri(String fromUri) {
+ this.fromUri = fromUri;
+ }
+
+ public String getToUri() {
+ return toUri;
+ }
+
+ public void setToUri(String toUri) {
+ this.toUri = toUri;
+ }
+}
Propchange: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/xml/ConfiguredRouteBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml?rev=618707&r1=618706&r2=618707&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml Tue Feb 5 09:31:54 2008
@@ -22,6 +22,8 @@
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
">
+
+
<!-- START SNIPPET: example -->
<bean id="camel" class="org.apache.camel.spring.CamelContextFactoryBean">
<property name="packages" value="org.apache.camel.spring.example"/>
@@ -42,5 +44,4 @@
<package>org.apache.camel.spring.example</package>
</camelContext>
<!-- END SNIPPET: example3 -->
-
</beans>
Copied: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/autoRegisteredRouteBuilder.xml (from r618625, activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/autoRegisteredRouteBuilder.xml?p2=activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/autoRegisteredRouteBuilder.xml&p1=activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml&r1=618625&r2=618707&rev=618707&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/camelContextFactoryBean.xml (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/autoRegisteredRouteBuilder.xml Tue Feb 5 09:31:54 2008
@@ -22,25 +22,14 @@
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
">
- <!-- START SNIPPET: example -->
- <bean id="camel" class="org.apache.camel.spring.CamelContextFactoryBean">
- <property name="packages" value="org.apache.camel.spring.example"/>
- </bean>
- <!-- END SNIPPET: example -->
-
- <!-- START SNIPPET: example2 -->
- <camelContext id="camel2" xmlns="http://activemq.apache.org/camel/schema/spring">
- <route>
- <from uri="seda:test.c"/>
- <to uri="seda:test.d"/>
- </route>
+ <!-- START SNIPPET: example4 -->
+ <camelContext id="camel4" xmlns="http://activemq.apache.org/camel/schema/spring" autowireRouteBuilders="true">
</camelContext>
- <!-- END SNIPPET: example2 -->
+ <!-- END SNIPPET: example4 -->
- <!-- START SNIPPET: example3 -->
- <camelContext id="camel3" xmlns="http://activemq.apache.org/camel/schema/spring">
- <package>org.apache.camel.spring.example</package>
- </camelContext>
- <!-- END SNIPPET: example3 -->
+ <bean id="configuredRouteBuilder" class="org.apache.camel.spring.xml.ConfiguredRouteBuilder">
+ <property name="fromUri" value="seda:test.a"/>
+ <property name="toUri" value="seda:test.b"/>
+ </bean>
</beans>
Added: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/routeBuilderRef.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/routeBuilderRef.xml?rev=618707&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/routeBuilderRef.xml (added)
+++ activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/routeBuilderRef.xml Tue Feb 5 09:31:54 2008
@@ -0,0 +1,38 @@
+<?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.0.xsd
+ http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
+ ">
+
+
+
+ <!-- START SNIPPET: example5 -->
+ <camelContext id="camel5" xmlns="http://activemq.apache.org/camel/schema/spring" autowireRouteBuilders="false">
+ <routeBuilderRef ref="configuredRouteBuilder"/>
+ </camelContext>
+ <!-- END SNIPPET: example5 -->
+
+
+ <bean id="configuredRouteBuilder" class="org.apache.camel.spring.xml.ConfiguredRouteBuilder">
+ <property name="fromUri" value="seda:test.a"/>
+ <property name="toUri" value="seda:test.b"/>
+ </bean>
+</beans>
Propchange: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/routeBuilderRef.xml
------------------------------------------------------------------------------
svn:eol-style = native