Author: davsclaus
Date: Sat Jun 11 13:15:44 2011
New Revision: 1134626
URL: http://svn.apache.org/viewvc?rev=1134626&view=rev
Log:
CAMEL-4089: Fixed issue when using pattern together with a custom id attribute
in XML DSL
Added:
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternWithCustomIdTest.java
- copied, changed from r1134557,
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePatternWithCustomId.xml
- copied, changed from r1134557,
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml
Modified:
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java
Modified:
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java?rev=1134626&r1=1134625&r2=1134626&view=diff
==============================================================================
---
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java
(original)
+++
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java
Sat Jun 11 13:15:44 2011
@@ -22,6 +22,7 @@ import javax.xml.bind.annotation.XmlAttr
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.NoSuchEndpointException;
import static org.apache.camel.util.ObjectHelper.notNull;
@@ -34,6 +35,8 @@ public abstract class AbstractCamelEndpo
private Boolean singleton;
@XmlAttribute
private String uri;
+ @XmlAttribute
+ private ExchangePattern pattern;
@XmlTransient
private Endpoint endpoint;
@@ -65,4 +68,11 @@ public abstract class AbstractCamelEndpo
this.uri = uri;
}
+ public ExchangePattern getPattern() {
+ return pattern;
+ }
+
+ public void setPattern(ExchangePattern pattern) {
+ this.pattern = pattern;
+ }
}
Copied:
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternWithCustomIdTest.java
(from r1134557,
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java)
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternWithCustomIdTest.java?p2=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternWithCustomIdTest.java&p1=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java&r1=1134557&r2=1134626&rev=1134626&view=diff
==============================================================================
---
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternTest.java
(original)
+++
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringSetExchangePatternWithCustomIdTest.java
Sat Jun 11 13:15:44 2011
@@ -17,16 +17,23 @@
package org.apache.camel.spring.processor;
-
import org.apache.camel.CamelContext;
import org.apache.camel.processor.SetExchangePatternTest;
+
import static
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
+public class SpringSetExchangePatternWithCustomIdTest extends
SetExchangePatternTest {
+
+ @Override
+ public void testToWithInOnlyParam() throws Exception {
+ super.testToWithInOnlyParam();
+
+ // just assert one of the routes has the correct id on the <to> with
the exchange pattern
+ assertEquals("q",
context.getRouteDefinitions().get(6).getOutputs().get(0).getId());
+ }
-public class SpringSetExchangePatternTest extends SetExchangePatternTest {
-
protected CamelContext createCamelContext() throws Exception {
- return createSpringCamelContext(this,
"org/apache/camel/spring/processor/setExchangePattern.xml");
+ return createSpringCamelContext(this,
"org/apache/camel/spring/processor/setExchangePatternWithCustomId.xml");
}
}
Copied:
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePatternWithCustomId.xml
(from r1134557,
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml)
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePatternWithCustomId.xml?p2=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePatternWithCustomId.xml&p1=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml&r1=1134557&r2=1134626&rev=1134626&view=diff
==============================================================================
---
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePattern.xml
(original)
+++
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/setExchangePatternWithCustomId.xml
Sat Jun 11 13:15:44 2011
@@ -22,53 +22,51 @@
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
">
- <!-- START SNIPPET: example -->
<camelContext xmlns="http://camel.apache.org/schema/spring">
<!-- Send the exchange as InOnly -->
<route>
- <from uri="direct:testInOut"/>
- <inOut uri="mock:result"/>
+ <from uri="direct:testInOut" id="a"/>
+ <inOut uri="mock:result" id="b"/>
</route>
<!-- Send the exchange as InOnly -->
<route>
- <from uri="direct:testInOnly"/>
- <inOnly uri="mock:result"/>
+ <from uri="direct:testInOnly" id="c"/>
+ <inOnly uri="mock:result" id="d"/>
</route>
<!-- lets set the exchange pattern then send it on -->
<route>
- <from uri="direct:testSetToInOnlyThenTo"/>
- <setExchangePattern pattern="InOnly"/>
- <to uri="mock:result"/>
+ <from uri="direct:testSetToInOnlyThenTo" id="e"/>
+ <setExchangePattern pattern="InOnly" id="f"/>
+ <to uri="mock:result" id="g"/>
</route>
<route>
- <from uri="direct:testSetToInOutThenTo"/>
- <setExchangePattern pattern="InOut"/>
- <to uri="mock:result"/>
+ <from uri="direct:testSetToInOutThenTo" id="h"/>
+ <setExchangePattern pattern="InOut" id="i"/>
+ <to uri="mock:result" id="j"/>
</route>
<route>
- <from uri="direct:testSetExchangePatternInOnly"/>
- <setExchangePattern pattern="InOnly"/>
- <to uri="mock:result"/>
+ <from uri="direct:testSetExchangePatternInOnly" id="k"/>
+ <setExchangePattern pattern="InOnly" id="l"/>
+ <to uri="mock:result" id="m"/>
</route>
<!-- Lets pass the pattern as an argument in the to element -->
<route>
- <from uri="direct:testToWithInOnlyParam"/>
- <to uri="mock:result" pattern="InOnly"/>
+ <from uri="direct:testToWithInOnlyParam" id="n"/>
+ <to uri="mock:result" pattern="InOnly" id="o"/>
</route>
<route>
- <from uri="direct:testToWithInOutParam"/>
- <to uri="mock:result" pattern="InOut"/>
+ <from uri="direct:testToWithInOutParam" id="p"/>
+ <to uri="mock:result" pattern="InOut" id="q"/>
</route>
<route>
- <from uri="direct:testToWithRobustInOnlyParam"/>
- <to uri="mock:result" pattern="RobustInOnly"/>
+ <from uri="direct:testToWithRobustInOnlyParam" id="r"/>
+ <to uri="mock:result" pattern="RobustInOnly" id="s"/>
</route>
</camelContext>
- <!-- END SNIPPET: example -->
</beans>