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 2007/11/16 17:20:44 UTC
svn commit: r595721 - in /activemq/camel/trunk/camel-core/src:
main/java/org/apache/camel/builder/
main/java/org/apache/camel/model/language/
main/resources/org/apache/camel/model/language/
test/java/org/apache/camel/processor/
Author: jstrachan
Date: Fri Nov 16 08:20:42 2007
New Revision: 595721
URL: http://svn.apache.org/viewvc?rev=595721&view=rev
Log:
minor refactor of the code for http://issues.apache.org/activemq/browse/CAMEL-226 to make it a bit more consistent. Also added a new test case
Added:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java (contents, props changed)
- copied, changed from r595654, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCall.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java
- copied, changed from r594497, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java
Removed:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCall.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java
activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java?rev=595721&r1=595720&r2=595721&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java Fri Nov 16 08:20:42 2007
@@ -21,7 +21,7 @@
import org.apache.camel.builder.xml.Namespaces;
import org.apache.camel.model.ExpressionNode;
-import org.apache.camel.model.language.MethodCall;
+import org.apache.camel.model.language.MethodCallExpression;
import org.apache.camel.model.language.ExpressionType;
import org.apache.camel.model.language.XPathExpression;
import org.apache.camel.model.language.XQueryExpression;
@@ -57,8 +57,8 @@
* @param bean the name of the bean looked up the registry
* @return the builder to continue processing the DSL
*/
- public T bean(String bean) {
- MethodCall expression = new MethodCall(bean);
+ public T method(String bean) {
+ MethodCallExpression expression = new MethodCallExpression(bean);
setExpressionType(expression);
return result;
}
@@ -72,8 +72,8 @@
* @param method the name of the method to invoke on the bean
* @return the builder to continue processing the DSL
*/
- public T bean(String bean, String method) {
- MethodCall expression = new MethodCall(bean, method);
+ public T method(String bean, String method) {
+ MethodCallExpression expression = new MethodCallExpression(bean, method);
setExpressionType(expression);
return result;
}
Copied: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java (from r595654, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCall.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java?p2=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java&p1=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCall.java&r1=595654&r2=595721&rev=595721&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCall.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java Fri Nov 16 08:20:42 2007
@@ -32,20 +32,20 @@
* @version $Revision: 1.1 $
*/
@XmlRootElement(name = "methodCall")
-public class MethodCall extends ExpressionType {
+public class MethodCallExpression extends ExpressionType {
@XmlAttribute(required = false)
private String bean;
@XmlAttribute(required = false)
private String method;
- public MethodCall() {
+ public MethodCallExpression() {
}
- public MethodCall(String beanName) {
+ public MethodCallExpression(String beanName) {
super(beanName);
}
- public MethodCall(String beanName, String method) {
+ public MethodCallExpression(String beanName, String method) {
super(beanName);
this.method = method;
}
Propchange: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index?rev=595721&r1=595720&r2=595721&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index (original)
+++ activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index Fri Nov 16 08:20:42 2007
@@ -20,7 +20,7 @@
HeaderExpression
JavaScriptExpression
LanguageExpression
-MethodCall
+MethodCallExpression
OgnlExpression
PhpExpression
PythonExpression
Copied: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java (from r594497, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java?p2=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java&p1=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java&r1=594497&r2=595721&rev=595721&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java Fri Nov 16 08:20:42 2007
@@ -16,43 +16,32 @@
*/
package org.apache.camel.processor;
+import javax.naming.Context;
+
import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
+import org.apache.camel.Header;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
/**
* @version $Revision: 1.1 $
*/
-public class XPathFilterTest extends ContextTestSupport {
- protected Endpoint<Exchange> startEndpoint;
- protected MockEndpoint resultEndpoint;
- protected String matchingBody = "<person name='James' city='London'/>";
- protected String notMatchingBody = "<person name='Hiram' city='Tampa'/>";
-
+public class MethodFilterTest extends ContextTestSupport {
public void testSendMatchingMessage() throws Exception {
- resultEndpoint.expectedMessageCount(1);
+ String body = "<person name='James' city='London'/>";
+ getMockEndpoint("mock:result").expectedBodiesReceived(body);
- sendBody("direct:start", matchingBody);
+ template.sendBodyAndHeader("direct:start", body, "foo", "London");
- resultEndpoint.assertIsSatisfied();
+ assertMockEndpointsSatisifed();
}
public void testSendNotMatchingMessage() throws Exception {
- resultEndpoint.expectedMessageCount(0);
-
- sendBody("direct:start", notMatchingBody);
+ String body = "<person name='Hiram' city='Tampa'/>";
+ getMockEndpoint("mock:result").expectedMessageCount(0);
- resultEndpoint.assertIsSatisfied();
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ template.sendBodyAndHeader("direct:start", body, "foo", "Tampa");
- startEndpoint = resolveMandatoryEndpoint("direct:start");
- resultEndpoint = getMockEndpoint("mock:result");
+ assertMockEndpointsSatisifed();
}
protected RouteBuilder createRouteBuilder() {
@@ -60,10 +49,25 @@
public void configure() {
// START SNIPPET: example
from("direct:start").
- filter().xpath("/person[@name='James']").
+ filter().method("myBean", "matches").
to("mock:result");
// END SNIPPET: example
}
};
}
-}
+
+ @Override
+ protected Context createJndiContext() throws Exception {
+ Context context = super.createJndiContext();
+ context.bind("myBean", new MyBean());
+ return context;
+ }
+
+ // START SNIPPET: filter
+ public static class MyBean {
+ public boolean matches(@Header(name = "foo")String location) {
+ return "London".equals(location);
+ }
+ }
+ // END SNIPPET: filter
+}
\ No newline at end of file
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java?rev=595721&r1=595720&r2=595721&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java Fri Nov 16 08:20:42 2007
@@ -23,20 +23,21 @@
* @version $Revision: 1.1 $
*/
public class XPathFilterTest extends ContextTestSupport {
+ protected String matchingBody = "<person name='James' city='London'/>";
+ protected String notMatchingBody = "<person name='Hiram' city='Tampa'/>";
+
public void testSendMatchingMessage() throws Exception {
- String body = "<person name='James' city='London'/>";
- getMockEndpoint("mock:result").expectedBodiesReceived(body);
+ getMockEndpoint("mock:result").expectedBodiesReceived(matchingBody);
- sendBody("direct:start", body);
+ sendBody("direct:start", matchingBody);
assertMockEndpointsSatisifed();
}
public void testSendNotMatchingMessage() throws Exception {
- String body = "<person name='Hiram' city='Tampa'/>";
getMockEndpoint("mock:result").expectedMessageCount(0);
- sendBody("direct:start", body);
+ sendBody("direct:start", notMatchingBody);
assertMockEndpointsSatisifed();
}