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")
+    }
+  }
 }