You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by he...@apache.org on 2013/10/24 13:12:00 UTC

git commit: [CAMEL-6893] [Scala] Migrate from Manifests to ClassTags

Updated Branches:
  refs/heads/master 1eb4f89a9 -> cbb5bcf72


[CAMEL-6893] [Scala] Migrate from Manifests to ClassTags


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cbb5bcf7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cbb5bcf7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cbb5bcf7

Branch: refs/heads/master
Commit: cbb5bcf72fe6d4f233c0b26aeb4a8de9080e8c95
Parents: 1eb4f89
Author: Henryk Konsek <he...@gmail.com>
Authored: Thu Oct 24 13:11:51 2013 +0200
Committer: Henryk Konsek <he...@gmail.com>
Committed: Thu Oct 24 13:11:51 2013 +0200

----------------------------------------------------------------------
 .../main/scala/org/apache/camel/scala/RichExchange.scala  |  4 ++--
 .../src/main/scala/org/apache/camel/scala/dsl/DSL.scala   |  4 ++--
 .../org/apache/camel/scala/dsl/SAbstractDefinition.scala  |  4 ++--
 .../org/apache/camel/scala/dsl/builder/RouteBuilder.scala | 10 +++++-----
 .../org/apache/camel/scala/converter/ConverterSpec.scala  |  4 ++--
 5 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/cbb5bcf7/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala
index 467cd97..1574fbf 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala
@@ -17,7 +17,7 @@
 package org.apache.camel
 package scala
 
-import reflect.Manifest
+import reflect.{ClassTag, classTag}
 import org.apache.camel.spi.{UnitOfWork, Synchronization}
 import org.apache.camel.{ExchangePattern, Message, Endpoint, Exchange}
 import java.lang.{String, Class}
@@ -32,7 +32,7 @@ class RichExchange(val exchange : Exchange) extends Exchange {
   def in(header:String) : Any = exchange.getIn.getHeader(header)
 
   def in = exchange.getIn.getBody
-  def in[T](implicit manifest: Manifest[T]) : T = exchange.getIn.getBody(manifest.runtimeClass).asInstanceOf[T]
+  def in[T : ClassTag] : T = exchange.getIn.getBody(classTag[T].runtimeClass.asInstanceOf[Class[T]])
 
   def out = exchange.getOut.getBody
 

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb5bcf7/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala
index 9fba58d..0779746 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/DSL.scala
@@ -19,7 +19,7 @@ package scala
 package dsl 
 
 import org.apache.camel.model.DataFormatDefinition
-import reflect.Manifest
+import reflect.ClassTag
 import java.util.Comparator
 import org.apache.camel.processor.aggregate.AggregationStrategy
 
@@ -46,7 +46,7 @@ trait DSL {
 
   def filter(predicate: Exchange => Any) : SFilterDefinition
 
-  def handle[E <: Throwable](block: => Unit)(implicit manifest: Manifest[E]) : SOnExceptionDefinition[E]
+  def handle[E <: Throwable : ClassTag](block: => Unit) : SOnExceptionDefinition[E]
 
   def id(id : String): DSL
   def idempotentConsumer(expression: Exchange => Any): SIdempotentConsumerDefinition

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb5bcf7/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
index 8b8e692..cf07e40 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
@@ -24,7 +24,7 @@ import org.apache.camel.processor.aggregate.AggregationStrategy
 import org.apache.camel.scala.dsl.builder.RouteBuilder
 import spi.Policy
 
-import reflect.Manifest
+import reflect.{ClassTag, classTag}
 import java.lang.String
 import java.util.Comparator
 
@@ -74,7 +74,7 @@ abstract class SAbstractDefinition[P <: ProcessorDefinition[_]] extends DSL with
 
   def filter(predicate: Exchange => Any) = SFilterDefinition(target.filter(predicateBuilder(predicate)))
 
-  def handle[E <: Throwable](block: => Unit)(implicit manifest: Manifest[E]) = SOnExceptionDefinition[E](target.onException(manifest.runtimeClass.asInstanceOf[Class[Throwable]])).apply(block)
+  def handle[E <: Throwable : ClassTag](block: => Unit) = SOnExceptionDefinition[E](target.onException(classTag[E].runtimeClass.asInstanceOf[Class[E]])).apply(block)
 
   def id(id : String) = wrap(target.id(id))
   def idempotentConsumer(expression: Exchange => Any) = SIdempotentConsumerDefinition(target.idempotentConsumer(expression, null))

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb5bcf7/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
index bdfdea5..7920793 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/builder/RouteBuilder.scala
@@ -25,7 +25,7 @@ import org.apache.camel.builder.{LoggingErrorHandlerBuilder, DeadLetterChannelBu
 import org.apache.camel.spi.Policy
 import org.apache.camel.processor.aggregate.AggregationStrategy
 import collection.mutable.Stack
-import _root_.scala.reflect.Manifest
+import reflect.{ClassTag, classTag}
 
 import org.apache.camel.scala.dsl._
 
@@ -80,12 +80,12 @@ class RouteBuilder extends Preamble with DSL with RoutesBuilder with Languages w
   def from(uri: String) = new SRouteDefinition(builder.from(uri), this)
 
   /*
-   * This is done a bit differently - the implicit manifest parameter forces us to define the block in the same
-   * method definition
+   * This is done a bit differently - the implicit manifest parameter forced us to define the block in the same
+   * method definition.
    */
-  def handle[E <: Throwable](block: => Unit)(implicit manifest: Manifest[E]) = {
+  def handle[E <: Throwable : ClassTag](block: => Unit) = {
     stack.size match {
-      case 0 => SOnExceptionDefinition[E](builder.onException(manifest.runtimeClass.asInstanceOf[Class[Throwable]]))(this).apply(block)
+      case 0 => SOnExceptionDefinition[E](builder.onException(classTag[E].runtimeClass.asInstanceOf[Class[Throwable]]))(this).apply(block)
       case _ => stack.top.handle[E](block)
     }
   }

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb5bcf7/components/camel-scala/src/test/scala/org/apache/camel/scala/converter/ConverterSpec.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/test/scala/org/apache/camel/scala/converter/ConverterSpec.scala b/components/camel-scala/src/test/scala/org/apache/camel/scala/converter/ConverterSpec.scala
index b5d1c62..7fcaf15 100644
--- a/components/camel-scala/src/test/scala/org/apache/camel/scala/converter/ConverterSpec.scala
+++ b/components/camel-scala/src/test/scala/org/apache/camel/scala/converter/ConverterSpec.scala
@@ -22,7 +22,7 @@ import org.scalatest.matchers.MustMatchers
 import org.scalatest.junit.JUnitRunner
 import org.junit.runner.RunWith
 
-import reflect.Manifest
+import reflect.{ClassTag, classTag}
 import org.w3c.dom.Document
 import xml.Elem
 import scala.Some
@@ -200,5 +200,5 @@ class ConverterSpec extends FunSpec with CamelSpec with MustMatchers {
 
   }
 
-  private def to[T](x: AnyRef)(implicit m: Manifest[T]): Option[T] = Option( context.getTypeConverter.mandatoryConvertTo(m.runtimeClass, createExchange, x).asInstanceOf[T] )
+  private def to[T : ClassTag](x: AnyRef): Option[T] = Option( context.getTypeConverter.mandatoryConvertTo(classTag[T].runtimeClass.asInstanceOf[Class[T]], createExchange, x) )
 }