You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/06/04 12:15:12 UTC
[3/3] git commit: CAMEL-6422: Add tokenizeXML to java dsl on value
builder.
CAMEL-6422: Add tokenizeXML to java dsl on value builder.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ffd479d7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ffd479d7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ffd479d7
Branch: refs/heads/camel-2.10.x
Commit: ffd479d70c73596d6fc3563ca279c5e7a180f72c
Parents: 8d2e138
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Jun 4 12:13:45 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Jun 4 12:14:39 2013 +0200
----------------------------------------------------------------------
.../org/apache/camel/builder/ValueBuilder.java | 10 ++++++++
.../language/TokenXMLPairNamespaceSplitTest.java | 19 +++++++++++++++
2 files changed, 29 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/ffd479d7/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 496e20c..31c4b96 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -177,6 +177,16 @@ public class ValueBuilder implements Expression, Predicate {
return new ValueBuilder(newExp);
}
+ public ValueBuilder tokenizeXML(String tagName, String inheritNamespaceTagName) {
+ Expression newExp = ExpressionBuilder.tokenizeXMLExpression(tagName, inheritNamespaceTagName);
+ return new ValueBuilder(newExp);
+ }
+
+ public ValueBuilder tokenizePair(String startToken, String endToken, boolean includeTokens) {
+ Expression newExp = ExpressionBuilder.tokenizePairExpression(startToken, endToken, includeTokens);
+ return new ValueBuilder(newExp);
+ }
+
/**
* Tokenizes the string conversion of this expression using the given
* regular expression
http://git-wip-us.apache.org/repos/asf/camel/blob/ffd479d7/camel-core/src/test/java/org/apache/camel/language/TokenXMLPairNamespaceSplitTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/language/TokenXMLPairNamespaceSplitTest.java b/camel-core/src/test/java/org/apache/camel/language/TokenXMLPairNamespaceSplitTest.java
index 6914630..dd74896 100644
--- a/camel-core/src/test/java/org/apache/camel/language/TokenXMLPairNamespaceSplitTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/TokenXMLPairNamespaceSplitTest.java
@@ -29,6 +29,7 @@ public class TokenXMLPairNamespaceSplitTest extends ContextTestSupport {
@Override
protected void setUp() throws Exception {
deleteDirectory("target/pair");
+ deleteDirectory("target/pair2");
super.setUp();
}
@@ -45,6 +46,19 @@ public class TokenXMLPairNamespaceSplitTest extends ContextTestSupport {
assertMockEndpointsSatisfied();
}
+ public void testTokenXMLPair2() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:split");
+ mock.expectedMessageCount(3);
+ mock.message(0).body().isEqualTo("<order id=\"1\" xmlns=\"http:acme.com\">Camel in Action</order>");
+ mock.message(1).body().isEqualTo("<order id=\"2\" xmlns=\"http:acme.com\">ActiveMQ in Action</order>");
+ mock.message(2).body().isEqualTo("<order id=\"3\" xmlns=\"http:acme.com\">DSL in Action</order>");
+
+ String body = createBody();
+ template.sendBodyAndHeader("file:target/pair2", body, Exchange.FILE_NAME, "orders.xml");
+
+ assertMockEndpointsSatisfied();
+ }
+
protected String createBody() {
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\"?>\n");
sb.append("<orders xmlns=\"http:acme.com\">\n");
@@ -66,6 +80,11 @@ public class TokenXMLPairNamespaceSplitTest extends ContextTestSupport {
.split().tokenizeXML("order", "orders")
.to("mock:split");
// END SNIPPET: e1
+
+ from("file:target/pair2")
+ // split the order child tags, and inherit namespaces from the orders root tag
+ .split(body().tokenizeXML("order", "orders"))
+ .to("mock:split");
}
};
}