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 2010/10/11 13:13:05 UTC
svn commit: r1021301 - in /camel/trunk: ./
components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/
components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/
components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/
Author: gertv
Date: Mon Oct 11 11:13:05 2010
New Revision: 1021301
URL: http://svn.apache.org/viewvc?rev=1021301&view=rev
Log:
CAMEL-463: Adding support for route id and log() DSL method
Added:
camel/trunk/.gitignore
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala
- copied, changed from r1006307, camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala
Modified:
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/SRouteDefinition.scala
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
Added: camel/trunk/.gitignore
URL: http://svn.apache.org/viewvc/camel/trunk/.gitignore?rev=1021301&view=auto
==============================================================================
--- camel/trunk/.gitignore (added)
+++ camel/trunk/.gitignore Mon Oct 11 11:13:05 2010
@@ -0,0 +1,5 @@
+target
+*.i??
+.classpath
+.project
+.settings
\ No newline at end of file
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=1021301&r1=1021300&r2=1021301&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 Oct 11 11:13:05 2010
@@ -42,6 +42,11 @@ trait DSL {
def inOnly(): DSL with Block
def inOut(): DSL with Block
def loadbalance : SLoadBalanceDefinition
+
+ def log(message: String) : DSL
+ def log(level: LoggingLevel, message: String) : DSL
+ def log(level: LoggingLevel, logName: String, message: String) : DSL
+
def loop(expression: Exchange => Any) : SLoopDefinition
def marshal(format : DataFormatDefinition) : DSL
def multicast : SMulticastDefinition
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=1021301&r1=1021300&r2=1021301&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 Oct 11 11:13:05 2010
@@ -30,6 +30,7 @@ import org.apache.camel.processor.aggreg
import org.apache.camel.scala.dsl.builder.RouteBuilder
import reflect.Manifest
+import java.lang.String
abstract class SAbstractDefinition[P <: ProcessorDefinition[_]] extends DSL with Wrapper[P] with Block {
@@ -85,7 +86,11 @@ abstract class SAbstractDefinition[P <:
def inOnly = wrap(target.inOnly)
def inOut = wrap(target.inOut)
-
+
+ def log(message: String) = wrap(target.log(message))
+ def log(level: LoggingLevel, message: String) = wrap(target.log(level, message))
+ def log(level: LoggingLevel, logName: String, message: String) = wrap(target.log(level, logName, message))
+
def loop(expression: Exchange => Any) = SLoopDefinition(target.loop(expression))
def marshal(format: DataFormatDefinition) = wrap(target.marshal(format))
Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala?rev=1021301&r1=1021300&r2=1021301&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala (original)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala Mon Oct 11 11:13:05 2010
@@ -23,4 +23,9 @@ case class SRouteDefinition(override val
def ==> (block: => Unit) : SRouteDefinition = this.apply(block).asInstanceOf[SRouteDefinition]
+ def ::(id: String) : SRouteDefinition = {
+ target.setId(id)
+ this
+ }
+
}
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=1021301&r1=1021300&r2=1021301&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 Oct 11 11:13:05 2010
@@ -31,6 +31,7 @@ import _root_.scala.reflect.Manifest
import org.apache.camel.scala.dsl._
import org.apache.camel.scala.dsl.languages.Languages
+import java.lang.String
/**
* Scala RouteBuilder implementation
@@ -93,6 +94,10 @@ class RouteBuilder extends Preamble with
def inOnly = stack.top.inOnly
def inOut = stack.top.inOut
+ def log(message: String) = stack.top.log(message)
+ def log(level: LoggingLevel, message: String) = stack.top.log(level, message)
+ def log(level: LoggingLevel, logName: String, message: String) = stack.top.log(level, logName, message)
+
def loop(expression: Exchange => Any) = stack.top.loop(expression)
def split(expression: Exchange => Any) = stack.top.split(expression)
def otherwise = stack.top.otherwise
Copied: camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala (from r1006307, camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala?p2=camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala&p1=camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala&r1=1006307&r2=1021301&rev=1021301&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SRouteDefinition.scala (original)
+++ camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala Mon Oct 11 11:13:05 2010
@@ -14,13 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.scala.dsl;
+package org.apache.camel.scala.dsl
-import org.apache.camel.model.RouteDefinition
-import org.apache.camel.scala.dsl.builder.RouteBuilder
+import builder.{RouteBuilder, RouteBuilderSupport}
+import org.apache.camel.processor.LogProcessorTest
+import org.apache.camel.LoggingLevel
-case class SRouteDefinition(override val target: RouteDefinition, val builder: RouteBuilder) extends SAbstractDefinition[RouteDefinition] {
-
- def ==> (block: => Unit) : SRouteDefinition = this.apply(block).asInstanceOf[SRouteDefinition]
+/**
+ * Scala DSL equivalent for the org.apache.camel.processor.LogProcessorTest
+ */
+class SLogProcessorTest extends LogProcessorTest with RouteBuilderSupport {
+
+ override def createRouteBuilder = new RouteBuilder {
+ "foo" :: "direct:foo" log("Got ${body}") to("mock:foo")
+
+ "bar" :: "direct:bar" log(LoggingLevel.WARN, "Also got ${body}") to("mock:bar")
+ "baz" :: "direct:baz" ==> {
+ log(LoggingLevel.FATAL, "cool", "Me got ${body}")
+ to("mock:baz")
+ }
+ }
}