You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2007/03/22 20:53:45 UTC
svn commit: r521425 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/builder/
camel-spring/src/main/resources/org/apache/camel/spring/
camel-spring/src/test/java/org/apache/camel/spring/builder/
camel-spring/src/test/resources/org/...
Author: chirino
Date: Thu Mar 22 12:53:44 2007
New Revision: 521425
URL: http://svn.apache.org/viewvc?view=rev&rev=521425
Log:
Got the dynamic receipient list example workin in spring xml
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FromBuilder.java
activemq/camel/trunk/camel-spring/src/main/resources/org/apache/camel/spring/camel-1.0.xsd
activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/builder/SpringRouteBuilderTest.java
activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/builder/spring_route_builder_test.xml
activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/examples.xml
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FromBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FromBuilder.java?view=diff&rev=521425&r1=521424&r2=521425
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FromBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FromBuilder.java Thu Mar 22 12:53:44 2007
@@ -167,7 +167,9 @@
* @param receipients is the builder of the expression used in the {@link RecipientList} to decide the destinations
*/
@Fluent
- public RecipientListBuilder<E> recipientList(@FluentArg("receipients") ValueBuilder<E> receipients) {
+ public RecipientListBuilder<E> recipientList(
+ @FluentArg(value="recipients",element=true)
+ ValueBuilder<E> receipients) {
RecipientListBuilder<E> answer = new RecipientListBuilder<E>(this, receipients);
addProcessBuilder(answer);
return answer;
Modified: activemq/camel/trunk/camel-spring/src/main/resources/org/apache/camel/spring/camel-1.0.xsd
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-spring/src/main/resources/org/apache/camel/spring/camel-1.0.xsd?view=diff&rev=521425&r1=521424&r2=521425
==============================================================================
--- activemq/camel/trunk/camel-spring/src/main/resources/org/apache/camel/spring/camel-1.0.xsd (original)
+++ activemq/camel/trunk/camel-spring/src/main/resources/org/apache/camel/spring/camel-1.0.xsd Thu Mar 22 12:53:44 2007
@@ -25,12 +25,15 @@
<xs:complexType>
<xs:sequence>
<xs:element ref="c:from"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="c:intercept"/>
- <xs:element minOccurs="0" ref="c:choice"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="c:filter"/>
- <xs:choice minOccurs="0">
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="c:filter"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="c:intercept"/>
+ </xs:choice>
+ <xs:choice>
<xs:element ref="c:to"/>
+ <xs:element ref="c:choice"/>
<xs:element ref="c:process"/>
+ <xs:element ref="c:recipientList"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
@@ -43,6 +46,7 @@
<xs:attribute name="uris" type="xs:NMTOKEN"/>
</xs:complexType>
</xs:element>
+ <xs:element name="filter" type="c:predicate"/>
<xs:element name="intercept">
<xs:complexType>
<xs:sequence>
@@ -81,12 +85,26 @@
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="filter" type="c:predicate"/>
<xs:element name="process">
<xs:complexType>
<xs:attribute name="ref" use="required"/>
</xs:complexType>
</xs:element>
+ <xs:element name="recipientList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="c:recipients"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="recipients">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="c:body"/>
+ <xs:element ref="c:header"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
<xs:complexType name="predicate">
<xs:sequence>
<xs:element ref="c:predicate"/>
@@ -95,17 +113,23 @@
<xs:element name="predicate">
<xs:complexType>
<xs:sequence>
- <xs:element ref="c:header"/>
- <xs:element ref="c:isEqualTo"/>
+ <xs:choice>
+ <xs:element ref="c:body"/>
+ <xs:element ref="c:header"/>
+ </xs:choice>
+ <xs:choice>
+ <xs:element ref="c:isEqualTo"/>
+ <xs:element ref="c:isNotEqualTo"/>
+ </xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="header">
+ <xs:element name="isEqualTo">
<xs:complexType>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
+ <xs:attribute name="value" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- <xs:element name="isEqualTo">
+ <xs:element name="isNotEqualTo">
<xs:complexType>
<xs:attribute name="value" use="required" type="xs:NCName"/>
</xs:complexType>
@@ -122,4 +146,12 @@
</xs:complexType>
</xs:element>
<xs:element name="uri" type="xs:NMTOKEN"/>
+ <xs:element name="header">
+ <xs:complexType>
+ <xs:attribute name="name" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="body">
+ <xs:complexType/>
+ </xs:element>
</xs:schema>
Modified: activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/builder/SpringRouteBuilderTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/builder/SpringRouteBuilderTest.java?view=diff&rev=521425&r1=521424&r2=521425
==============================================================================
--- activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/builder/SpringRouteBuilderTest.java (original)
+++ activemq/camel/trunk/camel-spring/src/test/java/org/apache/camel/spring/builder/SpringRouteBuilderTest.java Thu Mar 22 12:53:44 2007
@@ -98,4 +98,17 @@
assertNotNull(builder);
return builder;
}
+
+ @Override
+ protected RouteBuilder<Exchange> buildDynamicRecipientList() {
+ RouteBuilder<Exchange> builder = (RouteBuilder<Exchange>) ctx.getBean("buildDynamicRecipientList");
+ assertNotNull(builder);
+ return builder;
+ }
+
+ @Override
+ protected RouteBuilder<Exchange> buildStaticRecipientList() {
+ // TODO Auto-generated method stub
+ return super.buildStaticRecipientList();
+ }
}
Modified: activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/builder/spring_route_builder_test.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/builder/spring_route_builder_test.xml?view=diff&rev=521425&r1=521424&r2=521425
==============================================================================
--- activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/builder/spring_route_builder_test.xml (original)
+++ activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/builder/spring_route_builder_test.xml Thu Mar 22 12:53:44 2007
@@ -138,6 +138,21 @@
</to>
</route>
</routeBuilder>
+
+ <!--
+ from("queue:a").recipientList(header("foo"));
+ -->
+ <routeBuilder id="buildDynamicRecipientList" xmlns="http://activemq.apache.org/camel/schema/camel-1.0.xsd">
+ <route>
+ <from uri="queue:a"/>
+ <recipientList>
+ <recipients>
+ <header name="foo"/>
+ </recipients>
+ </recipientList>
+ </route>
+ </routeBuilder>
+
</beans>
<!-- END SNIPPET: example -->
Modified: activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/examples.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/examples.xml?view=diff&rev=521425&r1=521424&r2=521425
==============================================================================
--- activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/examples.xml (original)
+++ activemq/camel/trunk/camel-spring/src/test/resources/org/apache/camel/spring/examples.xml Thu Mar 22 12:53:44 2007
@@ -96,7 +96,7 @@
<when>
<predicate>
<header name="foo"/>
- <isEqualTo value="cheese"/>
+ <isNotEqualTo value="cheese"/>
</predicate>
<to endpoint="queue:c"/>
</when>
@@ -123,6 +123,30 @@
<uri>queue:tap</uri>
<uri>queue:a</uri>
</to>
+ </route>
+
+ <route>
+ <from uri="queue:a"/>
+ <recipientList>
+ <recipients>
+ <header name=""/>
+ </recipients>
+ </recipientList>
+ </route>
+
+ <route>
+ <from uri="queue:a"/>
+ <filter>
+ <predicate>
+ <body/>
+ <isNotEqualTo value="none"/>
+ </predicate>
+ </filter>
+ <recipientList>
+ <recipients>
+ <body/>
+ </recipients>
+ </recipientList>
</route>
</routeBuilder>