You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2010/02/02 13:11:34 UTC
svn commit: r905598 - in
/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala:
RichExchange.scala RichMessage.scala
Author: jstrachan
Date: Tue Feb 2 12:11:30 2010
New Revision: 905598
URL: http://svn.apache.org/viewvc?rev=905598&view=rev
Log:
added a RichMessage plus made RichExchange an Exchange implementation so it can be used in the scalate endpoint
Added:
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala
Modified:
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala
Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala?rev=905598&r1=905597&r2=905598&view=diff
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala (original)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala Tue Feb 2 12:11:30 2010
@@ -16,13 +16,15 @@
*/
package org.apache.camel.scala
-import org.apache.camel.Exchange
import reflect.Manifest
+import org.apache.camel.spi.{UnitOfWork, Synchronization}
+import org.apache.camel.{ExchangePattern, Message, Endpoint, Exchange}
+import java.lang.{Exception, String, Class}
/**
* Rich wrapper for Camel's Exchange implementations
*/
-class RichExchange(val exchange : Exchange) {
+class RichExchange(val exchange : Exchange) extends Exchange {
def in : Any = exchange.getIn().getBody()
@@ -38,4 +40,71 @@
def out_=(message:Any) = exchange.getOut().setBody(message)
+
+ // Delegation methods
+ //-------------------------------------------------------------------------
+
+ def setUnitOfWork(unitOfWork: UnitOfWork) = exchange.setUnitOfWork(unitOfWork)
+
+ def setProperty(name: String, value: Any) = exchange.setProperty(name, value)
+
+ def setPattern(pattern: ExchangePattern) = exchange.setPattern(pattern)
+
+ def setOut(out: Message) = exchange.setOut(out)
+
+ def setIn(in: Message) = exchange.setIn(in)
+
+ def setFromEndpoint(fromEndpoint: Endpoint) = exchange.setFromEndpoint(fromEndpoint)
+
+ def setExchangeId(id: String) = exchange.setExchangeId(id)
+
+ def setException(e: Exception) = exchange.setException(e)
+
+ def removeProperty(name: String) = exchange.removeProperty(name)
+
+ def isTransacted = exchange.isTransacted
+
+ def isRollbackOnly = exchange.isRollbackOnly
+
+ def isFailed = exchange.isFailed
+
+ def hasProperties = exchange.hasProperties
+
+ def hasOut = exchange.hasOut
+
+ def getUnitOfWork = exchange.getUnitOfWork
+
+ def getProperty[T](name: String, propertyType : Class[T]) = exchange.getProperty(name, propertyType)
+
+ def getProperty[T](name: String, defaultValue: Any, propertyType : Class[T]) = exchange.getProperty(name, defaultValue, propertyType)
+
+ def getProperty(name: String, defaultValue: Any) = exchange.getProperty(name, defaultValue)
+
+ def getProperty(name: String) = exchange.getProperty(name)
+
+ def getProperties = exchange.getProperties
+
+ def getPattern = exchange.getPattern
+
+ def getOut[T](outType : Class[T]) = exchange.getOut(outType)
+
+ def getOut = exchange.getOut
+
+ def getIn[T](inType : Class[T]) = exchange.getIn(inType)
+
+ def getIn = exchange.getIn
+
+ def getFromEndpoint = exchange.getFromEndpoint
+
+ def getExchangeId = exchange.getExchangeId
+
+ def getException[T](exceptionType : Class[T]) = exchange.getException(exceptionType)
+
+ def getException = exchange.getException
+
+ def getContext = exchange.getContext
+
+ def copy = new RichExchange(exchange.copy)
+
+ def addOnCompletion(onCompletion: Synchronization) = exchange.addOnCompletion(onCompletion)
}
Added: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala?rev=905598&view=auto
==============================================================================
--- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala (added)
+++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala Tue Feb 2 12:11:30 2010
@@ -0,0 +1,76 @@
+package org.apache.camel.scala
+
+import org.apache.camel.Message
+import java.util.Map
+import java.lang.{Class, String}
+import javax.activation.DataHandler
+
+/**
+ * @version $Revision: 1.1 $
+ */
+
+class RichMessage(val message: Message) extends Message {
+
+ // Delegate methods
+ //-------------------------------------------------------------------------
+
+ def setMessageId(messageId: String) = message.setMessageId(messageId)
+
+ def setHeaders(headers: Map[String, Object]) = message.setHeaders(headers)
+
+ def setHeader(name: String, value: Any) = message.setHeader(name, value)
+
+ def setFault(fault: Boolean) = message.setFault(fault)
+
+ def setBody[T](body: Any, bodyType : Class[T]) = message.setBody(body, bodyType)
+
+ def setBody(body: Any) = message.setBody()
+
+ def setAttachments(attachments: Map[String, DataHandler]) = message.setAttachments(attachments)
+
+ def removeHeader(name: String) = message.removeHeader(name)
+
+ def removeAttachment(id: String) = message.removeAttachment(id)
+
+ def isFault = message.isFault
+
+ def hasHeaders = message.hasHeaders
+
+ def hasAttachments = message.hasAttachments
+
+ def getMessageId = message.getMessageId
+
+ def getMandatoryBody[T](bodyType : Class[T]) = message.getMandatoryBody(bodyType)
+
+ def getMandatoryBody = message.getMandatoryBody
+
+ def getHeaders = message.getHeaders
+
+ def getHeader[T](name: String, headerType : Class[T]) = message.getHeader(name, headerType)
+
+ def getHeader[T](name: String, defaultValue: Any, headerType : Class[T]) = message.getHeader(name, defaultValue, headerType)
+
+ def getHeader(name: String, defaultValue: Any) = message.getHeader(name, defaultValue)
+
+ def getHeader(name: String) = message.getHeader(name)
+
+ def getExchange = message.getExchange
+
+ def getBody[T](bodyType : Class[T]) = message.getBody(bodyType)
+
+ def getBody = message.getBody
+
+ def getAttachments = message.getAttachments
+
+ def getAttachmentNames = message.getAttachmentNames
+
+ def getAttachment(id: String) = message.getAttachment(id)
+
+ def createExchangeId = message.createExchangeId
+
+ def copyFrom(message: Message) = message.copyFrom(message)
+
+ def copy = new RichMessage(message.copy)
+
+ def addAttachment(id: String, content: DataHandler) = message.addAttachment(id, content)
+}
\ No newline at end of file