edu.utah.further.core.camel
Class CamelUtil

java.lang.Object
  extended by edu.utah.further.core.camel.CamelUtil

@Utility
public final class CamelUtil
extends Object

Apache Camel EIP utilities.

-----------------------------------------------------------------------------------
(c) 2008-2010 FURTHeR Project, Health Sciences IT, University of Utah
Contact: Dr. Scott Narus <scott.narus@hsc.utah.edu>
Biomedical Informatics, 26 South 2000 East
Room 5775 HSEB, Salt Lake City, UT 84112
Day Phone: 1-801-213-3288
-----------------------------------------------------------------------------------

Version:
Feb 25, 2010
Author:
Oren E. Livne <oren.livne@utah.edu>

Method Summary
static void copyBodyAndHeaders(org.apache.camel.Exchange exchange)
          Copy an in-out exchange's IN body and headers into its OUT.
static void copyBodyAndHeaders(org.apache.camel.Exchange sourceExchange, org.apache.camel.Exchange targetExchange)
          Copy a source exchange's IN body and headers into a target exchange's OUT.
static void copyHeaders(org.apache.camel.Exchange sourceExchange, org.apache.camel.Exchange targetExchange)
          Copy a source exchange's IN headers into a target exchange's OUT.
static List<String> getExchangeInBodies(List<? extends org.apache.camel.Exchange> exchanges)
          Return the list of bodies of the IN parts of a list of exchanges.
static String getGroupedExchangeBodiesAsString(org.apache.camel.component.mock.MockEndpoint endpoint)
           
static List<org.apache.camel.Exchange> getGroupedExchangeList(org.apache.camel.Exchange entity)
           
static List<org.apache.camel.Exchange> getGroupedExchangeList(org.apache.camel.component.mock.MockEndpoint endpoint, int index)
           
static Object getHeader(Map<String,Object> headers, Named headerName)
          Return a header using a Named object to determine the header's name.
static Object getHeader(org.apache.camel.Message message, Named headerName)
          Return an message header using a Named object to determine the header's name.
static org.apache.camel.Exchange getLatestResult(org.apache.camel.component.mock.MockEndpoint endpoint)
           
static
<T> T
getMessageBody(org.apache.camel.Exchange exchange, Class<T> returnType, T fallBackValue)
          Return a Camel IN message's body as a typed entity.
static void setHeader(Map<String,Object> headers, Named headerName, Object headerValue)
          Set a header using a Named object to determine the header's name.
static void setHeader(Map<String,Object> headers, String headerName, Object headerValue)
          Set a header using a Named object to determine the header's name.
static void setHeader(org.apache.camel.Message message, Named headerName, Object headerValue)
          Set a message header using a Named object to determine the header's name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getLatestResult

public static org.apache.camel.Exchange getLatestResult(org.apache.camel.component.mock.MockEndpoint endpoint)
Parameters:
endpoint -
Returns:

getGroupedExchangeList

public static List<org.apache.camel.Exchange> getGroupedExchangeList(org.apache.camel.component.mock.MockEndpoint endpoint,
                                                                     int index)
Parameters:
endpoint -
index -
Returns:

getGroupedExchangeList

public static List<org.apache.camel.Exchange> getGroupedExchangeList(org.apache.camel.Exchange entity)
Parameters:
entity -
Returns:

getGroupedExchangeBodiesAsString

public static String getGroupedExchangeBodiesAsString(org.apache.camel.component.mock.MockEndpoint endpoint)
Parameters:
endpoint -
Returns:

getExchangeInBodies

public static List<String> getExchangeInBodies(List<? extends org.apache.camel.Exchange> exchanges)
Return the list of bodies of the IN parts of a list of exchanges.

Parameters:
exchanges - input message
Returns:
the list [exchanges[0].getIn()'s body,...,exchanges[end].getIn()'s body]

copyBodyAndHeaders

public static void copyBodyAndHeaders(org.apache.camel.Exchange exchange)
Copy an in-out exchange's IN body and headers into its OUT.

Parameters:
exchange - an in-out exchange

copyBodyAndHeaders

public static void copyBodyAndHeaders(org.apache.camel.Exchange sourceExchange,
                                      org.apache.camel.Exchange targetExchange)
Copy a source exchange's IN body and headers into a target exchange's OUT.

Parameters:
sourceExchange - source exchange to copy from
targetExchange - target exchange to copy into

copyHeaders

public static void copyHeaders(org.apache.camel.Exchange sourceExchange,
                               org.apache.camel.Exchange targetExchange)
Copy a source exchange's IN headers into a target exchange's OUT.

Parameters:
sourceExchange - source exchange to copy from
targetExchange - target exchange to copy into

getHeader

public static Object getHeader(Map<String,Object> headers,
                               Named headerName)
Return a header using a Named object to determine the header's name.

Parameters:
headers - headers map to update
headerName - header name is this object's getName() method's return value
Returns:
corresponding header value
See Also:
https://jira.chpc.utah.edu/browse/FUR-507

getHeader

public static Object getHeader(org.apache.camel.Message message,
                               Named headerName)
Return an message header using a Named object to determine the header's name.

Parameters:
message - camel exchange message
headerName - header name is this object's getName() method's return value
Returns:
corresponding header value
See Also:
https://jira.chpc.utah.edu/browse/FUR-507

setHeader

public static void setHeader(Map<String,Object> headers,
                             String headerName,
                             Object headerValue)
Set a header using a Named object to determine the header's name.

Parameters:
headers - headers map to update
headerName - header name is this object's getName() method's return value
headerValue - method value
See Also:
https://jira.chpc.utah.edu/browse/FUR-507

setHeader

public static void setHeader(Map<String,Object> headers,
                             Named headerName,
                             Object headerValue)
Set a header using a Named object to determine the header's name.

Parameters:
headers - headers map to update
headerName - header name is this object's getName() method's return value
headerValue - method value
See Also:
https://jira.chpc.utah.edu/browse/FUR-507

setHeader

public static void setHeader(org.apache.camel.Message message,
                             Named headerName,
                             Object headerValue)
Set a message header using a Named object to determine the header's name.

Parameters:
message - message to update
headerName - header name is this object's getName() method's return value
headerValue - method value
See Also:
https://jira.chpc.utah.edu/browse/FUR-507

getMessageBody

public static <T> T getMessageBody(org.apache.camel.Exchange exchange,
                                   Class<T> returnType,
                                   T fallBackValue)
Return a Camel IN message's body as a typed entity. Assumes that the IN body is an instance of type T.

Type Parameters:
T - returned entity type parameter
Parameters:
exchange - camel exchange
returnType - returned entity class
fallBackValue - fall back value to return if exchange's IN body is null or cannot be converted to a T
Returns:
exchange's IN body as type T, or fallBackValue if the latter is null or cannot be converted to a T


Copyright © 2011 Office of the AVP for Health Sci. IT. All Rights Reserved.