Author: hadrian
Date: Sat Jun 27 04:06:31 2009
New Revision: 788923

URL: http://svn.apache.org/viewvc?rev=788923&view=rev
Log:
CAMEL-1078.  JmsExchange gone.

Removed:
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java
Modified:
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
    
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
    
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
    
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
    
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
 Sat Jun 27 04:06:31 2009
@@ -46,7 +46,7 @@
                 Enumeration iter = browser.getEnumeration();
                 while (iter.hasMoreElements()) {
                     Message message = (Message) iter.nextElement();
-                    JmsExchange exchange = endpoint.createExchange(message);
+                    Exchange exchange = endpoint.createExchange(message);
                     answer.add(exchange);
                 }
                 return answer;

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
 Sat Jun 27 04:06:31 2009
@@ -22,9 +22,11 @@
 import javax.jms.MessageListener;
 import javax.jms.Session;
 
+import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.impl.LoggingExceptionHandler;
 import org.apache.camel.spi.ExceptionHandler;
 import org.apache.commons.logging.Log;
@@ -69,7 +71,7 @@
         RuntimeCamelException rce = null;
         try {
             Destination replyDestination = getReplyToDestination(message);
-            final JmsExchange exchange = createExchange(message, 
replyDestination);
+            final Exchange exchange = createExchange(message, 
replyDestination);
             if (eagerLoadingOfProperties) {
                 exchange.getIn().getHeaders();
             }
@@ -102,12 +104,12 @@
                     }
                 } else if (exchange.getFault().getBody() != null) {
                     // a fault occurred while processing
-                    body = exchange.getFault();
+                    body = (JmsMessage) exchange.getFault();
                     sendReply = true;
                 }
             } else if (exchange.hasOut()) {
                 // process OK so get the reply
-                body = exchange.getOut();
+                body = (JmsMessage) exchange.getOut();
                 sendReply = true;
             }
 
@@ -133,8 +135,11 @@
         LOG.trace("onMessage END");
     }
 
-    public JmsExchange createExchange(Message message, Destination 
replyDestination) {
-        JmsExchange exchange = new JmsExchange(endpoint, 
endpoint.getExchangePattern(), getBinding(), message);
+    public Exchange createExchange(Message message, Destination 
replyDestination) {
+        Exchange exchange = new DefaultExchange(endpoint, 
endpoint.getExchangePattern());
+        exchange.setProperty(Exchange.BINDING, getBinding());
+        exchange.setIn(new JmsMessage(message));
+
         // lets set to an InOut if we have some kind of reply-to destination
         if (replyDestination != null && !disableReplyTo) {
             exchange.setProperty(JmsConstants.JMS_REPLY_DESTINATION, 
replyDestination);
@@ -223,7 +228,7 @@
     // Implementation methods
     //-------------------------------------------------------------------------
 
-    protected void sendReply(Destination replyDestination, final Message 
message, final JmsExchange exchange,
+    protected void sendReply(Destination replyDestination, final Message 
message, final Exchange exchange,
                              final JmsMessage out, final Exception cause) {
         if (replyDestination == null) {
             if (LOG.isDebugEnabled()) {

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
 Sat Jun 27 04:06:31 2009
@@ -58,7 +58,7 @@
 import static org.apache.camel.component.jms.JmsMessageType.Text;
 
 /**
- * A Strategy used to convert between a Camel {...@link JmsExchange} and 
{...@link JmsMessage}
+ * A Strategy used to convert between a Camel {...@link Exchange} and 
{...@link JmsMessage}
  * to and from a JMS {...@link Message}
  *
  * @version $Revision$

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 Sat Jun 27 04:06:31 2009
@@ -33,6 +33,7 @@
 import org.apache.camel.Processor;
 import org.apache.camel.component.jms.requestor.Requestor;
 import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
 import org.springframework.core.task.TaskExecutor;
@@ -195,11 +196,15 @@
 
     @Override
     public Exchange createExchange(ExchangePattern pattern) {
-        return new JmsExchange(this, pattern, getBinding());
+        Exchange exchange = new DefaultExchange(this, pattern);
+        exchange.setProperty(Exchange.BINDING, getBinding());
+        return exchange;
     }
 
-    public JmsExchange createExchange(Message message) {
-        return new JmsExchange(this, getExchangePattern(), getBinding(), 
message);
+    public Exchange createExchange(Message message) {
+        Exchange exchange = createExchange(getExchangePattern());
+        exchange.setIn(new JmsMessage(message));
+        return exchange;
     }
 
     /**

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
 Sat Jun 27 04:06:31 2009
@@ -18,15 +18,16 @@
 
 import java.io.File;
 import java.util.Map;
+
 import javax.jms.Destination;
 import javax.jms.JMSException;
 import javax.jms.Message;
 import javax.jms.Queue;
 import javax.jms.Topic;
 
-import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.DefaultMessage;
+import org.apache.camel.util.ExchangeHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -89,13 +90,8 @@
 
     public JmsBinding getBinding() {
         if (binding == null) {
-            Exchange exchange = getExchange();
-            if (exchange instanceof JmsExchange) {
-                JmsExchange jmsExchange = (JmsExchange) exchange;
-                return jmsExchange.getBinding();
-            } else {
-                return new JmsBinding();
-            }
+            JmsBinding b = ExchangeHelper.getBinding(getExchange(), 
JmsBinding.class);
+            return b != null ? b : new JmsBinding();
         }
         return binding;
     }

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
 Sat Jun 27 04:06:31 2009
@@ -300,7 +300,8 @@
             } else if (destinationName != null) {
                 getInOnlyTemplate().send(destinationName, messageCreator);
             } else  {
-                throw new IllegalArgumentException("Neither destination nor 
destinationName is specified on this endpoint: " + endpoint);
+                throw new IllegalArgumentException("Neither destination nor "
+                    + "destinationName are specified on this endpoint: " + 
endpoint);
             }
 
             setMessageId(exchange);
@@ -308,17 +309,16 @@
     }
 
     protected void setMessageId(Exchange exchange) {
-        if (!(exchange instanceof JmsExchange)) {
-            return;
-        }
-        try {
-            JmsExchange jmsExchange = JmsExchange.class.cast(exchange);
-            if (jmsExchange.hasOut()) {
-                JmsMessage out = jmsExchange.getOut();
-                out.setMessageId(out.getJmsMessage().getJMSMessageID());
+        if (exchange.hasOut()) {
+            JmsMessage out = (JmsMessage) exchange.getOut();
+            try {
+                if (out != null) {
+                    out.setMessageId(out.getJmsMessage().getJMSMessageID());
+                }
+            } catch (JMSException e) {
+                LOG.warn("Unable to retrieve JMSMessageID from outgoing "
+                    + "JMS Message and set it into Camel's MessageId", e);
             }
-        } catch (JMSException e) {
-            LOG.warn("Unable to retrieve JMSMessageID from outgoing JMS 
Message and set it into Camel's MessageId", e);
         }
     }
 

Modified: 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
 Sat Jun 27 04:06:31 2009
@@ -31,6 +31,7 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.util.ExchangeHelper;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.jms.core.JmsTemplate;
@@ -80,13 +81,16 @@
 
     protected void assertCorrectBytesReceived() {
         Exchange exchange = endpoint.getReceivedExchanges().get(0);
-        JmsExchange jmsExchange = assertIsInstanceOf(JmsExchange.class, 
exchange);
+        // This should be a JMS Exchange
+        assertNotNull(ExchangeHelper.getBinding(exchange, JmsBinding.class));
+        JmsMessage in = (JmsMessage) exchange.getIn();
+        assertNotNull(in);
+        
         byte[] bytes = exchange.getIn().getBody(byte[].class);
-
         log.info("Received bytes: " + Arrays.toString(bytes));
 
         assertNotNull("Should have received a bytes message!", bytes);
-        assertIsInstanceOf(BytesMessage.class, jmsExchange.getInMessage());
+        assertIsInstanceOf(BytesMessage.class, in.getJmsMessage());
         assertEquals("Wrong byte 1", 1, bytes[0]);
         assertEquals("Wrong payload lentght", 3, bytes.length);
     }

Modified: 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
 Sat Jun 27 04:06:31 2009
@@ -31,6 +31,7 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.util.ExchangeHelper;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.jms.core.JmsTemplate;
@@ -64,13 +65,16 @@
 
     protected void assertCorrectMapReceived() {
         Exchange exchange = endpoint.getReceivedExchanges().get(0);
-        JmsExchange jmsExchange = assertIsInstanceOf(JmsExchange.class, 
exchange);
+        // This should be a JMS Exchange
+        assertNotNull(ExchangeHelper.getBinding(exchange, JmsBinding.class));
+        JmsMessage in = (JmsMessage) exchange.getIn();
+        assertNotNull(in);
+        
         Map map = exchange.getIn().getBody(Map.class);
-
         log.info("Received map: " + map);
 
         assertNotNull("Should have received a map message!", map);
-        assertIsInstanceOf(MapMessage.class, jmsExchange.getInMessage());
+        assertIsInstanceOf(MapMessage.class, in.getJmsMessage());
         assertEquals("map.foo", "abc", map.get("foo"));
         assertEquals("map.bar", "xyz", map.get("bar"));
         assertEquals("map.size", 2, map.size());

Modified: 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
 Sat Jun 27 04:06:31 2009
@@ -30,6 +30,7 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.util.ExchangeHelper;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.jms.core.JmsTemplate;
@@ -78,8 +79,11 @@
 
     protected void assertCorrectObjectReceived() {
         Exchange exchange = endpoint.getReceivedExchanges().get(0);
-        JmsExchange jmsExchange = assertIsInstanceOf(JmsExchange.class, 
exchange);
-        assertIsInstanceOf(ObjectMessage.class, jmsExchange.getInMessage());
+        // This should be a JMS Exchange
+        assertNotNull(ExchangeHelper.getBinding(exchange, JmsBinding.class));
+        JmsMessage in = (JmsMessage) exchange.getIn();
+        assertNotNull(in);
+        assertIsInstanceOf(ObjectMessage.class, in.getJmsMessage());
 
         MyUser user = exchange.getIn().getBody(MyUser.class);
         assertEquals("Claus", user.getName());

Modified: 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java?rev=788923&r1=788922&r2=788923&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java
 Sat Jun 27 04:06:31 2009
@@ -26,10 +26,12 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.JmsExchange;
+import org.apache.camel.component.jms.JmsBinding;
+import org.apache.camel.component.jms.JmsMessage;
 import org.apache.camel.component.mock.AssertionClause;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.util.ExchangeHelper;
 import org.junit.Test;
 import static 
org.apache.activemq.camel.component.ActiveMQComponent.activeMQComponent;
 
@@ -81,8 +83,10 @@
                 from("activemq:test.a").process(new Processor() {
                     public void process(Exchange exchange) throws Exception {
                         // lets set the custom JMS headers using the JMS API
-                        JmsExchange jmsExchange = 
assertIsInstanceOf(JmsExchange.class, exchange);
-                        Message inMessage = jmsExchange.getInMessage();
+                        assertNotNull(ExchangeHelper.getBinding(exchange, 
JmsBinding.class));
+                        JmsMessage in = (JmsMessage) exchange.getIn();
+                        assertNotNull(in);
+                        Message inMessage = in.getJmsMessage();
                         inMessage.setJMSReplyTo(replyQueue);
                         inMessage.setJMSCorrelationID(correlationID);
                         inMessage.setJMSType(messageType);


Reply via email to