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"/>


Reply via email to