org.jboss.soa.esb.listeners.gateway.camel
Class CamelMessageComposer<T extends org.apache.camel.Message>

java.lang.Object
  extended by org.jboss.soa.esb.listeners.message.AbstractMessageComposer<T>
      extended by org.jboss.soa.esb.listeners.gateway.camel.CamelMessageComposer<T>
All Implemented Interfaces:
MessageComposer<T>

public class CamelMessageComposer<T extends org.apache.camel.Message>
extends AbstractMessageComposer<T>

CamelMessageComposer.

Author:
dward at jboss.org

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.soa.esb.listeners.message.MessageComposer
MessageComposer.Factory
 
Constructor Summary
CamelMessageComposer()
           
 
Method Summary
 T decompose(Message esbMessageOut, T camelMessageIn)
          Decompose the message.
 ConfigTree getConfiguration()
          Get the composer configuration.
protected  MessagePayloadProxy getPayloadProxy()
           
protected  void mapHeaders(Message esbMessageIn, T camelMessageIn)
          Map the Camel Headers to the ESB Message Properties.
protected  void populateMessage(Message esbMessageIn, T camelMessageIn)
          Populate
 void setConfiguration(ConfigTree config)
          Set the composers configuration.
 
Methods inherited from class org.jboss.soa.esb.listeners.message.AbstractMessageComposer
compose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CamelMessageComposer

public CamelMessageComposer()
Method Detail

getConfiguration

public ConfigTree getConfiguration()
Description copied from class: AbstractMessageComposer
Get the composer configuration.

Overrides:
getConfiguration in class AbstractMessageComposer<T extends org.apache.camel.Message>
Returns:
The composer configuration.

setConfiguration

public void setConfiguration(ConfigTree config)
Description copied from class: AbstractMessageComposer
Set the composers configuration.

Specified by:
setConfiguration in interface MessageComposer<T extends org.apache.camel.Message>
Overrides:
setConfiguration in class AbstractMessageComposer<T extends org.apache.camel.Message>
Parameters:
config - Composer configuration.

getPayloadProxy

protected MessagePayloadProxy getPayloadProxy()
Overrides:
getPayloadProxy in class AbstractMessageComposer<T extends org.apache.camel.Message>

populateMessage

protected void populateMessage(Message esbMessageIn,
                               T camelMessageIn)
                        throws MessageDeliverException
Description copied from class: AbstractMessageComposer
Populate

Specified by:
populateMessage in class AbstractMessageComposer<T extends org.apache.camel.Message>
Parameters:
esbMessageIn - The message instance to be populated.
camelMessageIn - The message payload to to be populated into the message.
Throws:
MessageDeliverException - Unable to populate message with payload.

mapHeaders

protected void mapHeaders(Message esbMessageIn,
                          T camelMessageIn)
Map the Camel Headers to the ESB Message Properties.

Override to modify mapping behavior.

Parameters:
esbMessageIn - ESB message.
camelMessageIn - Camel message.

decompose

public T decompose(Message esbMessageOut,
                   T camelMessageIn)
                                             throws MessageDeliverException
Description copied from class: AbstractMessageComposer
Decompose the message.

This implementation simple calls Body.get(ActionUtils.POST_ACTION_DATA)}. Override to implement an alternative Message decomposition strategy.

Specified by:
decompose in interface MessageComposer<T extends org.apache.camel.Message>
Overrides:
decompose in class AbstractMessageComposer<T extends org.apache.camel.Message>
Parameters:
esbMessageOut - The message to be decomposed.
camelMessageIn - The original input message payload used to compose this (or ther original) message. The original message can sometimes contain information relevant during the decomposition process. Whether or not this parameter can be null depends on the MessageComposer implementation.
Returns:
The message "task object".
Throws:
MessageDeliverException - Failed to decompose message payload.