Repository: activemq
Updated Branches:
  refs/heads/trunk 9f78f8237 -> 7bfbce9a5


ignore JmsClientRequestResponseTest until we have qpid/proton libs with 
appropriate fixes


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/e9126f35
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/e9126f35
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/e9126f35

Branch: refs/heads/trunk
Commit: e9126f3513a7a074c423b0ed25e0cbb530af63ab
Parents: 9f78f82
Author: Dejan Bosanac <[email protected]>
Authored: Thu May 29 16:32:54 2014 +0200
Committer: Dejan Bosanac <[email protected]>
Committed: Thu May 29 16:41:06 2014 +0200

----------------------------------------------------------------------
 .../activemq/transport/amqp/ActiveMQJMSVendor.java | 17 +++++++++--------
 .../transport/amqp/AmqpProtocolConverter.java      |  8 ++++++++
 .../amqp/JmsClientRequestResponseTest.java         |  2 ++
 3 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/e9126f35/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/ActiveMQJMSVendor.java
----------------------------------------------------------------------
diff --git 
a/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/ActiveMQJMSVendor.java
 
b/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/ActiveMQJMSVendor.java
index 8a6137c..200b6c4 100644
--- 
a/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/ActiveMQJMSVendor.java
+++ 
b/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/ActiveMQJMSVendor.java
@@ -87,17 +87,18 @@ public class ActiveMQJMSVendor extends JMSVendor {
 
     @Override
     public <T extends Destination> T createDestination(String name, Class<T> 
kind) {
-        if (kind == Queue.class) {
-            return kind.cast(new ActiveMQQueue(name));
+        String destinationName = name.substring(name.lastIndexOf("://") + 3);
+        if( kind == Queue.class ) {
+            return kind.cast(new ActiveMQQueue(destinationName));
         }
-        if (kind == Topic.class) {
-            return kind.cast(new ActiveMQTopic(name));
+        if( kind == Topic.class ) {
+            return kind.cast(new ActiveMQTopic(destinationName));
         }
-        if (kind == TemporaryQueue.class) {
-            return kind.cast(new ActiveMQTempQueue(name));
+        if( kind == TemporaryQueue.class ) {
+            return kind.cast(new ActiveMQTempQueue(destinationName));
         }
-        if (kind == TemporaryTopic.class) {
-            return kind.cast(new ActiveMQTempTopic(name));
+        if( kind == TemporaryTopic.class ) {
+            return kind.cast(new ActiveMQTempTopic(destinationName));
         }
         return kind.cast(ActiveMQDestination.createDestination(name, 
ActiveMQDestination.QUEUE_TYPE));
     }

http://git-wip-us.apache.org/repos/asf/activemq/blob/e9126f35/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
----------------------------------------------------------------------
diff --git 
a/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
 
b/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
index ee84a25..df8509d 100644
--- 
a/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
+++ 
b/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
@@ -53,6 +53,7 @@ import org.apache.activemq.command.SessionId;
 import org.apache.activemq.command.SessionInfo;
 import org.apache.activemq.command.ShutdownInfo;
 import org.apache.activemq.command.TransactionInfo;
+import org.apache.activemq.command.ActiveMQTempTopic;
 import org.apache.activemq.selector.SelectorParser;
 import org.apache.activemq.util.IOExceptionSupport;
 import org.apache.activemq.util.IdGenerator;
@@ -577,6 +578,13 @@ class AmqpProtocolConverter implements 
IAmqpProtocolConverter {
             if (!closed) {
                 EncodedMessage em = new 
EncodedMessage(delivery.getMessageFormat(), buffer.data, buffer.offset, 
buffer.length);
                 final ActiveMQMessage message = (ActiveMQMessage) 
getInboundTransformer().transform(em);
+
+                // TODO - we need to cast TempTopic to TempQueue as we 
internally are using temp queues for all dynamic destinations
+                // we need to figure out how to support both queues and topics
+                if (message.getJMSReplyTo() != null && message.getJMSReplyTo() 
instanceof ActiveMQTempTopic) {
+                    ActiveMQTempTopic tempTopic = 
(ActiveMQTempTopic)message.getJMSReplyTo();
+                    message.setJMSReplyTo(new 
ActiveMQTempQueue(tempTopic.getPhysicalName()));
+                }
                 current = null;
 
                 if (destination != null) {

http://git-wip-us.apache.org/repos/asf/activemq/blob/e9126f35/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JmsClientRequestResponseTest.java
----------------------------------------------------------------------
diff --git 
a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JmsClientRequestResponseTest.java
 
b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JmsClientRequestResponseTest.java
index c79493a..191ae07 100644
--- 
a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JmsClientRequestResponseTest.java
+++ 
b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JmsClientRequestResponseTest.java
@@ -39,12 +39,14 @@ import javax.jms.Topic;
 
 import org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl;
 import org.junit.After;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TestName;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Ignore("Until https://issues.apache.org/jira/browse/PROTON-588 and 
https://issues.apache.org/jira/browse/QPID-5792 are fixed")
 public class JmsClientRequestResponseTest extends AmqpTestSupport implements 
MessageListener {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(JmsClientRequestResponseTest.class);

Reply via email to