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