You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by js...@apache.org on 2007/03/22 10:59:50 UTC
svn commit: r521180 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/
camel-core/src/main/java/org/apache/camel/builder/
camel-core/src/main/java/org/apache/camel/builder/xpath/
camel-core/src/main/java/org/apache/camel/component/p...
Author: jstrachan
Date: Thu Mar 22 02:59:46 2007
New Revision: 521180
URL: http://svn.apache.org/viewvc?view=rev&rev=521180
Log:
refactored the Exchange/Message API to remove Headers (it was just a pain for end users) and moved that API into Exchange and Message
Added:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java (with props)
Removed:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Headers.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultHeaders.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/HeadersSupport.java
activemq/camel/trunk/camel-jms/src/main/java/org/apache/camel/component/jms/JmsHeaders.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointResolver.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ChoiceBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ConstantProcessorBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionFactory.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/LoggingErrorHandlerBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PipelineBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateFactory.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RecipientListBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ToBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/WhenBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/DefaultNamespaceContext.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/ExchangeXPathExpression.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/InvalidXPathExpression.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/MessageVariableResolver.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/XPathBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoExchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpointResolver.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeConverter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Pipeline.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RecipientList.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FactoryFinder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xpath/XPathTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/pojo/PojoRouteTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/queue/QueueRouteTest.java
activemq/camel/trunk/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessage.java
activemq/camel/trunk/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
activemq/camel/trunk/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTest.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Thu Mar 22 02:59:46 2007
@@ -17,10 +17,10 @@
*/
package org.apache.camel;
+import org.apache.camel.builder.RouteBuilder;
+
import java.util.Map;
import java.util.concurrent.Callable;
-
-import org.apache.camel.builder.RouteBuilder;
/**
* Interface used to represent the context used to configure routes and the
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointResolver.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointResolver.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointResolver.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointResolver.java Thu Mar 22 02:59:46 2007
@@ -16,8 +16,6 @@
*/
package org.apache.camel;
-import java.io.IOException;
-
/**
* A resolver of endpoints from a String URI
*
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Thu Mar 22 02:59:46 2007
@@ -16,6 +16,7 @@
*/
package org.apache.camel;
+import java.util.Map;
/**
* Represents the base exchange interface providing access to the request, response and fault {@link Message} instances.
@@ -36,11 +37,31 @@
*/
void setExchangeId(String id);
+
+ /**
+ * Accesses a specific header on this exchange
+ *
+ * @param name
+ * @return object header associated with the name
+ */
+ Object getHeader(String name);
+
/**
- * Returns the exchange headers
+ * Sets a header on the exchange
+ *
+ * @param name of the header
+ * @param value to associate with the name
*/
- Headers getHeaders();
+ void setHeader(String name, Object value);
+ /**
+ * Returns all of the headers associated with the exchange
+ *
+ * @return all the headers in a Map
+ */
+ Map<String, Object> getHeaders();
+
+
/**
* Returns the inbound request message
* @return the message
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java Thu Mar 22 02:59:46 2007
@@ -17,6 +17,8 @@
*/
package org.apache.camel;
+import java.util.Map;
+
/**
* Implements the <a href="http://activemq.apache.org/camel/message.html">Message</a>
* pattern and represents an inbound or outbound message as part of an {@link Exchange}
@@ -24,11 +26,29 @@
* @version $Revision$
*/
public interface Message {
+
+ /**
+ * Accesses a specific header
+ *
+ * @param name
+ * @return object header associated with the name
+ */
+ Object getHeader(String name);
+
+ /**
+ * Sets a header on the message
+ *
+ * @param name of the header
+ * @param value to associate with the name
+ */
+ void setHeader(String name, Object value);
/**
- * Access the headers on the message
+ * Returns all of the headers associated with the message
+ *
+ * @return all the headers in a Map
*/
- public Headers getHeaders();
+ Map<String, Object> getHeaders();
/**
* Returns the body of the message as a POJO
@@ -60,5 +80,7 @@
*
* @return a new message instance copied from this message
*/
- public Message copy();
+ Message copy();
+
+
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ChoiceBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ChoiceBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ChoiceBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ChoiceBuilder.java Thu Mar 22 02:59:46 2007
@@ -16,14 +16,14 @@
*/
package org.apache.camel.builder;
-import org.apache.camel.processor.ChoiceProcessor;
-import org.apache.camel.processor.FilterProcessor;
-import org.apache.camel.Predicate;
import org.apache.camel.Exchange;
+import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.processor.ChoiceProcessor;
+import org.apache.camel.processor.FilterProcessor;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ConstantProcessorBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ConstantProcessorBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ConstantProcessorBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ConstantProcessorBuilder.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.builder;
-import org.apache.camel.Processor;
import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java Thu Mar 22 02:59:46 2007
@@ -19,9 +19,9 @@
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
-import java.util.StringTokenizer;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
/**
* @version $Revision: $
@@ -38,10 +38,10 @@
public static <E extends Exchange> Expression<E> headerExpression(final String headerName) {
return new Expression<E>() {
public Object evaluate(E exchange) {
- Object header = exchange.getIn().getHeaders().getHeader(headerName);
+ Object header = exchange.getIn().getHeader(headerName);
if (header == null) {
// lets try the exchange header
- header = exchange.getHeaders().getHeader(headerName);
+ header = exchange.getHeader(headerName);
}
return header;
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionFactory.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionFactory.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionFactory.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionFactory.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.builder;
-import org.apache.camel.Expression;
import org.apache.camel.Exchange;
+import org.apache.camel.Expression;
/**
* A Factory of {@link Expression} objects typically implemented by a builder such as @{XPathBuilder}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/LoggingErrorHandlerBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/LoggingErrorHandlerBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/LoggingErrorHandlerBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/LoggingErrorHandlerBuilder.java Thu Mar 22 02:59:46 2007
@@ -20,8 +20,8 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.processor.Logger;
-import org.apache.camel.processor.LoggingLevel;
import org.apache.camel.processor.LoggingErrorHandler;
+import org.apache.camel.processor.LoggingLevel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PipelineBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PipelineBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PipelineBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PipelineBuilder.java Thu Mar 22 02:59:46 2007
@@ -17,11 +17,10 @@
*/
package org.apache.camel.builder;
-import org.apache.camel.processor.MulticastProcessor;
-import org.apache.camel.processor.Pipeline;
-import org.apache.camel.Exchange;
import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.processor.Pipeline;
import java.util.Collection;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateFactory.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateFactory.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateFactory.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateFactory.java Thu Mar 22 02:59:46 2007
@@ -17,7 +17,6 @@
*/
package org.apache.camel.builder;
-import org.apache.camel.Expression;
import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RecipientListBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RecipientListBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RecipientListBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RecipientListBuilder.java Thu Mar 22 02:59:46 2007
@@ -18,8 +18,8 @@
package org.apache.camel.builder;
import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
import org.apache.camel.Expression;
+import org.apache.camel.Processor;
import org.apache.camel.processor.RecipientList;
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java Thu Mar 22 02:59:46 2007
@@ -18,10 +18,8 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointResolver;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.processor.DeadLetterChannel;
import org.apache.camel.impl.DefaultCamelContext;
import java.util.ArrayList;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ToBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ToBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ToBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ToBuilder.java Thu Mar 22 02:59:46 2007
@@ -18,8 +18,8 @@
package org.apache.camel.builder;
import org.apache.camel.Endpoint;
-import org.apache.camel.Processor;
import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
import org.apache.camel.processor.SendProcessor;
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/WhenBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/WhenBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/WhenBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/WhenBuilder.java Thu Mar 22 02:59:46 2007
@@ -17,9 +17,9 @@
*/
package org.apache.camel.builder;
+import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
-import org.apache.camel.Endpoint;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/DefaultNamespaceContext.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/DefaultNamespaceContext.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/DefaultNamespaceContext.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/DefaultNamespaceContext.java Thu Mar 22 02:59:46 2007
@@ -17,11 +17,13 @@
*/
package org.apache.camel.builder.xpath;
-
-import javax.xml.xpath.*;
import javax.xml.namespace.NamespaceContext;
-
-import java.util.*;
+import javax.xml.xpath.XPathFactory;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
/**
* An implementation of {@link NamespaceContext} which uses a simple Map where
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/ExchangeXPathExpression.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/ExchangeXPathExpression.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/ExchangeXPathExpression.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/ExchangeXPathExpression.java Thu Mar 22 02:59:46 2007
@@ -25,9 +25,9 @@
import org.xml.sax.InputSource;
import javax.xml.namespace.QName;
+import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathConstants;
import java.io.StringReader;
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/InvalidXPathExpression.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/InvalidXPathExpression.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/InvalidXPathExpression.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/InvalidXPathExpression.java Thu Mar 22 02:59:46 2007
@@ -19,7 +19,6 @@
import org.apache.camel.RuntimeExpressionException;
-import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathException;
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/MessageVariableResolver.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/MessageVariableResolver.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/MessageVariableResolver.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/MessageVariableResolver.java Thu Mar 22 02:59:46 2007
@@ -53,10 +53,10 @@
if (uri == null || uri.length() == 0) {
Message message = exchange.getIn();
if (message != null) {
- answer = message.getHeaders().getHeader(localPart);
+ answer = message.getHeader(localPart);
}
if (answer == null) {
- answer = exchange.getHeaders().getHeader(localPart);
+ answer = exchange.getHeader(localPart);
}
}
else if (uri.equals(SYSTEM_PROPERTIES_NAMESPACE)) {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/XPathBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/XPathBuilder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/XPathBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xpath/XPathBuilder.java Thu Mar 22 02:59:46 2007
@@ -19,21 +19,20 @@
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
-import org.apache.camel.RuntimeExpressionException;
-import org.apache.camel.Provider;
import org.apache.camel.Predicate;
-import org.apache.camel.builder.PredicateFactory;
+import org.apache.camel.RuntimeExpressionException;
import org.apache.camel.builder.ExpressionFactory;
+import org.apache.camel.builder.PredicateFactory;
import org.w3c.dom.Document;
import javax.xml.namespace.QName;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathException;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import javax.xml.xpath.XPathFactoryConfigurationException;
-import javax.xml.xpath.XPathException;
import javax.xml.xpath.XPathFunctionResolver;
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoComponent.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoComponent.java Thu Mar 22 02:59:46 2007
@@ -16,10 +16,10 @@
*/
package org.apache.camel.component.pojo;
-import java.util.HashMap;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Component;
+
+import java.util.HashMap;
/**
* Represents the component that manages {@link PojoEndpoint}. It holds the
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoEndpoint.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoEndpoint.java Thu Mar 22 02:59:46 2007
@@ -16,13 +16,13 @@
*/
package org.apache.camel.component.pojo;
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultEndpoint;
+
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.impl.DefaultEndpoint;
/**
* Represents a pojo endpoint that uses reflection
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoExchange.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/pojo/PojoExchange.java Thu Mar 22 02:59:46 2007
@@ -16,9 +16,9 @@
*/
package org.apache.camel.component.pojo;
-import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultExchange;
/**
* @version $Revision: 519901 $
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueComponent.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueComponent.java Thu Mar 22 02:59:46 2007
@@ -16,12 +16,12 @@
*/
package org.apache.camel.component.queue;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+
import java.util.HashMap;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
/**
* Represents the component that manages {@link QueueEndpoint}. It holds the
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpoint.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpoint.java Thu Mar 22 02:59:46 2007
@@ -16,16 +16,16 @@
*/
package org.apache.camel.component.queue;
-import java.util.Queue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-
import org.apache.camel.CamelContext;
-import org.apache.camel.Processor;
import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
+
+import java.util.Queue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
/**
* Represents a queue endpoint that uses a {@link BlockingQueue}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpointResolver.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpointResolver.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpointResolver.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/queue/QueueEndpointResolver.java Thu Mar 22 02:59:46 2007
@@ -16,15 +16,15 @@
*/
package org.apache.camel.component.queue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.Callable;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.EndpointResolver;
import org.apache.camel.Exchange;
import org.apache.camel.util.ObjectHelper;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Callable;
/**
* An implementation of {@link EndpointResolver} that creates
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java Thu Mar 22 02:59:46 2007
@@ -17,9 +17,9 @@
*/
package org.apache.camel.impl;
-import org.apache.camel.Exchange;
-import org.apache.camel.Component;
import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+import org.apache.camel.Exchange;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java Thu Mar 22 02:59:46 2007
@@ -18,9 +18,11 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
-import org.apache.camel.Headers;
import org.apache.camel.Message;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* A default implementation of {@link Exchange}
*
@@ -28,7 +30,7 @@
*/
public class DefaultExchange implements Exchange {
protected final CamelContext context;
- private Headers headers;
+ private Map<String, Object> headers;
private Message in;
private Message out;
private Message fault;
@@ -46,7 +48,7 @@
}
public void copyFrom(Exchange exchange) {
- setHeaders(exchange.getHeaders().copy());
+ setHeaders(new HashMap<String, Object>(exchange.getHeaders()));
setIn(exchange.getIn().copy());
setOut(exchange.getOut().copy());
setFault(exchange.getFault().copy());
@@ -61,14 +63,25 @@
return context;
}
- public Headers getHeaders() {
+ public Object getHeader(String name) {
+ if (headers != null) {
+ return headers.get(name);
+ }
+ return null;
+ }
+
+ public void setHeader(String name, Object value) {
+ getHeaders().put(name, value);
+ }
+
+ public Map<String, Object> getHeaders() {
if (headers == null) {
- headers = new DefaultHeaders();
+ headers = new HashMap<String, Object>();
}
return headers;
}
- public void setHeaders(Headers headers) {
+ public void setHeaders(Map<String, Object> headers) {
this.headers = headers;
}
@@ -81,6 +94,7 @@
public void setIn(Message in) {
this.in = in;
+ configureMessage(in);
}
public Message getOut() {
@@ -92,6 +106,7 @@
public void setOut(Message out) {
this.out = out;
+ configureMessage(out);
}
public Throwable getException() {
@@ -108,6 +123,7 @@
public void setFault(Message fault) {
this.fault = fault;
+ configureMessage(fault);
}
public String getExchangeId() {
@@ -118,11 +134,27 @@
this.exchangeId = id;
}
+ /**
+ * Factory method used to lazily create the IN message
+ */
protected Message createInMessage() {
return new DefaultMessage();
}
+ /**
+ * Factory method to lazily create the OUT message
+ */
protected Message createOutMessage() {
return new DefaultMessage();
+ }
+
+ /**
+ * Configures the message after it has been set on the exchange
+ */
+ protected void configureMessage(Message message) {
+ if (message instanceof MessageSupport) {
+ MessageSupport messageSupport = (MessageSupport) message;
+ messageSupport.setExchange(this);
+ }
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeConverter.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeConverter.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.impl;
-import org.apache.camel.ExchangeConverter;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangeConverter;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java Thu Mar 22 02:59:46 2007
@@ -18,54 +18,38 @@
package org.apache.camel.impl;
import org.apache.camel.Message;
-import org.apache.camel.Headers;
+
+import java.util.HashMap;
+import java.util.Map;
/**
+ * The default implementation of {@link Message}
+ *
* @version $Revision$
*/
-public class DefaultMessage implements Message {
- private Headers headers;
- private Object body;
-
- public Object getBody() {
- return body;
- }
-
- public void setBody(Object body) {
- this.body = body;
- }
+public class DefaultMessage extends MessageSupport {
+ private Map<String, Object> headers;
- @SuppressWarnings({"unchecked"})
- public <T> T getBody(Class<T> type) {
- return (T) getBody();
+ public Object getHeader(String name) {
+ if (headers != null) {
+ return headers.get(name);
+ }
+ return null;
}
- public <T> void setBody(Object body, Class<T> type) {
- setBody(body);
+ public void setHeader(String name, Object value) {
+ getHeaders().put(name, value);
}
- public Headers getHeaders() {
+ public Map<String, Object> getHeaders() {
if (headers == null) {
- headers = createHeaders();
+ headers = new HashMap<String, Object>();
}
return headers;
}
- public void setHeaders(Headers headers) {
+ public void setHeaders(Map<String, Object> headers) {
this.headers = headers;
- }
-
- protected Headers createHeaders() {
- return new DefaultHeaders();
- }
-
- public Message copy() {
- DefaultMessage answer = newInstance();
- answer.setBody(getBody());
- Headers headers = createHeaders();
- headers.getHeaders().putAll(getHeaders().getHeaders());
- answer.setHeaders(headers);
- return answer;
}
public DefaultMessage newInstance() {
Added: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java?view=auto&rev=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java (added)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java Thu Mar 22 02:59:46 2007
@@ -0,0 +1,86 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.impl;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+
+/**
+ * A base class for implementation inheritence providing the core {@link Message} body
+ * handling features but letting the derived class deal with headers.
+ *
+ * Unless a specific provider wishes to do something particularly clever with headers you probably
+ * want to just derive from {@link DefaultMessage}
+ *
+ * @version $Revision$
+ */
+public abstract class MessageSupport implements Message {
+ private Exchange exchange;
+ private Object body;
+
+ public Object getBody() {
+ return body;
+ }
+
+ @SuppressWarnings({"unchecked"})
+ public <T> T getBody(Class<T> type) {
+ Exchange e = getExchange();
+ if (e != null) {
+ return e.getContext().getTypeConverter().convertTo(type, getBody());
+ }
+ return (T) getBody();
+ }
+
+ public void setBody(Object body) {
+ this.body = body;
+ }
+
+ public <T> void setBody(Object body, Class<T> type) {
+ Exchange e = getExchange();
+ if (e != null) {
+ T value = e.getContext().getTypeConverter().convertTo(type, body);
+ if (value != null) {
+ body = value;
+ }
+ }
+ setBody(body);
+ }
+
+ public Message copy() {
+ Message answer = newInstance();
+ answer.setBody(getBody());
+ answer.getHeaders().putAll(getHeaders());
+ return answer;
+ }
+
+ public Exchange getExchange() {
+ return exchange;
+ }
+
+ public void setExchange(Exchange exchange) {
+ this.exchange = exchange;
+ }
+
+ /**
+ * Returns a new instance
+ *
+ * @return
+ */
+ public abstract Message newInstance();
+
+}
Propchange: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ChoiceProcessor.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ChoiceProcessor.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ChoiceProcessor.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.processor;
-import org.apache.camel.Processor;
import org.apache.camel.Predicate;
+import org.apache.camel.Processor;
import java.util.ArrayList;
import java.util.List;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java Thu Mar 22 02:59:46 2007
@@ -127,7 +127,7 @@
protected void appendRedeliveryHeaders(E exchange, int redeliveryCounter) {
String header = getRedeliveryCountHeader();
if (header != null) {
- exchange.getIn().getHeaders().setHeader(header, redeliveryCounter);
+ exchange.getIn().setHeader(header, redeliveryCounter);
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.processor;
-import org.apache.camel.Processor;
import org.apache.camel.Predicate;
+import org.apache.camel.Processor;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Pipeline.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Pipeline.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Pipeline.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Pipeline.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.processor;
-import org.apache.camel.Exchange;
import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import java.util.Collection;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RecipientList.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RecipientList.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RecipientList.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RecipientList.java Thu Mar 22 02:59:46 2007
@@ -17,14 +17,13 @@
*/
package org.apache.camel.processor;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ExchangeHelper;
-import static org.apache.camel.util.ObjectHelper.notNull;
+import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
import org.apache.camel.Expression;
-import org.apache.camel.Endpoint;
-import org.apache.camel.NoSuchEndpointException;
+import org.apache.camel.Processor;
+import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.util.ObjectHelper;
+import static org.apache.camel.util.ObjectHelper.notNull;
import java.util.Iterator;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.processor;
-import java.util.Random;
import java.io.Serializable;
+import java.util.Random;
// Code taken from the ActiveMQ codebase
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java Thu Mar 22 02:59:46 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.processor;
-import org.apache.camel.Processor;
import org.apache.camel.Endpoint;
+import org.apache.camel.Processor;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java Thu Mar 22 02:59:46 2007
@@ -18,9 +18,10 @@
package org.apache.camel.processor;
import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
import org.apache.camel.Expression;
-import static org.apache.camel.util.ObjectHelper.*;
+import org.apache.camel.Processor;
+import static org.apache.camel.util.ObjectHelper.iterator;
+import static org.apache.camel.util.ObjectHelper.notNull;
import java.util.Iterator;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FactoryFinder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FactoryFinder.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FactoryFinder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FactoryFinder.java Thu Mar 22 02:59:46 2007
@@ -21,9 +21,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
-
import java.util.concurrent.ConcurrentHashMap;
-
public class FactoryFinder {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java Thu Mar 22 02:59:46 2007
@@ -29,8 +29,8 @@
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.Set;
import java.util.Map.Entry;
+import java.util.Set;
public class IntrospectionSupport {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java Thu Mar 22 02:59:46 2007
@@ -16,10 +16,10 @@
*/
package org.apache.camel.util;
-import java.util.Iterator;
-import java.util.Collection;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
+import java.util.Iterator;
/**
* @version $Revision$
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java Thu Mar 22 02:59:46 2007
@@ -21,10 +21,8 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.TestSupport;
-import org.apache.camel.processor.DeadLetterChannel;
import org.apache.camel.processor.FilterProcessor;
import org.apache.camel.processor.LoggingErrorHandler;
-import org.apache.camel.processor.RedeliveryPolicy;
import org.apache.camel.processor.SendProcessor;
import java.util.Map;
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xpath/XPathTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xpath/XPathTest.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xpath/XPathTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xpath/XPathTest.java Thu Mar 22 02:59:46 2007
@@ -112,7 +112,7 @@
CamelContext context = new DefaultCamelContext();
Exchange exchange = new DefaultExchange(context);
Message message = exchange.getIn();
- message.getHeaders().setHeader("name", "James");
+ message.setHeader("name", "James");
message.setBody(xml);
return exchange;
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/pojo/PojoRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/pojo/PojoRouteTest.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/pojo/PojoRouteTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/pojo/PojoRouteTest.java Thu Mar 22 02:59:46 2007
@@ -17,17 +17,14 @@
*/
package org.apache.camel.component.pojo;
-import java.util.concurrent.atomic.AtomicInteger;
-
import junit.framework.TestCase;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
-import org.apache.camel.component.pojo.PojoExchange;
-import org.apache.camel.component.pojo.ISay;
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.processor.InterceptorProcessor;
-import org.apache.camel.builder.RouteBuilder;
+
+import java.util.concurrent.atomic.AtomicInteger;
/**
* @version $Revision: 520220 $
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/queue/QueueRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/queue/QueueRouteTest.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/queue/QueueRouteTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/queue/QueueRouteTest.java Thu Mar 22 02:59:46 2007
@@ -17,18 +17,17 @@
*/
package org.apache.camel.component.queue;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
import junit.framework.TestCase;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
-import org.apache.camel.Processor;
import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
/**
* @version $Revision: 520220 $
*/
@@ -59,7 +58,7 @@
// now lets fire in a message
Endpoint<Exchange> endpoint = container.resolveEndpoint("queue:test.a");
Exchange exchange = endpoint.createExchange();
- exchange.getIn().getHeaders().setHeader("cheese", 123);
+ exchange.getIn().setHeader("cheese", 123);
endpoint.onExchange(exchange);
// now lets sleep for a while
Modified: activemq/camel/trunk/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessage.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessage.java (original)
+++ activemq/camel/trunk/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessage.java Thu Mar 22 02:59:46 2007
@@ -17,16 +17,21 @@
*/
package org.apache.camel.component.jms;
-import org.apache.camel.impl.DefaultMessage;
-import org.apache.camel.Headers;
+import org.apache.camel.InvalidHeaderTypeException;
+import org.apache.camel.impl.MessageSupport;
+import javax.jms.JMSException;
import javax.jms.Message;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
/**
- * @version $Revision$
+ * @version $Revision:520964 $
*/
-public class DefaultJmsMessage extends DefaultMessage implements JmsMessage {
+public class DefaultJmsMessage extends MessageSupport implements JmsMessage {
private Message jmsMessage;
+ private Map<String, Object> lazyHeaders;
public DefaultJmsMessage() {
}
@@ -43,13 +48,70 @@
this.jmsMessage = jmsMessage;
}
- @Override
- protected Headers createHeaders() {
- return new JmsHeaders(this);
+ public Object getHeader(String name) {
+ if (jmsMessage != null) {
+ try {
+ Object value = jmsMessage.getObjectProperty(name);
+ try {
+ return value;
+ }
+ catch (ClassCastException e) {
+ throw new InvalidHeaderTypeException(e.getMessage(), value);
+ }
+ }
+ catch (JMSException e) {
+ throw new MessagePropertyAcessException(name, e);
+ }
+ }
+ return null;
+ }
+
+ public void setHeader(String name, Object value) {
+ if (jmsMessage != null) {
+ try {
+ jmsMessage.setObjectProperty(name, value);
+ }
+ catch (JMSException e) {
+ throw new MessagePropertyAcessException(name, e);
+ }
+ }
+ else {
+ if (lazyHeaders == null) {
+ lazyHeaders = new HashMap<String, Object>();
+ }
+ lazyHeaders.put(name, value);
+ }
+ }
+
+ public Map<String, Object> getHeaders() {
+ if (jmsMessage != null) {
+ Map<String, Object> answer = new HashMap<String, Object>();
+ Enumeration names;
+ try {
+ names = jmsMessage.getPropertyNames();
+ }
+ catch (JMSException e) {
+ throw new MessagePropertyNamesAcessException(e);
+ }
+ while (names.hasMoreElements()) {
+ String name = names.nextElement().toString();
+ try {
+ Object value = jmsMessage.getObjectProperty(name);
+ answer.put(name, value);
+ }
+ catch (JMSException e) {
+ throw new MessagePropertyAcessException(name, e);
+ }
+ }
+ return answer;
+ }
+ else {
+ return lazyHeaders;
+ }
}
@Override
- public DefaultMessage newInstance() {
+ public DefaultJmsMessage newInstance() {
return new DefaultJmsMessage();
}
}
Modified: activemq/camel/trunk/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java (original)
+++ activemq/camel/trunk/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java Thu Mar 22 02:59:46 2007
@@ -53,8 +53,8 @@
public void configure() {
from("jms:activemq:test.a").to("jms:activemq:test.b");
from("jms:activemq:test.b").process(new Processor<JmsExchange>() {
- public void onExchange(JmsExchange exchange) {
- System.out.println("Received exchange: " + exchange.getIn());
+ public void onExchange(JmsExchange e) {
+ System.out.println("Received exchange: " + e.getIn());
latch.countDown();
}
});
@@ -66,10 +66,10 @@
// now lets fire in a message
Endpoint<JmsExchange> endpoint = container.resolveEndpoint("jms:activemq:test.a");
- JmsExchange exchange2 = endpoint.createExchange();
+ JmsExchange exchange = endpoint.createExchange();
//exchange2.setInBody("Hello there!")
- exchange2.getIn().getHeaders().setHeader("cheese", 123);
- endpoint.onExchange(exchange2);
+ exchange.getIn().setHeader("cheese", 123);
+ endpoint.onExchange(exchange);
// now lets sleep for a while
boolean received = latch.await(5, TimeUnit.SECONDS);
Modified: activemq/camel/trunk/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTest.java?view=diff&rev=521180&r1=521179&r2=521180
==============================================================================
--- activemq/camel/trunk/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTest.java (original)
+++ activemq/camel/trunk/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTest.java Thu Mar 22 02:59:46 2007
@@ -59,7 +59,7 @@
MinaExchange exchange = endpoint.createExchange();
Message message = exchange.getIn();
message.setBody("Hello there!");
- message.getHeaders().setHeader("cheese", 123);
+ message.setHeader("cheese", 123);
endpoint.onExchange(exchange);