Author: davsclaus
Date: Tue Jun 3 22:49:01 2008
New Revision: 662986
URL: http://svn.apache.org/viewvc?rev=662986&view=rev
Log:
CAMEL-527: Applied patch with thanks to Christian. CamelTemplate is
@deprecated. Introduced DefaultProducerTemplate instead. Use factory method on
CamelContext to get an instance
Added:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
- copied, changed from r662971,
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.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/EndpointInject.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/vm/VmRouteTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/StringDataFormatTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetOutBodyTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TryProcessorHandleTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AlbertoAggregatorTest.java
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.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?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
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
Tue Jun 3 22:49:01 2008
@@ -196,4 +196,9 @@
*/
Language resolveLanguage(String language);
+ /**
+ * Creates a new ProducerTemplate
+ */
+ <E extends Exchange> ProducerTemplate<E> createProducerTemplate();
+
}
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointInject.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointInject.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointInject.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/EndpointInject.java
Tue Jun 3 22:49:01 2008
@@ -21,12 +21,11 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.apache.camel.impl.CamelTemplate;
import org.apache.camel.spi.Registry;
/**
- * Used to indicate an injection point of an [EMAIL PROTECTED] Endpoint},
[EMAIL PROTECTED] Producer},
- * [EMAIL PROTECTED] ProducerTemplate} or [EMAIL PROTECTED] CamelTemplate}
into a POJO.
+ * Used to indicate an injection point of an [EMAIL PROTECTED] Endpoint},
[EMAIL PROTECTED] Producer} or
+ * [EMAIL PROTECTED] ProducerTemplate} into a POJO.
*
* A <a href="http://activemq.apache.org/camel/uris.html">URI</a> for an
endpoint
* can be specified on this annotation, or a name can be specified which is
resolved in the
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java
Tue Jun 3 22:49:01 2008
@@ -37,6 +37,7 @@
* [EMAIL PROTECTED] Exchange} to an [EMAIL PROTECTED] Endpoint}.
*
* @version $Revision$
+ * @deprecated use [EMAIL PROTECTED] ProducerTemplate} instead, can be created
using [EMAIL PROTECTED] org.apache.camel.CamelContext#createProducerTemplate()}.
*/
public class CamelTemplate<E extends Exchange> extends ServiceSupport
implements ProducerTemplate<E> {
private CamelContext context;
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
Tue Jun 3 22:49:01 2008
@@ -38,6 +38,7 @@
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Service;
import org.apache.camel.TypeConverter;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.converter.DefaultTypeConverter;
import org.apache.camel.model.RouteType;
@@ -578,4 +579,8 @@
return isStarted() && !isStarting();
}
+ public <E extends Exchange> ProducerTemplate<E> createProducerTemplate() {
+ return new DefaultProducerTemplate<E>(this);
+ }
+
}
Copied:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
(from r662971,
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java)
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java?p2=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java&p1=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java&r1=662971&r2=662986&rev=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelTemplate.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
Tue Jun 3 22:49:01 2008
@@ -33,23 +33,23 @@
/**
* A client helper object (named like Spring's TransactionTemplate &
JmsTemplate
- * et al) for working with Camel and sending [EMAIL PROTECTED] Message}
instances in an
- * [EMAIL PROTECTED] Exchange} to an [EMAIL PROTECTED] Endpoint}.
+ * et al) for working with Camel and sending [EMAIL PROTECTED]
org.apache.camel.Message} instances in an
+ * [EMAIL PROTECTED] org.apache.camel.Exchange} to an [EMAIL PROTECTED]
org.apache.camel.Endpoint}.
*
* @version $Revision$
*/
-public class CamelTemplate<E extends Exchange> extends ServiceSupport
implements ProducerTemplate<E> {
+public class DefaultProducerTemplate<E extends Exchange> extends
ServiceSupport implements ProducerTemplate<E> {
private CamelContext context;
private final ProducerCache<E> producerCache = new ProducerCache<E>();
private boolean useEndpointCache = true;
private final Map<String, Endpoint<E>> endpointCache = new HashMap<String,
Endpoint<E>>();
private Endpoint<E> defaultEndpoint;
- public CamelTemplate(CamelContext context) {
+ public DefaultProducerTemplate(CamelContext context) {
this.context = context;
}
- public CamelTemplate(CamelContext context, Endpoint defaultEndpoint) {
+ public DefaultProducerTemplate(CamelContext context, Endpoint
defaultEndpoint) {
this(context);
this.defaultEndpoint = defaultEndpoint;
}
@@ -75,7 +75,6 @@
}
public E send(Endpoint<E> endpoint, E exchange) {
- //E convertedExchange = endpoint.createExchange(exchange);
E convertedExchange = exchange;
producerCache.send(endpoint, convertedExchange);
return convertedExchange;
@@ -246,7 +245,7 @@
}
return null;
}
-
+
// Implementation methods
// -----------------------------------------------------------------------
@@ -318,4 +317,4 @@
return answer;
}
-}
+}
\ No newline at end of file
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
Tue Jun 3 22:49:01 2008
@@ -22,7 +22,7 @@
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.CamelTemplate;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Language;
@@ -37,7 +37,7 @@
*/
public abstract class ContextTestSupport extends TestSupport {
protected CamelContext context;
- protected CamelTemplate<Exchange> template;
+ protected ProducerTemplate<Exchange> template;
private boolean useRouteBuilder = true;
private Service camelContextService;
@@ -67,7 +67,7 @@
context = createCamelContext();
assertValidContext(context);
- template = new CamelTemplate<Exchange>(context);
+ template = context.createProducerTemplate();
if (useRouteBuilder) {
RouteBuilder[] builders = createRouteBuilders();
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java
Tue Jun 3 22:49:01 2008
@@ -23,8 +23,8 @@
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.TestSupport;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.CamelTemplate;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.log4j.Logger;
@@ -35,7 +35,7 @@
public class DirectoryCreateIssueTest extends TestSupport {
private static final Logger LOG =
Logger.getLogger(DirectoryCreateIssueTest.class);
private CamelContext context;
- private CamelTemplate template;
+ private ProducerTemplate template;
@Override
protected void setUp() throws Exception {
@@ -49,7 +49,7 @@
*/
context = new DefaultCamelContext();
context.start();
- template = new CamelTemplate(context);
+ template = context.createProducerTemplate();
}
@Override
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/vm/VmRouteTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/vm/VmRouteTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/vm/VmRouteTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/vm/VmRouteTest.java
Tue Jun 3 22:49:01 2008
@@ -17,10 +17,10 @@
package org.apache.camel.component.vm;
import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.CamelTemplate;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.util.ServiceHelper;
@@ -30,7 +30,7 @@
public class VmRouteTest extends TestSupport {
private CamelContext context1 = new DefaultCamelContext();
private CamelContext context2 = new DefaultCamelContext();
- private CamelTemplate template = new CamelTemplate(context1);
+ private ProducerTemplate template = context1.createProducerTemplate();
private Object expectedBody = "<hello>world!</hello>";
public void testSedaQueue() throws Exception {
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/StringDataFormatTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/StringDataFormatTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/StringDataFormatTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/StringDataFormatTest.java
Tue Jun 3 22:49:01 2008
@@ -22,6 +22,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -32,11 +33,11 @@
public class StringDataFormatTest extends TestSupport {
private CamelContext context;
- private CamelTemplate template;
+ private ProducerTemplate template;
protected void setUp() throws Exception {
context = new DefaultCamelContext();
- template = new CamelTemplate(context);
+ template = context.createProducerTemplate();
template.start();
}
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetOutBodyTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetOutBodyTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetOutBodyTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SetOutBodyTest.java
Tue Jun 3 22:49:01 2008
@@ -24,6 +24,7 @@
*/
public class SetOutBodyTest extends TransformProcessorTest {
+ @SuppressWarnings("deprecation")
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TryProcessorHandleTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TryProcessorHandleTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TryProcessorHandleTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TryProcessorHandleTest.java
Tue Jun 3 22:49:01 2008
@@ -60,6 +60,9 @@
private class ProcessorHandle implements Processor {
public void process(Exchange exchange) throws Exception {
handled = true;
+
+ assertEquals("Should not be marked as failed", false,
exchange.isFailed());
+
Exception e =
(Exception)exchange.getIn().getHeader("caught.exception");
assertNotNull("There should be an exception", e);
assertTrue(e instanceof IllegalStateException);
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AlbertoAggregatorTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AlbertoAggregatorTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AlbertoAggregatorTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AlbertoAggregatorTest.java
Tue Jun 3 22:49:01 2008
@@ -25,9 +25,9 @@
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.CamelTemplate;
import org.apache.camel.model.AggregatorType;
import org.apache.camel.processor.aggregate.AggregationStrategy;
import org.apache.commons.logging.Log;
@@ -65,7 +65,7 @@
resultEndpoint.expectedMessageCount(1);
resultEndpoint.expectedBodiesReceived(allBrothers);
- CamelTemplate template = new CamelTemplate(context);
+ ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:start", allNames);
assertMockEndpointsSatisifed();
Modified:
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java?rev=662986&r1=662985&r2=662986&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java
(original)
+++
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java
Tue Jun 3 22:49:01 2008
@@ -415,7 +415,7 @@
Object reply = template.requestBody(endpoingUriA, request);
assertEquals(reply, request);
- JmsEndpoint endpoint = template.getResolvedEndpoint(endpoingUriA,
JmsEndpoint.class);
+ JmsEndpoint endpoint = context.getEndpoint(endpoingUriA,
JmsEndpoint.class);
// Wait 1 extra purge cycle to make sure that TimeoutMap had a chance
to cleanup
Thread.sleep(endpoint.getConfiguration().getRequestMapPurgePollTimeMillis());
assertTrue(endpoint.getRequestor().getRequestMap().size() == 0);
@@ -429,7 +429,7 @@
Object reply = template.requestBody(endpoingUriA, request);
assertEquals(reply, request);
- JmsEndpoint endpoint = template.getResolvedEndpoint(endpoingUriA,
JmsEndpoint.class);
+ JmsEndpoint endpoint = context.getEndpoint(endpoingUriA,
JmsEndpoint.class);
// Wait 1 extra purge cycle to make sure that TimeoutMap had a chance
to cleanup
Thread.sleep(endpoint.getConfiguration().getRequestMapPurgePollTimeMillis());
assertTrue(endpoint.getRequestor().getDeferredRequestMap().size() ==
0);