Author: ningjiang
Date: Sun Aug 24 19:38:41 2008
New Revision: 688601
URL: http://svn.apache.org/viewvc?rev=688601&view=rev
Log:
CAMEL-841 Upgrade to Spring Integration M6
Modified:
activemq/camel/trunk/components/camel-spring-integration/pom.xml
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationBinding.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationConsumer.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationProducer.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/AbstractCamelAdapter.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapter.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/config/CamelTargetAdapterParser.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
activemq/camel/trunk/components/camel-spring-integration/src/main/resources/schema/camel-spring-integration.xsd
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationTwoWayConsumerTest.java
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapterTest.java
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapterTest.java
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/ConfigurationTest.java
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelSource.xml
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelTarget.xml
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/oneWayConsumer.xml
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/producer.xml
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/springChannelConverter.xml
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/twoWayConsumer.xml
Modified: activemq/camel/trunk/components/camel-spring-integration/pom.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/pom.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring-integration/pom.xml (original)
+++ activemq/camel/trunk/components/camel-spring-integration/pom.xml Sun Aug 24
19:38:41 2008
@@ -13,7 +13,7 @@
<properties>
<camel.osgi.export.pkg>org.apache.camel.component.spring.integration.*</camel.osgi.export.pkg>
- <spring-integration-version>1.0.0.M5</spring-integration-version>
+ <spring-integration-version>1.0.0.M6</spring-integration-version>
</properties>
<version>1.5-SNAPSHOT</version>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationBinding.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationBinding.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationBinding.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationBinding.java
Sun Aug 24 19:38:41 2008
@@ -16,6 +16,8 @@
*/
package org.apache.camel.component.spring.integration;
+import java.util.Map;
+
import org.apache.camel.Exchange;
import org.springframework.integration.message.GenericMessage;
@@ -31,10 +33,14 @@
// Helper class
}
- @SuppressWarnings("unchecked")
public static org.springframework.integration.message.Message
createSpringIntegrationMessage(Exchange exchange) {
+ return createSpringIntegrationMessage(exchange, null);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static org.springframework.integration.message.Message
createSpringIntegrationMessage(Exchange exchange, Map<String, Object> headers) {
org.apache.camel.Message message = exchange.getIn();
- GenericMessage siMessage = new GenericMessage(message.getBody());
+ GenericMessage siMessage = new GenericMessage(message.getBody(),
headers);
return siMessage;
}
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationConsumer.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationConsumer.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationConsumer.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationConsumer.java
Sun Aug 24 19:38:41 2008
@@ -22,6 +22,7 @@
import org.apache.camel.impl.ScheduledPollConsumer;
import org.apache.camel.spring.SpringCamelContext;
import org.apache.camel.util.ObjectHelper;
+import org.springframework.integration.channel.AbstractPollableChannel;
import org.springframework.integration.channel.ChannelRegistry;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.config.MessageBusParser;
@@ -36,7 +37,7 @@
*/
public class SpringIntegrationConsumer extends
ScheduledPollConsumer<SpringIntegrationExchange> {
private SpringCamelContext context;
- private MessageChannel inputChannel;
+ private AbstractPollableChannel inputChannel;
private MessageChannel outputChannel;
private String inputChannelName;
private ChannelRegistry channelRegistry;
@@ -53,14 +54,14 @@
inputChannelName = endpoint.getInputChannel();
}
if (!ObjectHelper.isNullOrBlank(inputChannelName)) {
- inputChannel = (MessageChannel)
channelRegistry.lookupChannel(inputChannelName);
+ inputChannel = (AbstractPollableChannel)
channelRegistry.lookupChannel(inputChannelName);
ObjectHelper.notNull(inputChannel, "The inputChannel with the
name [" + inputChannelName + "]");
} else {
throw new RuntimeCamelException("Can't find the right
inputChannelName, , please check your configuration.");
}
} else {
if (endpoint.getMessageChannel() != null) {
- inputChannel = endpoint.getMessageChannel();
+ inputChannel =
(AbstractPollableChannel)endpoint.getMessageChannel();
} else {
throw new RuntimeCamelException("Can't find the right message
channel, please check your configuration.");
}
@@ -79,7 +80,7 @@
getProcessor().process(exchange);
if (endpoint.isInOut()) {
// get the output channel from message header
- Object returnAddress = siInMessage.getHeader().getReturnAddress();
+ Object returnAddress = siInMessage.getHeaders().getReturnAddress();
MessageChannel reply = null;
if (returnAddress != null) {
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
Sun Aug 24 19:38:41 2008
@@ -20,7 +20,7 @@
import java.util.Map;
import org.apache.camel.impl.DefaultMessage;
-import org.springframework.integration.message.MessageHeader;
+import org.springframework.integration.message.MessageHeaders;
/**
* The Message [EMAIL PROTECTED] DefaultMessage} implementation
@@ -75,7 +75,7 @@
public Object getHeader(String name) {
if (siMessage != null) {
- return siMessage.getHeader().getAttribute(name);
+ return siMessage.getHeaders().get(name);
} else {
return super.getHeader(name);
}
@@ -84,7 +84,7 @@
@Override
public void setHeader(String name, Object value) {
if (siMessage != null) {
- siMessage.getHeader().setAttribute(name, value);
+ siMessage.getHeaders().put(name, value);
} else {
super.setHeader(name, value);
}
@@ -94,9 +94,9 @@
public Map<String, Object> getHeaders() {
if (siMessage != null) {
Map<String, Object> answer = new HashMap<String, Object>();
- MessageHeader header = siMessage.getHeader();
- for (String name : header.getAttributeNames()) {
- answer.put(name, header.getAttribute(name));
+ MessageHeaders header = siMessage.getHeaders();
+ for (String name : header.keySet()) {
+ answer.put(name, header.get(name));
}
return answer;
} else {
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationProducer.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationProducer.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationProducer.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationProducer.java
Sun Aug 24 19:38:41 2008
@@ -16,6 +16,9 @@
*/
package org.apache.camel.component.spring.integration;
+import java.util.HashMap;
+import java.util.Map;
+
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.RuntimeCamelException;
@@ -24,9 +27,11 @@
import org.apache.camel.util.ObjectHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.integration.channel.AbstractPollableChannel;
import org.springframework.integration.channel.ChannelRegistry;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.config.MessageBusParser;
+import org.springframework.integration.message.MessageHeaders;
/**
* A producer of exchanges for the Spring Integration
@@ -38,7 +43,7 @@
public class SpringIntegrationProducer extends
DefaultProducer<SpringIntegrationExchange> {
private static final transient Log LOG =
LogFactory.getLog(SpringIntegrationProducer.class);
private SpringCamelContext context;
- private MessageChannel inputChannel;
+ private AbstractPollableChannel inputChannel;
private MessageChannel outputChannel;
private String outputChannelName;
private ChannelRegistry channelRegistry;
@@ -58,7 +63,7 @@
throw new RuntimeCamelException("Can't find the right
outputChannelName,"
+ "please check the endpoint
uri outputChannel part!");
} else {
- outputChannel = (MessageChannel)
channelRegistry.lookupChannel(outputChannelName);
+ outputChannel = (AbstractPollableChannel)
channelRegistry.lookupChannel(outputChannelName);
}
} else {
if (endpoint.getMessageChannel() != null) {
@@ -74,16 +79,20 @@
throw new RuntimeCamelException("Can't find the right
inputChannel, "
+ "please check the endpoint
uri inputChannel part!");
} else {
- inputChannel = (MessageChannel)
channelRegistry.lookupChannel(endpoint.getInputChannel());
+ inputChannel = (AbstractPollableChannel)
channelRegistry.lookupChannel(endpoint.getInputChannel());
}
}
}
public void process(Exchange exchange) throws Exception {
+ Map<String, Object> headers = new HashMap<String, Object>();
+ if (exchange.getPattern().isInCapable()) {
+ headers.put(MessageHeaders.RETURN_ADDRESS , inputChannel);
+ }
org.springframework.integration.message.Message siOutmessage =
SpringIntegrationBinding.createSpringIntegrationMessage(exchange);
if (exchange.getPattern().isInCapable()) {
//Set the return channel address
- siOutmessage.getHeader().setReturnAddress(inputChannel);
+
outputChannel.send(siOutmessage);
org.springframework.integration.message.Message siInMessage =
inputChannel.receive();
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/AbstractCamelAdapter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/AbstractCamelAdapter.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/AbstractCamelAdapter.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/AbstractCamelAdapter.java
Sun Aug 24 19:38:41 2008
@@ -29,7 +29,7 @@
*
* @version $Revision$
*/
-public abstract class AbstractCamelAdapter implements MessageHandler {
+public abstract class AbstractCamelAdapter {
private CamelContext camelContext;
private String camelEndpointUri;
private volatile boolean expectReply = true;
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapter.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapter.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapter.java
Sun Aug 24 19:38:41 2008
@@ -28,7 +28,9 @@
import org.springframework.integration.bus.MessageBus;
import org.springframework.integration.bus.MessageBusAware;
import org.springframework.integration.channel.MessageChannel;
-import org.springframework.integration.gateway.RequestReplyTemplate;
+import org.springframework.integration.channel.PollableChannel;
+import org.springframework.integration.gateway.SimpleMessagingGateway;
+import org.springframework.integration.handler.MessageHandler;
import org.springframework.integration.message.Message;
/**
@@ -39,35 +41,35 @@
*
* @version $Revision$
*/
-public class CamelSourceAdapter extends AbstractCamelAdapter implements
InitializingBean, MessageBusAware {
+public class CamelSourceAdapter extends AbstractCamelAdapter implements
MessageHandler, InitializingBean, MessageBusAware {
protected final Object lifecycleMonitor = new Object();
private final Log logger = LogFactory.getLog(this.getClass());
private Consumer consumer;
private Endpoint camelEndpoint;
private MessageChannel requestChannel;
- private RequestReplyTemplate requestReplyTemplate = new
RequestReplyTemplate();
+ private SimpleMessagingGateway messageGateway = new
SimpleMessagingGateway();
private volatile boolean initialized;
public void setRequestChannel(MessageChannel channel) {
requestChannel = channel;
- requestReplyTemplate.setRequestChannel(requestChannel);
+ messageGateway.setRequestChannel(requestChannel);
}
public MessageChannel getChannel() {
return requestChannel;
}
- public void setReplyChannel(MessageChannel channel) {
- requestReplyTemplate.setReplyChannel(channel);
+ public void setReplyChannel(PollableChannel channel) {
+ messageGateway.setReplyChannel(channel);
}
public void setRequestTimeout(long requestTimeout) {
- this.requestReplyTemplate.setRequestTimeout(requestTimeout);
+ this.messageGateway.setRequestTimeout(requestTimeout);
}
public void setReplyTimeout(long replyTimeout) {
- this.requestReplyTemplate.setReplyTimeout(replyTimeout);
+ this.messageGateway.setReplyTimeout(replyTimeout);
}
private void incoming(Exchange exchange) {
@@ -120,17 +122,14 @@
}
}
if (!isExpectReply()) {
- boolean sent = this.requestReplyTemplate.send(message);
- if (!sent && logger.isWarnEnabled()) {
- logger.warn("failed to send message to channel within
timeout");
- }
+ messageGateway.send(message);
return null;
}
- return this.requestReplyTemplate.request(message);
+ return messageGateway.sendAndReceiveMessage(message);
}
public void setMessageBus(MessageBus bus) {
- requestReplyTemplate.setMessageBus(bus);
+ messageGateway.setMessageBus(bus);
}
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java
Sun Aug 24 19:38:41 2008
@@ -26,7 +26,11 @@
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.message.Message;
+import org.springframework.integration.message.MessageDeliveryException;
+import org.springframework.integration.message.MessageRejectedException;
+import org.springframework.integration.message.MessageTarget;
/**
* CamelTargeAdapter will redirect the Spring Integration message to the Camel
context.
@@ -36,11 +40,19 @@
*
* @version $Revision$
*/
-public class CamelTargetAdapter extends AbstractCamelAdapter {
+public class CamelTargetAdapter extends AbstractCamelAdapter implements
MessageTarget {
private final Log logger = LogFactory.getLog(this.getClass());
private ProducerTemplate<Exchange> camelTemplate;
- private Endpoint camelEndpoint;
+ private MessageChannel replyChannel;
+
+ public void setReplyChannel(MessageChannel channel) {
+ replyChannel = channel;
+ }
+
+ public MessageChannel getReplyChannel() {
+ return replyChannel;
+ }
public ProducerTemplate<Exchange> getCamelTemplate() {
if (camelTemplate == null) {
@@ -53,21 +65,28 @@
return camelTemplate;
}
- public Message<?> handle(Message<?> request) {
+ public boolean send(Message<?> message) throws MessageRejectedException,
MessageDeliveryException {
ExchangePattern pattern;
+ boolean result = false;
if (isExpectReply()) {
pattern = ExchangePattern.InOut;
} else {
pattern = ExchangePattern.InOnly;
}
Exchange inExchange = new SpringIntegrationExchange(getCamelContext(),
pattern);
- SpringIntegrationBinding.storeToCamelMessage(request,
inExchange.getIn());
+ SpringIntegrationBinding.storeToCamelMessage(message,
inExchange.getIn());
Exchange outExchange = getCamelTemplate().send(getCamelEndpointUri(),
inExchange);
+ if (outExchange.getFault() != null) {
+ result = true;
+ }
Message response = null;
if (isExpectReply()) {
+ // TODO need to check the message header
response =
SpringIntegrationBinding.storeToSpringIntegrationMessage(outExchange.getOut());
+ result = replyChannel.send(response);
}
- return response;
+ return result;
+
}
}
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/config/CamelTargetAdapterParser.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/config/CamelTargetAdapterParser.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/config/CamelTargetAdapterParser.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/config/CamelTargetAdapterParser.java
Sun Aug 24 19:38:41 2008
@@ -27,7 +27,7 @@
import
org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.ConfigurationException;
-import org.springframework.integration.endpoint.HandlerEndpoint;
+import org.springframework.integration.endpoint.MessagingBridge;
import org.springframework.util.StringUtils;
/**
@@ -38,49 +38,8 @@
*/
public class CamelTargetAdapterParser extends
AbstractCamelContextBeanDefinitionParaser {
+ @Override
protected Class<?> getBeanClass(Element element) {
- return HandlerEndpoint.class;
+ return CamelTargetAdapter.class;
}
-
- protected boolean shouldGenerateId() {
- return false;
- }
-
- protected boolean shouldGenerateIdAsFallback() {
- return true;
- }
-
- protected void parseAttributes(Element element, ParserContext ctx,
BeanDefinitionBuilder bean) {
- NamedNodeMap atts = element.getAttributes();
- for (int i = 0; i < atts.getLength(); i++) {
- Attr node = (Attr) atts.item(i);
- String val = node.getValue();
- String name = node.getLocalName();
- if (!name.equals("requestChannel") &&
!name.equals("replyChannel")) {
- mapToProperty(bean, name, val);
- }
- }
- }
-
- protected void doParse(Element element, ParserContext parserContext,
BeanDefinitionBuilder builder) {
- BeanDefinitionBuilder adapterDefBuilder =
BeanDefinitionBuilder.rootBeanDefinition(CamelTargetAdapter.class);
- String requestChannel = element.getAttribute("requestChannel");
- String replyChannel = element.getAttribute("replyChannel");
- // Check the requestChannel
- if (!StringUtils.hasText(requestChannel)) {
- throw new ConfigurationException("The 'requestChannel' attribute
is required.");
- }
- // Set the adapter bean's property
- parseAttributes(element, parserContext, adapterDefBuilder);
- parseCamelContext(element, parserContext, adapterDefBuilder);
-
- String adapterBeanName =
parserContext.getReaderContext().generateBeanName(adapterDefBuilder.getBeanDefinition());
- parserContext.registerBeanComponent(new
BeanComponentDefinition(adapterDefBuilder.getBeanDefinition(),
adapterBeanName));
- builder.addConstructorArgReference(adapterBeanName);
- builder.addPropertyValue("inputChannelName", requestChannel);
- if (StringUtils.hasText(replyChannel)) {
- builder.addPropertyValue("outputChannelName", replyChannel);
- }
- }
-
}
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
Sun Aug 24 19:38:41 2008
@@ -23,8 +23,8 @@
import org.apache.camel.component.spring.integration.SpringIntegrationEndpoint;
import org.apache.camel.component.spring.integration.SpringIntegrationMessage;
import org.springframework.integration.channel.MessageChannel;
-import org.springframework.integration.message.DefaultMessageHeader;
import org.springframework.integration.message.GenericMessage;
+import org.springframework.integration.message.MessageHeaders;
/**
* The <a href="http://activemq.apache.org/camel/type-converter.html">Type
Converters</a>
@@ -67,13 +67,8 @@
}
// Create a new spring message and copy the attributes and body from
the camel message
- DefaultMessageHeader messageHeader = new DefaultMessageHeader();
- Map<String, Object> headers = camelMessage.getHeaders();
- for (String key : headers.keySet()) {
- Object value = headers.get(key);
- messageHeader.setAttribute(key, value);
- }
- return new GenericMessage(camelMessage.getBody(), messageHeader);
+ MessageHeaders messageHeaders = new
MessageHeaders(camelMessage.getHeaders());
+ return new GenericMessage(camelMessage.getBody(), messageHeaders);
}
@Converter
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/main/resources/schema/camel-spring-integration.xsd
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/resources/schema/camel-spring-integration.xsd?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/main/resources/schema/camel-spring-integration.xsd
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/main/resources/schema/camel-spring-integration.xsd
Sun Aug 24 19:38:41 2008
@@ -36,7 +36,6 @@
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" use="required" />
<xsd:attribute name="camelEndpointUri" type="xsd:string" />
- <xsd:attribute name="requestChannel" type="xsd:string" use="required" />
<xsd:attribute name="replyChannel" type="xsd:string" />
<xsd:attribute name="expectReply" type="xsd:boolean" default="true"/>
</xsd:complexType>
@@ -50,6 +49,7 @@
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="camelEndpointType">
+ <xsd:attribute name="requestChannel" type="xsd:string"
use="required" />
<xsd:attribute name="requestTimeout" type="xsd:long"/>
<xsd:attribute name="replyTimeout" type="xsd:long"/>
</xsd:extension>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationTwoWayConsumerTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationTwoWayConsumerTest.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationTwoWayConsumerTest.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationTwoWayConsumerTest.java
Sun Aug 24 19:38:41 2008
@@ -17,13 +17,17 @@
package org.apache.camel.component.spring.integration;
+import java.util.HashMap;
import java.util.Map;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.spring.SpringTestSupport;
import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.integration.channel.AbstractPollableChannel;
import org.springframework.integration.channel.MessageChannel;
+import org.springframework.integration.message.GenericMessage;
import org.springframework.integration.message.Message;
+import org.springframework.integration.message.MessageHeaders;
import org.springframework.integration.message.StringMessage;
@@ -39,11 +43,13 @@
public void testSendingTwoWayMessage() throws Exception {
MessageChannel requestChannel = (MessageChannel)
applicationContext.getBean("requestChannel");
- Message message = new StringMessage(MESSAGE_BODY);
- message.getHeader().setReturnAddress("responseChannel");
+ Map<String, Object> maps = new HashMap<String, Object>();
+ maps.put(MessageHeaders.RETURN_ADDRESS, "responseChannel");
+ Message<String> message = new GenericMessage<String>(MESSAGE_BODY,
maps);
+
requestChannel.send(message);
- MessageChannel responseChannel = (MessageChannel)
applicationContext.getBean("responseChannel");
+ AbstractPollableChannel responseChannel = (AbstractPollableChannel)
applicationContext.getBean("responseChannel");
Message responseMessage = responseChannel.receive();
String result = (String) responseMessage.getPayload();
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapterTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapterTest.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapterTest.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelSourceAdapterTest.java
Sun Aug 24 19:38:41 2008
@@ -19,12 +19,12 @@
import org.apache.camel.component.spring.integration.HelloWorldService;
import org.apache.camel.spring.SpringTestSupport;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.integration.channel.MessageChannel;
+import org.springframework.integration.channel.PollableChannel;
import org.springframework.integration.message.Message;
public class CamelSourceAdapterTest extends SpringTestSupport {
public void testSendingOneWayMessage() throws Exception {
- MessageChannel channelA = (MessageChannel)
applicationContext.getBean("channelA");
+ PollableChannel channelA = (PollableChannel)
applicationContext.getBean("channelA");
template.sendBody("direct:OneWay", "Willem");
Message message = channelA.receive();
assertEquals("We should get the message from channelA",
message.getPayload(), "Willem");
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapterTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapterTest.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapterTest.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapterTest.java
Sun Aug 24 19:38:41 2008
@@ -20,6 +20,7 @@
import org.apache.camel.spring.SpringTestSupport;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.channel.MessageChannel;
+import org.springframework.integration.channel.PollableChannel;
import org.springframework.integration.message.Message;
import org.springframework.integration.message.StringMessage;
@@ -40,7 +41,7 @@
Message message = new StringMessage(MESSAGE_BODY);
requestChannel.send(message);
- MessageChannel responseChannel = (MessageChannel)
applicationContext.getBean("channelC");
+ PollableChannel responseChannel = (PollableChannel)
applicationContext.getBean("channelC");
Message responseMessage = responseChannel.receive();
String result = (String) responseMessage.getPayload();
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/ConfigurationTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/ConfigurationTest.java?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/ConfigurationTest.java
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/adapter/ConfigurationTest.java
Sun Aug 24 19:38:41 2008
@@ -19,7 +19,7 @@
import junit.framework.TestCase;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.integration.endpoint.HandlerEndpoint;
+import org.springframework.integration.endpoint.MessagingBridge;
public class ConfigurationTest extends TestCase {
private AbstractXmlApplicationContext context;
@@ -43,12 +43,12 @@
public void testCamelTragetEndpoint() throws Exception {
context =
new ClassPathXmlApplicationContext(new String[]
{"/org/apache/camel/component/spring/integration/adapter/CamelTarget.xml"});
- HandlerEndpoint handlerEndpointA =
(HandlerEndpoint)context.getBean("camelTargetA");
- assertNotNull(handlerEndpointA);
- assertEquals("Subscript the wrong channel name",
handlerEndpointA.getInputChannelName(), "channelA");
- HandlerEndpoint handlerEndpointB =
(HandlerEndpoint)context.getBean("camelTargetA");
- assertNotNull(handlerEndpointB);
- assertEquals("Subscript the wrong channel name",
handlerEndpointB.getInputChannelName(), "channelA");
+ CamelTargetAdapter camelTargetA =
(CamelTargetAdapter)context.getBean("camelTargetA");
+ assertNotNull(camelTargetA);
+ assertEquals("Subscript the wrong CamelEndpointUri",
camelTargetA.getCamelEndpointUri(), "direct:EndpointA");
+ CamelTargetAdapter camelTargetB =
(CamelTargetAdapter)context.getBean("camelTargetB");
+ assertNotNull(camelTargetB);
+ assertEquals("Subscript the wrong reply channel name",
camelTargetB.getReplyChannel().getName(), "channelC");
context.destroy();
}
}
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelSource.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelSource.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelSource.xml
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelSource.xml
Sun Aug 24 19:38:41 2008
@@ -37,7 +37,7 @@
<channel id="channelB"/>
<channel id="channelC"/>
- <handler-endpoint input-channel="channelB"
+ <service-activator input-channel="channelB"
output-channel="channelC"
ref="helloService"
method="sayHello"/>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelTarget.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelTarget.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelTarget.xml
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/adapter/CamelTarget.xml
Sun Aug 24 19:38:41 2008
@@ -33,8 +33,8 @@
<!-- END SNIPPET: header -->
<message-bus/>
- <channel id="channelA"/>
- <channel id="channelB"/>
+ <channel-adapter id="channelA" target="camelTargetA"/>
+ <channel-adapter id="channelB" target="camelTargetB"/>
<channel id="channelC"/>
<!-- START SNIPPET: example -->
<!-- Create the camel context here -->
@@ -50,11 +50,11 @@
</camelContext>
<!-- We can bind the camelTarget to the camel context's endpoint by
specifying the camelEndpointUri attribute -->
- <camel-si:camelTarget id="camelTargetA" camelEndpointUri="direct:EndpointA"
requestChannel="channelA" expectReply="false">
+ <camel-si:camelTarget id="camelTargetA" camelEndpointUri="direct:EndpointA"
expectReply="false">
<camel-si:camelContextRef>camelTargetContext</camel-si:camelContextRef>
</camel-si:camelTarget>
- <camel-si:camelTarget id="camelTargetB" camelEndpointUri="direct:EndpointC"
requestChannel="channelB" replyChannel="channelC" expectReply="true">
+ <camel-si:camelTarget id="camelTargetB" camelEndpointUri="direct:EndpointC"
replyChannel="channelC" expectReply="true">
<camel-si:camelContextRef>camelTargetContext</camel-si:camelContextRef>
</camel-si:camelTarget>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/oneWayConsumer.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/oneWayConsumer.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/oneWayConsumer.xml
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/oneWayConsumer.xml
Sun Aug 24 19:38:41 2008
@@ -25,7 +25,7 @@
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
- <message-bus auto-create-channels="true"/>
+ <message-bus/>
<channel id="outputChannel"/>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/producer.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/producer.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/producer.xml
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/producer.xml
Sun Aug 24 19:38:41 2008
@@ -26,9 +26,11 @@
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
- <message-bus auto-create-channels="true"/>
+ <message-bus/>
+ <channel id="inputChannel"/>
+ <channel id="outputChannel"/>
- <handler-endpoint input-channel="inputChannel"
+ <service-activator input-channel="inputChannel"
output-channel="outputChannel"
ref="helloService"
method="sayHello"/>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/springChannelConverter.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/springChannelConverter.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/springChannelConverter.xml
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/springChannelConverter.xml
Sun Aug 24 19:38:41 2008
@@ -26,7 +26,7 @@
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
<!-- START SNIPPET: example -->
- <message-bus auto-create-channels="true"/>
+ <message-bus/>
<channel id="outputChannel"/>
Modified:
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/twoWayConsumer.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/twoWayConsumer.xml?rev=688601&r1=688600&r2=688601&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/twoWayConsumer.xml
(original)
+++
activemq/camel/trunk/components/camel-spring-integration/src/test/resources/org/apache/camel/component/spring/integration/twoWayConsumer.xml
Sun Aug 24 19:38:41 2008
@@ -26,7 +26,7 @@
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
<!-- START SNIPPET: example -->
- <message-bus auto-create-channels="true"/>
+ <message-bus/>
<channel id="requestChannel"/>
<channel id="responseChannel"/>