You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ge...@apache.org on 2009/05/25 09:46:54 UTC
svn commit: r778336 - in /camel/trunk/components/camel-scala: ./
src/main/scala/org/apache/camel/scala/dsl/
src/main/scala/org/apache/camel/scala/dsl/builder/
src/test/scala/org/apache/camel/scala/dsl/
Author: gertv
Date: Mon May 25 07:46:54 2009
New Revision: 778336
URL: http://svn.apache.org/viewvc?rev=778336&view=rev
Log:
CAMEL-463: Adding a wiretap with body expression to the DSL
Modified:
camel/trunk/components/camel-scala/pom.xml
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/WiretapTest.scala
Modified: camel/trunk/components/camel-scala/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/pom.xml?rev=778336&r1=778335&r2=778336&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/pom.xml (original)
+++ camel/trunk/components/camel-scala/pom.xml Mon May 25 07:46:54 2009
@@ -29,9 +29,6 @@
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
- <configuration>
- <args><arg>-Xprint:namer</arg></args>
- </configuration>
</execution>
</executions>
</plugin>
Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala?rev=778336&r1=778335&r2=778336&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala (original)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala Mon May 25 07:46:54 2009
@@ -50,7 +50,10 @@
def to(uris: String*) : DSL
def unmarshal(format: DataFormatDefinition) : DSL
def when(filter: Exchange => Boolean) : SChoiceDefinition
- def wiretap(uris: String) : DSL
+
+ def wiretap(uri: String) : DSL
+ def wiretap(uri: String, expression: Exchange => Any) : DSL
+
def -->(uris: String*) : DSL
}
Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala?rev=778336&r1=778335&r2=778336&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala (original)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala Mon May 25 07:46:54 2009
@@ -101,6 +101,7 @@
def unmarshal(format: DataFormatDefinition) = wrap(target.unmarshal(format))
def wiretap(uri: String) = wrap(target.wireTap(uri))
+ def wiretap(uri: String, expression: Exchange => Any) = wrap(target.wireTap(uri, expression))
def aggregate(expression: Exchange => Any) = SAggregateDefinition(target.aggregate(expression))
Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala?rev=778336&r1=778335&r2=778336&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala (original)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala Mon May 25 07:46:54 2009
@@ -92,6 +92,7 @@
def setheader(name: String, expression: Exchange => Any) = stack.top.setheader(name, expression)
def unmarshal(format: DataFormatDefinition) = stack.top.unmarshal(format)
def wiretap(uri: String) = stack.top.wiretap(uri)
+ def wiretap(uri: String, expression: Exchange => Any) = stack.top.wiretap(uri, expression)
def aggregate(expression: Exchange => Any) = stack.top.aggregate(expression)
// implementing the Routes interface to allow RouteBuilder to be discovered by Spring
Modified: camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/WiretapTest.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/WiretapTest.scala?rev=778336&r1=778335&r2=778336&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/WiretapTest.scala (original)
+++ camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/WiretapTest.scala Mon May 25 07:46:54 2009
@@ -28,6 +28,9 @@
def testSimpleTap = doTestWiretap("direct:a", "mock:a")
def testBlockTap = doTestWiretap("direct:b", "mock:b")
+ def testSimpleTapWithBody = doTestWiretapWithBody("direct:c", "mock:c")
+ def testBlockTapWithBody = doTestWiretapWithBody("direct:d", "mock:d")
+
def doTestWiretap(from: String, to: String) = {
to expect { _.received("Calling Elvis", "Calling Paul")}
mock("mock:tap").expectedBodiesReceivedInAnyOrder("Elvis is alive!", "Stop singing, you're not Elvis")
@@ -36,10 +39,19 @@
}
}
+ def doTestWiretapWithBody(from: String, to: String) = {
+ to expect { _.received(Adult("Elvis"), Adult("Paul"))}
+ mock("mock:tap-with-body").expectedBodiesReceived("Tapped!", "Tapped!")
+ test {
+ from ! (Adult("Elvis"), Adult("Paul"))
+ }
+ }
+
val builder =
new RouteBuilder {
//START SNIPPET: simple
"direct:a" wiretap("direct:tap") setbody("Calling " + _.in(classOf[Adult]).name) to ("mock:a")
+ "direct:c" wiretap("direct:tap-with-body", "Tapped!") to ("mock:c")
//END SNIPPET: simple
//START SNIPPET: block
@@ -48,12 +60,18 @@
setbody("Calling " + _.in(classOf[Adult]).name)
to ("mock:b")
}
+ "direct:d" ==> {
+ wiretap("direct:tap-with-body", "Tapped!")
+ to ("mock:d")
+ }
//END SNIPPET: block
"direct:tap" setbody(_.in match {
case Adult("Elvis") => "Elvis is alive!"
case Adult(_) => "Stop singing, you're not Elvis"
}) to "mock:tap"
+
+ "direct:tap-with-body" to "mock:tap-with-body"
}
}