Author: gertv
Date: Wed May 20 07:13:19 2009
New Revision: 776596

URL: http://svn.apache.org/viewvc?rev=776596&view=rev
Log:
CAMEL-463: Refactoring some classes in the Scala DSL

Added:
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/Block.scala
      - copied, changed from r776504, 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
Removed:
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SProcessDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SProcessorDefinition.scala
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/SAggregateDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SChoiceDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SDelayDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SInterceptFromDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoopDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.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/SSplitDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/STryDefinition.scala
    
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/ResequencerTest.scala

Modified: camel/trunk/components/camel-scala/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/pom.xml?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/pom.xml (original)
+++ camel/trunk/components/camel-scala/pom.xml Wed May 20 07:13:19 2009
@@ -29,6 +29,9 @@
               <goal>compile</goal>
               <goal>testCompile</goal>
             </goals>
+            <configuration>
+              <args><arg>-Xprint:namer</arg></args>
+            </configuration>
           </execution>
         </executions>
       </plugin>

Copied: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/Block.scala
 (from r776504, 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/Block.scala?p2=camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/Block.scala&p1=camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala&r1=776504&r2=776596&rev=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/Block.scala
 Wed May 20 07:13:19 2009
@@ -14,13 +14,17 @@
  * 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.SplitDefinition
-import org.apache.camel.scala.dsl.builder.RouteBuilder
-
-class SSplitDefinition(val target: SplitDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[SplitDefinition] {
+/**
+ * Helper trait to pass a block of code into a DSL instance
+ */
+trait Block {
   
-  val unwrap = target
+  /**
+   * Execute the block of code within the context of the current DSL node
+   * and return the DSL node itself
+   */
+  def apply(block: => Unit) : DSL with Block
 
 }

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=776596&r1=776595&r2=776596&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
 Wed May 20 07:13:19 2009
@@ -32,8 +32,8 @@
   def delay(delay: Period) : SDelayDefinition
   def enrich(uri:String, strategy: AggregationStrategy) : DSL
   def idempotentconsumer(expression: Exchange => Any): 
SIdempotentConsumerDefinition
-  def inOnly(): SProcessorDefinition
-  def inOut(): SProcessorDefinition
+  def inOnly(): DSL with Block
+  def inOut(): DSL with Block
   def loadbalance : SLoadBalanceDefinition
   def loop(expression: Exchange => Any) : SLoopDefinition
   def marshal(format : DataFormatDefinition) : 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=776596&r1=776595&r2=776596&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
 Wed May 20 07:13:19 2009
@@ -16,10 +16,7 @@
  */
 package org.apache.camel.scala.dsl;
 
-import org.apache.camel.model.ProcessorDefinition
-import org.apache.camel.model.FilterDefinition
-import org.apache.camel.model.{ChoiceDefinition, EnrichDefinition}
-import org.apache.camel.model.IdempotentConsumerDefinition
+import org.apache.camel.model._
 
 import org.apache.camel.model.dataformat.DataFormatDefinition
 
@@ -27,11 +24,10 @@
 
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
-abstract class SAbstractDefinition extends DSL {
-  
-  type RawProcessorDefinition = ProcessorDefinition[P] forSome {type P}
-  
-  val target : ProcessorDefinition[T] forSome {type T}
+abstract class SAbstractDefinition[P <: ProcessorDefinition[_]] extends DSL 
with Wrapper[P] with Block {
+
+  val target : P
+  val unwrap = target
   implicit val builder: RouteBuilder
   implicit def expressionBuilder(expression: Exchange => Any) = new 
ScalaExpression(expression)
   
@@ -47,83 +43,72 @@
     this
   }
   
-  def when(filter: Exchange => Boolean) : SChoiceDefinition =
-    new SChoiceDefinition(target.choice).when(filter)
+  def when(filter: Exchange => Boolean) : SChoiceDefinition = 
SChoiceDefinition(target.choice).when(filter)
     
-  def as[Target](toType: Class[Target]) = {
-    target.convertBodyTo(toType)
-    new SProcessorDefinition(target.asInstanceOf[RawProcessorDefinition])
-  }
+  def as[Target](toType: Class[Target]) = wrap(target.convertBodyTo(toType))
   
-  def attempt : STryDefinition = new STryDefinition(target.doTry)
+  def attempt : STryDefinition = STryDefinition(target.doTry)
   
-  def split(expression: Exchange => Any) = 
-    new SSplitDefinition(target.split(expression))
+  def split(expression: Exchange => Any) = 
SSplitDefinition(target.split(expression))
     
-  def recipients(expression: Exchange => Any) = 
-    new 
SProcessorDefinition(target.recipientList(expression).asInstanceOf[RawProcessorDefinition])
-
   def apply(block: => Unit) = {
     builder.build(this, block)
     this
   }
 
   def bean(bean: Any) = bean match {
-    case cls: Class[_] => new 
SProcessorDefinition(target.bean(cls).asInstanceOf[RawProcessorDefinition])
-    case ref: String => new 
SProcessorDefinition(target.beanRef(ref).asInstanceOf[RawProcessorDefinition])
-    case obj: Any => new 
SProcessorDefinition(target.bean(obj).asInstanceOf[RawProcessorDefinition])
+    case cls: Class[_] => wrap(target.bean(cls))
+    case ref: String => wrap(target.beanRef(ref))
+    case obj: Any => wrap(target.bean(obj))
   }
   
-  def choice = new SChoiceDefinition(target.choice)
+  def choice = SChoiceDefinition(target.choice)
   
-  def enrich(uri: String, strategy: AggregationStrategy) = {
-    target.enrich(uri, strategy)
-    this
-  }
+  def enrich(uri: String, strategy: AggregationStrategy) = 
wrap(target.enrich(uri, strategy))
     
   def otherwise : SChoiceDefinition = 
     throw new Exception("otherwise is only supported in a choice block or 
after a when statement")
   
-  def idempotentconsumer(expression: Exchange => Any) = new 
SIdempotentConsumerDefinition(target.idempotentConsumer(expression, null))
+  def idempotentconsumer(expression: Exchange => Any) = 
SIdempotentConsumerDefinition(target.idempotentConsumer(expression, null))
   
-  def inOnly = new 
SProcessorDefinition(target.inOnly.asInstanceOf[RawProcessorDefinition])
-  def inOut = new 
SProcessorDefinition(target.inOut.asInstanceOf[RawProcessorDefinition])
+  def inOnly = wrap(target.inOnly)
+  def inOut = wrap(target.inOut)
   
-  def loop(expression: Exchange => Any) = new 
SLoopDefinition(target.loop(expression))
+  def loop(expression: Exchange => Any) = 
SLoopDefinition(target.loop(expression))
   
-  def marshal(format: DataFormatDefinition) = {
-    target.marshal(format)
-    this
-  }
+  def marshal(format: DataFormatDefinition) = wrap(target.marshal(format))
   
-  def multicast = new SMulticastDefinition(target.multicast)
+  def multicast = SMulticastDefinition(target.multicast)
   
-  def process(function: Exchange => Unit) = {
-    target.process(new ScalaProcessor(function))
-    this
-  }
+  def process(function: Exchange => Unit) = wrap(target.process(new 
ScalaProcessor(function)))
  
-  def throttle(frequency: Frequency) = new 
SThrottleDefinition(target.throttle(frequency.count).timePeriodMillis(frequency.period.milliseconds))
+  def throttle(frequency: Frequency) = 
SThrottleDefinition(target.throttle(frequency.count).timePeriodMillis(frequency.period.milliseconds))
   
-  def loadbalance = new SLoadBalanceDefinition(target.loadBalance)
+  def loadbalance = SLoadBalanceDefinition(target.loadBalance)
   
-  def delay(period: Period) = new 
SDelayDefinition(target.delay(period.milliseconds))
+  def delay(period: Period) = 
SDelayDefinition(target.delay(period.milliseconds))
+
+  def recipients(expression: Exchange => Any) = 
wrap(target.recipientList(expression))
   
-  def resequence(expression: Exchange => Any) = new 
SResequenceDefinition(target.resequence(expression))
+  def resequence(expression: Exchange => Any) = 
SResequenceDefinition(target.resequence(expression))
   
-  def rollback = new 
SProcessorDefinition(target.rollback.asInstanceOf[RawProcessorDefinition])
+  def rollback = wrap(target.rollback)
   
-  def setbody(expression: Exchange => Any) = new 
SProcessorDefinition(target.setBody(expression).asInstanceOf[ProcessorDefinition[P]
 forSome {type P}])
+  def setbody(expression: Exchange => Any) = wrap(target.setBody(expression))
   
-  def setheader(name: String, expression: Exchange => Any) = new 
SProcessorDefinition(target.setHeader(name, 
expression).asInstanceOf[ProcessorDefinition[P] forSome {type P}])
+  def setheader(name: String, expression: Exchange => Any) = 
wrap(target.setHeader(name, expression))
   
-  def unmarshal(format: DataFormatDefinition) = {
-    target.unmarshal(format)
-    this
-  }
+  def unmarshal(format: DataFormatDefinition) = wrap(target.unmarshal(format))
   
-  def wiretap(uri: String) = new 
SProcessorDefinition(target.wireTap(uri).asInstanceOf[RawProcessorDefinition])
+  def wiretap(uri: String) = wrap(target.wireTap(uri))
   
-  def aggregate(expression: Exchange => Any) = new 
SAggregateDefinition(target.aggregate(expression))
+  def aggregate(expression: Exchange => Any) = 
SAggregateDefinition(target.aggregate(expression))
 
+  /**
+   * Helper method to return this Scala type instead of creating another 
wrapper type for the processor
+   */
+  def wrap(block : => Unit) : SAbstractDefinition[_]  = {
+     block
+     this
+  }
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
 Wed May 20 07:13:19 2009
@@ -24,9 +24,7 @@
 /**
  * Scala wrapper for Camel AggregateDefinition
  */
-class SAggregateDefinition(val target: AggregateDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[AggregateDefinition] {
-  
-  val unwrap = target
+case class SAggregateDefinition(override val target: 
AggregateDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[AggregateDefinition] {
   
   def strategy(function: (Exchange, Exchange) => Exchange) = {
     println("testing")

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SChoiceDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SChoiceDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SChoiceDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SChoiceDefinition.scala
 Wed May 20 07:13:19 2009
@@ -19,9 +19,7 @@
 import org.apache.camel.model.ChoiceDefinition
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
-class SChoiceDefinition(val target: ChoiceDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[ChoiceDefinition] {
-  
-  val unwrap = target
+case class SChoiceDefinition(override val target: ChoiceDefinition)(implicit 
val builder: RouteBuilder) extends SAbstractDefinition[ChoiceDefinition] {
   
   override def otherwise = {
     target.otherwise

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SDelayDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SDelayDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SDelayDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SDelayDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,10 +22,8 @@
 /**
  * Scala enrichment for Camel's DelayDefinition
  */
-class SDelayDefinition(val target: DelayDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[DelayDefinition] {
+case class SDelayDefinition(override val target: DelayDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition[DelayDefinition] {
  
-  val unwrap = target
-
   def ms = this
   def milliseconds = ms
     

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
 Wed May 20 07:13:19 2009
@@ -20,10 +20,8 @@
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
 /**
- * Scala enrichment for Camel's DelayDefinition
+ * Scala enrichment for Camel's EnrichDefinition
  */
-class SEnrichDefinition(val target: EnrichDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[EnrichDefinition] {
- 
-  val unwrap = target
+case class SEnrichDefinition(override val target: EnrichDefinition)(implicit 
val builder: RouteBuilder) extends SAbstractDefinition[EnrichDefinition] {
 
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
 Wed May 20 07:13:19 2009
@@ -23,9 +23,7 @@
 /**
  * Scala enrichment for Camel's IdempotentConsumerDefinition
  */
-class SIdempotentConsumerDefinition(val target: 
IdempotentConsumerDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition with Wrapper[IdempotentConsumerDefinition] {
-  
-  val unwrap = target
+case class SIdempotentConsumerDefinition(override val target: 
IdempotentConsumerDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[IdempotentConsumerDefinition] {
   
   def memory(size: Int) = { 
     
target.setMessageIdRepository(MemoryIdempotentRepository.memoryIdempotentRepository(size))

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SInterceptFromDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SInterceptFromDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SInterceptFromDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SInterceptFromDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,9 +22,7 @@
 /**
  * Scala enrichment for Camel's InterceptFromDefinition
  */
-class SInterceptFromDefinition(val target: InterceptFromDefinition)(implicit 
val builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[InterceptFromDefinition] {
-  
-  val unwrap = target
+case class SInterceptFromDefinition(override val target: 
InterceptFromDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[InterceptFromDefinition] {
   
   override def apply(block: => Unit) : SInterceptFromDefinition = {
     builder.build(this, block)

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,10 +22,8 @@
 /**
  * Scala enrichment for Camel's LoadBalanceDefinition
  */
-class SLoadBalanceDefinition(val target: LoadBalanceDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[LoadBalanceDefinition] {
+case class SLoadBalanceDefinition(override val target: 
LoadBalanceDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[LoadBalanceDefinition] {
  
-  val unwrap = target
-  
   def roundrobin = {
     target.roundRobin
     this;

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoopDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoopDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoopDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoopDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,8 +22,6 @@
 /**
  * Scala enrichment for Camel's LoopDefinition
  */
-class SLoopDefinition(val target: LoopDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[LoopDefinition] {
+case class SLoopDefinition(override val target: LoopDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition[LoopDefinition] {
  
-  val unwrap = target
-  
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
 Wed May 20 07:13:19 2009
@@ -19,8 +19,6 @@
 import org.apache.camel.model.MulticastDefinition
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
-class SMulticastDefinition(val target: MulticastDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[MulticastDefinition] {
-  
-  val unwrap = target
+case class SMulticastDefinition(override val target: 
MulticastDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[MulticastDefinition] {
   
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,8 +22,6 @@
 /**
  * Scala enrichment for Camel's OnExceptionDefinition
  */
-class SOnExceptionDefinition(val target: OnExceptionDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[OnExceptionDefinition] {
+case class SOnExceptionDefinition(override val target: 
OnExceptionDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[OnExceptionDefinition] {
   
-  val unwrap = target
-   
-}
\ No newline at end of file
+}

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
 Wed May 20 07:13:19 2009
@@ -20,11 +20,9 @@
 import org.apache.camel.model.config.BatchResequencerConfig
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
-class SResequenceDefinition(val target: ResequenceDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[ResequenceDefinition] {
+case class SResequenceDefinition(override val target: 
ResequenceDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[ResequenceDefinition] {
   
-  val unwrap = target
-  
-  def batch(count: Int) = {
+  def batch(count: Int) : SResequenceDefinition = {
     val config = new BatchResequencerConfig()
     config.setBatchSize(count)
     target.batch(config)

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=776596&r1=776595&r2=776596&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
 Wed May 20 07:13:19 2009
@@ -19,10 +19,8 @@
 import org.apache.camel.model.RouteDefinition
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
-class SRouteDefinition(val target: RouteDefinition, val builder: RouteBuilder) 
extends SAbstractDefinition with Wrapper[RouteDefinition] {
+case class SRouteDefinition(override val target: RouteDefinition, val builder: 
RouteBuilder) extends SAbstractDefinition[RouteDefinition] {
  
-  val unwrap = target
-  
-  def ==>(block: => Unit) = apply(this, block)
+  def ==> : SRouteDefinition = this
 
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
 Wed May 20 07:13:19 2009
@@ -19,8 +19,6 @@
 import org.apache.camel.model.SplitDefinition
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 
-class SSplitDefinition(val target: SplitDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[SplitDefinition] {
+case class SSplitDefinition(override val target: SplitDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition[SplitDefinition] {
   
-  val unwrap = target
-
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,10 +22,8 @@
 /**
  * Scala enrichment for Camel's ThrottleDefinition
  */
-class SThrottleDefinition(val target: ThrottleDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition with 
Wrapper[ThrottleDefinition] {
+case class SThrottleDefinition(override val target: 
ThrottleDefinition)(implicit val builder: RouteBuilder) extends 
SAbstractDefinition[ThrottleDefinition] {
  
-  val unwrap = target
-  
   /**
    * Time period in milliseconds
    */

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/STryDefinition.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/STryDefinition.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/STryDefinition.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/STryDefinition.scala
 Wed May 20 07:13:19 2009
@@ -22,9 +22,7 @@
 /**
  * Scala enrichment for Camel's TryDefinition
  */
-class STryDefinition(val target: TryDefinition)(implicit val builder: 
RouteBuilder) extends SAbstractDefinition with Wrapper[TryDefinition] {
-  
-  val unwrap = target
+case class STryDefinition(override val target: TryDefinition)(implicit val 
builder: RouteBuilder) extends SAbstractDefinition[TryDefinition] {
   
   override def apply(block: => Unit) : STryDefinition = 
super.apply(block).asInstanceOf[STryDefinition]
   
@@ -38,4 +36,4 @@
     this
   }
  
-}
\ No newline at end of file
+}

Modified: 
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/ResequencerTest.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/ResequencerTest.scala?rev=776596&r1=776595&r2=776596&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/ResequencerTest.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/ResequencerTest.scala
 Wed May 20 07:13:19 2009
@@ -70,7 +70,7 @@
        //START SNIPPET: batch
        "direct:d" ==> {
          to ("mock:d")
-         resequence (_.in) batch(5) apply {
+         resequence(_.in).batch(5) {
            to ("mock:e")
          }
        }


Reply via email to