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/01/05 13:32:16 UTC
svn commit: r1429271 - in /camel/trunk/components/camel-scala/src:
main/scala/org/apache/camel/scala/dsl/languages/
test/scala/org/apache/camel/scala/dsl/
Author: davsclaus
Date: Sat Jan 5 12:32:16 2013
New Revision: 1429271
URL: http://svn.apache.org/viewvc?rev=1429271&view=rev
Log:
CAMEL-5889: Added all the tokenize langauges to Scala DSL.
Added:
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeHeaderTest.scala
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizePairTest.scala
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeTest.scala
- copied, changed from r1429217, camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeXMLTest.scala
Modified:
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/languages/Languages.scala
Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/languages/Languages.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/languages/Languages.scala?rev=1429271&r1=1429270&r2=1429271&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/languages/Languages.scala (original)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/languages/Languages.scala Sat Jan 5 12:32:16 2013
@@ -80,6 +80,13 @@ trait Languages {
// general purpose language
def language(language: String)(expression: String)(exchange : Exchange) = Languages.evaluate(expression)(exchange)(language)
+ // tokenizer languages
+ def tokenize(headerName: String = null, token: String, regex : Boolean = false)(exchange : Exchange) : Any = {
+ TokenizeLanguage.tokenize(headerName, token, regex).evaluate(exchange, classOf[Object])
+ }
+ def tokenizePair(startToken: String, endToken: String, includeTokens : Boolean)(exchange : Exchange) : Any = {
+ TokenizeLanguage.tokenizePair(startToken, endToken, includeTokens).evaluate(exchange, classOf[Object])
+ }
def tokenizeXML(tagName: String, inheritNamespaceTagName : String = null)(exchange : Exchange) : Any = {
TokenizeLanguage.tokenizeXML(tagName, inheritNamespaceTagName).evaluate(exchange, classOf[Object])
}
Added: camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeHeaderTest.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeHeaderTest.scala?rev=1429271&view=auto
==============================================================================
--- camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeHeaderTest.scala (added)
+++ camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeHeaderTest.scala Sat Jan 5 12:32:16 2013
@@ -0,0 +1,50 @@
+/**
+ * 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.scala.dsl
+
+import builder.RouteBuilder
+import org.junit.Test
+
+/**
+ * Test case for Splitter
+ */
+class SplitterTokenizeHeaderTest extends ScalaTestSupport {
+
+ @Test
+ def testSplitterTokenize() = {
+ val mock = getMockEndpoint("mock:b")
+ mock.expectedMessageCount(3)
+
+ val names: String = "Claus,James,Willem"
+ template.sendBodyAndHeader("direct:b", "Hello World", "names", names)
+
+ assertMockEndpointsSatisfied()
+ }
+
+ val builder =
+ //START SNIPPET: e1
+ new RouteBuilder {
+ "direct:b" ==> {
+ split(tokenize("names", ",")) {
+ to("log:b")
+ to("mock:b")
+ }
+ }
+ }
+ //END SNIPPET: e1
+
+}
Added: camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizePairTest.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizePairTest.scala?rev=1429271&view=auto
==============================================================================
--- camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizePairTest.scala (added)
+++ camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizePairTest.scala Sat Jan 5 12:32:16 2013
@@ -0,0 +1,50 @@
+/**
+ * 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.scala.dsl
+
+import builder.RouteBuilder
+import org.junit.Test
+
+/**
+ * Test case for Splitter
+ */
+class SplitterTokenizePairTest extends ScalaTestSupport {
+
+ @Test
+ def testSplitterTokenize() = {
+ val mock = getMockEndpoint("mock:b")
+ mock.expectedBodiesReceived("Claus", "James", "Willem")
+
+ val data: String = "[[Claus]][[James]][[Willem]]"
+ template.sendBody("direct:b", data)
+
+ assertMockEndpointsSatisfied()
+ }
+
+ val builder =
+ //START SNIPPET: e1
+ new RouteBuilder {
+ "direct:b" ==> {
+ split(tokenizePair("[[", "]]", includeTokens = false)) {
+ to("log:b")
+ to("mock:b")
+ }
+ }
+ }
+ //END SNIPPET: e1
+
+}
Copied: camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeTest.scala (from r1429217, camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeXMLTest.scala)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeTest.scala?p2=camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeTest.scala&p1=camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeXMLTest.scala&r1=1429217&r2=1429271&rev=1429271&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeXMLTest.scala (original)
+++ camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SplitterTokenizeTest.scala Sat Jan 5 12:32:16 2013
@@ -22,15 +22,15 @@ import org.junit.Test
/**
* Test case for Splitter
*/
-class SplitterTokenizeXMLTest extends ScalaTestSupport {
+class SplitterTokenizeTest extends ScalaTestSupport {
@Test
- def testSplitterTokenizeXML() = {
+ def testSplitterTokenize() = {
val mock = getMockEndpoint("mock:b")
- mock.expectedBodiesReceived("<person>Claus</person>", "<person>James</person>", "<person>Willem</person>")
+ mock.expectedBodiesReceived("Claus", "James", "Willem")
- val xml: String = "<persons><person>Claus</person><person>James</person><person>Willem</person></persons>"
- template.sendBody("direct:b", xml)
+ val data: String = "Claus,James,Willem"
+ template.sendBody("direct:b", data)
assertMockEndpointsSatisfied()
}
@@ -39,7 +39,7 @@ class SplitterTokenizeXMLTest extends Sc
//START SNIPPET: e1
new RouteBuilder {
"direct:b" ==> {
- split(tokenizeXML("person")) {
+ split(tokenize(",")) {
to("log:b")
to("mock:b")
}