You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2014/09/26 00:45:26 UTC
[1/5] git commit: Add some additional tests to validate handling null
values behaves as expected.
Repository: qpid-jms
Updated Branches:
refs/heads/master 38299e760 -> 44d6e320c
Add some additional tests to validate handling null values behaves as
expected.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/8063fcb8
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/8063fcb8
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/8063fcb8
Branch: refs/heads/master
Commit: 8063fcb88025058147c3c1fa549002d515d2e48b
Parents: 38299e7
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 15:38:51 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 15:38:51 2014 -0400
----------------------------------------------------------------------
.../amqp/message/AmqpDestinationHelperTest.java | 40 ++++++++++++++++++++
1 file changed, 40 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8063fcb8/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
index 6564583..fbd0948 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
@@ -325,6 +325,26 @@ public class AmqpDestinationHelperTest {
//--------------- Test setToAddressFromDestination method ----------------//
@Test
+ public void testSetToAddressFromDestinationWithNullDestination() {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ helper.setToAddressFromDestination(message, null);
+ Mockito.verifyZeroInteractions(message);
+ }
+
+ @Test
+ public void testSetToAddressFromDestinationWithNullDestinationAndNullMessage() {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ helper.setToAddressFromDestination(null, null);
+ Mockito.verifyZeroInteractions(message);
+ }
+
+ @Test(expected=NullPointerException.class)
+ public void testSetToAddressFromDestinationWithNullMessage() {
+ JmsDestination destination = new JmsQueue("testAddress");
+ helper.setToAddressFromDestination(null, destination);
+ }
+
+ @Test
public void testSetToAddressFromDestinationWithQueue() {
String testAddress = "testAddress";
JmsDestination destination = new JmsQueue("testAddress");
@@ -375,6 +395,26 @@ public class AmqpDestinationHelperTest {
//--------------- Test setReplyToAddressFromDestination method -----------//
@Test
+ public void testSetReplyToAddressFromDestinationWithNullDestination() {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ helper.setReplyToAddressFromDestination(message, null);
+ Mockito.verifyZeroInteractions(message);
+ }
+
+ @Test
+ public void testSetReplyToAddressFromDestinationWithNullDestinationAndNullMessage() {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ helper.setReplyToAddressFromDestination(null, null);
+ Mockito.verifyZeroInteractions(message);
+ }
+
+ @Test(expected=NullPointerException.class)
+ public void testSetReplyToAddressFromDestinationWithNullMessage() {
+ JmsDestination destination = new JmsQueue("testAddress");
+ helper.setReplyToAddressFromDestination(null, destination);
+ }
+
+ @Test
public void testSetReplyToAddressFromDestinationWithQueue() {
String testAddress = "testAddress";
JmsDestination destination = new JmsQueue("testAddress");
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/5] git commit: Test basic message property for
AmqpJmsMessageFacade. Fix up a few null check issues,
and use the AmqpJms facade types as covariant return types from the copy
methods to make testing easier, no casts needed.
Posted by ta...@apache.org.
Test basic message property for AmqpJmsMessageFacade. Fix up a few null
check issues, and use the AmqpJms facade types as covariant return types
from the copy methods to make testing easier, no casts needed.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/e7051100
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/e7051100
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/e7051100
Branch: refs/heads/master
Commit: e70511007e5fabb956c634c71d4021918d9ba68e
Parents: 8063fcb
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 15:53:54 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 15:53:54 2014 -0400
----------------------------------------------------------------------
.../amqp/message/AmqpDestinationHelper.java | 8 +++
.../amqp/message/AmqpJmsBytesMessageFacade.java | 2 +-
.../amqp/message/AmqpJmsMapMessageFacade.java | 2 +-
.../amqp/message/AmqpJmsMessageFacade.java | 10 ++--
.../message/AmqpJmsObjectMessageFacade.java | 2 +-
.../message/AmqpJmsStreamMessageFacade.java | 2 +-
.../amqp/message/AmqpJmsTextMessageFacade.java | 2 +-
.../amqp/message/AmqpJmsMessageFacadeTest.java | 55 ++++++++++++++++++++
8 files changed, 75 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
index 202f5ce..2402143 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
@@ -135,6 +135,10 @@ public class AmqpDestinationHelper {
}
public void setToAddressFromDestination(AmqpJmsMessageFacade message, JmsDestination destination) {
+ if (destination == null) {
+ return;
+ }
+
String address = destination.getName();
String typeString = toTypeAnnotation(destination);
@@ -148,6 +152,10 @@ public class AmqpDestinationHelper {
}
public void setReplyToAddressFromDestination(AmqpJmsMessageFacade message, JmsDestination destination) {
+ if (destination == null) {
+ return;
+ }
+
String replyToAddress = destination.getName();
String typeString = toTypeAnnotation(destination);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
index 664d414..6bf27cd 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
@@ -64,7 +64,7 @@ public class AmqpJmsBytesMessageFacade extends AmqpJmsMessageFacade implements J
}
@Override
- public JmsBytesMessageFacade copy() {
+ public AmqpJmsBytesMessageFacade copy() {
AmqpJmsBytesMessageFacade copy = new AmqpJmsBytesMessageFacade(connection);
copyInto(copy);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
index fdda9e4..75763ed 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
@@ -92,7 +92,7 @@ public class AmqpJmsMapMessageFacade extends AmqpJmsMessageFacade implements Jms
}
@Override
- public JmsMapMessageFacade copy() {
+ public AmqpJmsMapMessageFacade copy() {
AmqpJmsMapMessageFacade copy = new AmqpJmsMapMessageFacade(connection);
copyInto(copy);
copy.messageBodyMap.putAll(messageBodyMap);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
index f9ff940..5e04f99 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
@@ -234,7 +234,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
}
@Override
- public JmsMessageFacade copy() throws JMSException {
+ public AmqpJmsMessageFacade copy() throws JMSException {
AmqpJmsMessageFacade copy = new AmqpJmsMessageFacade(connection);
copyInto(copy);
return copy;
@@ -242,8 +242,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
@SuppressWarnings("unchecked")
protected void copyInto(AmqpJmsMessageFacade target) {
- target.setDestination(destination);
- target.setReplyTo(replyTo);
+ if (destination != null) {
+ target.setDestination(destination);
+ }
+ if (replyTo != null) {
+ target.setReplyTo(replyTo);
+ }
Message targetMsg = target.getAmqpMessage();
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
index 1668a6c..c55e682 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
@@ -87,7 +87,7 @@ public class AmqpJmsObjectMessageFacade extends AmqpJmsMessageFacade implements
}
@Override
- public JmsObjectMessageFacade copy() throws JMSException {
+ public AmqpJmsObjectMessageFacade copy() throws JMSException {
AmqpJmsObjectMessageFacade copy = new AmqpJmsObjectMessageFacade(connection);
copyInto(copy);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
index 90cd97e..edf7ea0 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
@@ -86,7 +86,7 @@ public class AmqpJmsStreamMessageFacade extends AmqpJmsMessageFacade implements
}
@Override
- public JmsStreamMessageFacade copy() {
+ public AmqpJmsStreamMessageFacade copy() {
AmqpJmsStreamMessageFacade copy = new AmqpJmsStreamMessageFacade(connection);
copyInto(copy);
copy.list.addAll(list);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
index c2d6fc2..53359a6 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
@@ -87,7 +87,7 @@ public class AmqpJmsTextMessageFacade extends AmqpJmsMessageFacade implements Jm
}
@Override
- public JmsTextMessageFacade copy() throws JMSException {
+ public AmqpJmsTextMessageFacade copy() throws JMSException {
AmqpJmsTextMessageFacade copy = new AmqpJmsTextMessageFacade(connection);
copyInto(copy);
copy.setText(getText());
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
index 1bb94c8..8ae2a39 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.nio.ByteBuffer;
@@ -31,7 +32,11 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import javax.jms.JMSException;
+
import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.apache.qpid.jms.JmsTemporaryQueue;
import org.apache.qpid.jms.JmsTopic;
import org.apache.qpid.jms.provider.amqp.AmqpConnection;
import org.apache.qpid.jms.provider.amqp.AmqpConsumer;
@@ -401,4 +406,54 @@ public class AmqpJmsMessageFacadeTest {
return new Binary(idBytes);
}
+ @Test
+ public void testBasicMessageCopy() throws JMSException {
+ AmqpJmsMessageFacade source = createNewMessageFacade();
+
+ JmsQueue aQueue = new JmsQueue("Test-Queue");
+ JmsTemporaryQueue tempQueue = new JmsTemporaryQueue("Test-Temp-Queue");
+
+ source.setDestination(aQueue);
+ source.setReplyTo(tempQueue);
+
+ source.setContentType("Test-ContentType");
+ source.setCorrelationId("MY-APP-ID");
+ source.setExpiration(42L);
+ source.setGroupId("TEST-GROUP");
+ source.setGroupSequence(23);
+ source.setMessageId("ID:TEST-MESSAGEID");
+ source.setPriority((byte) 1);
+ source.setPersistent(false);
+ source.setRedeliveryCounter(12);
+ source.setTimestamp(150L);
+ source.setUserId("Cookie-Monster");
+
+ source.setProperty("APP-Prop-1", "APP-Prop-1-Value");
+ source.setProperty("APP-Prop-2", "APP-Prop-2-Value");
+
+ AmqpJmsMessageFacade copy = source.copy();
+
+ assertSame(source.getConnection(), copy.getConnection());
+
+ assertEquals(source.getDestination(), copy.getDestination());
+ assertEquals(source.getReplyTo(), copy.getReplyTo());
+
+ assertEquals(source.getContentType(), copy.getContentType());
+ assertEquals(source.getCorrelationId(), copy.getCorrelationId());
+ assertEquals(source.getExpiration(), copy.getExpiration());
+ assertEquals(source.getGroupId(), copy.getGroupId());
+ assertEquals(source.getGroupSequence(), copy.getGroupSequence());
+ assertEquals(source.getMessageId(), copy.getMessageId());
+ assertEquals(source.getPriority(), copy.getPriority());
+ assertEquals(source.isPersistent(), copy.isPersistent());
+ assertEquals(source.getRedeliveryCounter(), copy.getRedeliveryCounter());
+ assertEquals(source.getTimestamp(), copy.getTimestamp());
+ assertEquals(source.getUserId(), copy.getUserId());
+
+ assertNotNull(copy.getProperty("APP-Prop-1"));
+ assertNotNull(copy.getProperty("APP-Prop-2"));
+
+ assertEquals("APP-Prop-1-Value", copy.getProperty("APP-Prop-1"));
+ assertEquals("APP-Prop-2-Value", copy.getProperty("APP-Prop-2"));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[3/5] git commit: Additional check to filter out replyToGroupId if
its an empty string also.
Posted by ta...@apache.org.
Additional check to filter out replyToGroupId if its an empty string
also.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/54029860
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/54029860
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/54029860
Branch: refs/heads/master
Commit: 540298601f1db8aac54a5d17c9394d00f32616d5
Parents: e705110
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 16:31:20 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 16:31:20 2014 -0400
----------------------------------------------------------------------
.../amqp/message/AmqpJmsMessagePropertyIntercepter.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/54029860/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
index 11d10a3..7af0a85 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
@@ -102,7 +102,7 @@ public class AmqpJmsMessagePropertyIntercepter {
@Override
public boolean propertyExists(AmqpJmsMessageFacade message) {
- return message.getAmqpTimeToLive() != 0;
+ return message.hasUserSpecifiedTimeToLive();
}
});
PROPERTY_INTERCEPTERS.put(JMS_AMQP_REPLY_TO_GROUP_ID, new PropertyIntercepter() {
@@ -122,7 +122,8 @@ public class AmqpJmsMessagePropertyIntercepter {
@Override
public boolean propertyExists(AmqpJmsMessageFacade message) {
- return message.getReplyToGroupId() != null;
+ String replyToGroupId = message.getReplyToGroupId();
+ return replyToGroupId != null && !replyToGroupId.equals("");
}
});
PROPERTY_INTERCEPTERS.put(JMS_AMQP_TYPED_ENCODING, new PropertyIntercepter() {
@@ -142,7 +143,6 @@ public class AmqpJmsMessagePropertyIntercepter {
throw new JMSException("Property " + JMS_AMQP_TYPED_ENCODING + " cannot be set from a " + value.getClass().getName() + ".");
}
- // TODO - Finished Typed encoding work.
if (message instanceof AmqpJmsObjectMessageFacade) {
// ((AmqpJmsSerializedObjectMessageFacade) message)
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[4/5] git commit: Test for number of message properties and fix copy
incorrectly mapping replyTo into the replyToGroupId feild.
Posted by ta...@apache.org.
Test for number of message properties and fix copy incorrectly mapping
replyTo into the replyToGroupId feild.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/0546ace6
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/0546ace6
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/0546ace6
Branch: refs/heads/master
Commit: 0546ace6ea8f9611b898e480d92996cb765b025e
Parents: 5402986
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 16:50:50 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 16:50:50 2014 -0400
----------------------------------------------------------------------
.../jms/provider/amqp/message/AmqpJmsMessageFacade.java | 8 ++++++--
.../provider/amqp/message/AmqpJmsMessageFacadeTest.java | 12 ++++++++++++
2 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0546ace6/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
index 5e04f99..c0d4d9f 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
@@ -282,7 +282,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
properties.setCreationTime(message.getProperties().getCreationTime());
properties.setGroupId(message.getProperties().getGroupId());
properties.setGroupSequence(message.getProperties().getGroupSequence());
- properties.setReplyToGroupId(message.getProperties().getReplyTo());
+ properties.setReplyToGroupId(message.getProperties().getReplyToGroupId());
targetMsg.setProperties(properties);
}
@@ -561,8 +561,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
}
}
+ public boolean hasUserSpecifiedTimeToLive() {
+ return userSpecifiedTTL != null;
+ }
+
public long getAmqpTimeToLive() {
- return userSpecifiedTTL;
+ return userSpecifiedTTL != null ? userSpecifiedTTL : 0;
}
@Override
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0546ace6/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
index 8ae2a39..a1247a1 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
@@ -406,6 +406,15 @@ public class AmqpJmsMessageFacadeTest {
return new Binary(idBytes);
}
+ // ====== AMQP Message Facade copy() tests =======
+
+ @Test
+ public void testCopyOfEmptyMessageSucceeds() throws JMSException {
+ AmqpJmsMessageFacade empty = createNewMessageFacade();
+ AmqpJmsMessageFacade copy = empty.copy();
+ assertNotNull(copy);
+ }
+
@Test
public void testBasicMessageCopy() throws JMSException {
AmqpJmsMessageFacade source = createNewMessageFacade();
@@ -450,6 +459,9 @@ public class AmqpJmsMessageFacadeTest {
assertEquals(source.getTimestamp(), copy.getTimestamp());
assertEquals(source.getUserId(), copy.getUserId());
+ // There should be two since none of the extended options were set
+ assertEquals(2, copy.getPropertyNames().size());
+
assertNotNull(copy.getProperty("APP-Prop-1"));
assertNotNull(copy.getProperty("APP-Prop-2"));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[5/5] git commit: Start testing the AmqpJmsMessagePropertIntercepter.
Work in progress as the object message type bits are complete.
Posted by ta...@apache.org.
Start testing the AmqpJmsMessagePropertIntercepter. Work in progress as
the object message type bits are complete.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/44d6e320
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/44d6e320
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/44d6e320
Branch: refs/heads/master
Commit: 44d6e320cfe55249e9459551a0ae124cfdf3c2fb
Parents: 0546ace
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 18:45:13 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 18:45:13 2014 -0400
----------------------------------------------------------------------
.../AmqpJmsMessagePropertyIntercepter.java | 9 +-
.../amqp/message/AmqpJmsMessageFacadeTest.java | 1 -
.../AmqpJmsMessagePropertyIntercepterTest.java | 152 +++++++++++++++++++
3 files changed, 158 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
index 7af0a85..c5eb0d9 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
@@ -88,7 +88,10 @@ public class AmqpJmsMessagePropertyIntercepter {
PROPERTY_INTERCEPTERS.put(JMS_AMQP_TTL, new PropertyIntercepter() {
@Override
public Object getProperty(AmqpJmsMessageFacade message) throws JMSException {
- return message.getAmqpTimeToLive();
+ if (message.hasUserSpecifiedTimeToLive()) {
+ return message.getAmqpTimeToLive();
+ }
+ return null;
}
@Override
@@ -133,12 +136,12 @@ public class AmqpJmsMessagePropertyIntercepter {
return ((AmqpJmsObjectMessageFacade) message).isAmqpTypedEncoding();
}
- return false;
+ return null;
}
@Override
public void setProperty(AmqpJmsMessageFacade message, Object value) throws JMSException {
- Integer rc = (Integer) TypeConversionSupport.convert(value, Boolean.class);
+ Boolean rc = (Boolean) TypeConversionSupport.convert(value, Boolean.class);
if (rc == null) {
throw new JMSException("Property " + JMS_AMQP_TYPED_ENCODING + " cannot be set from a " + value.getClass().getName() + ".");
}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
index a1247a1..c536d90 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
@@ -64,7 +64,6 @@ public class AmqpJmsMessageFacadeTest {
return new AmqpJmsMessageFacade(amqpConsumer, message);
}
-
private AmqpConsumer createMockAmqpConsumer() {
AmqpConsumer consumer = Mockito.mock(AmqpConsumer.class);
Mockito.when(consumer.getConnection()).thenReturn(createMockAmqpConnection());
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
new file mode 100644
index 0000000..1059e7b
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
@@ -0,0 +1,152 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp.message;
+
+import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_REPLY_TO_GROUP_ID;
+import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TTL;
+import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TYPED_ENCODING;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import javax.jms.JMSException;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class AmqpJmsMessagePropertyIntercepterTest {
+
+ //-------- JMS_AMQP_TTL --------------------------------------------------//
+
+ @Test
+ public void testJmsAmqpTtlInGetAllPropertyNames() throws JMSException {
+ assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_TTL));
+ }
+
+ @Test
+ public void testGetJmsAmqpTtlWhenNotSet() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+ }
+
+ @Test
+ public void testSetJmsAmqpTtl() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TTL, 65536L);
+ Mockito.verify(message).setAmqpTimeToLive(65536L);
+ }
+
+ @Test
+ public void testGetJmsAmqpTtlWhenSet() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ Mockito.when(message.hasUserSpecifiedTimeToLive()).thenReturn(true);
+ Mockito.when(message.getAmqpTimeToLive()).thenReturn(65536L);
+
+ assertNotNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+ assertEquals(65536L, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+ }
+
+ @Test
+ public void testJmsAmqpTtlNotInPropertyNamesWhenNotSet() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+ assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL));
+ }
+
+ @Test
+ public void testJmsAmqpTtlInPropertyNamesWhenSet() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ Mockito.when(message.hasUserSpecifiedTimeToLive()).thenReturn(true);
+ Mockito.when(message.getAmqpTimeToLive()).thenReturn(65536L);
+ assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL));
+ }
+
+ //-------- JMS_AMQP_REPLY_TO_GROUP_ID ------------------------------------//
+
+ @Test
+ public void testJmsAmqpReplyToGroupIdInGetAllPropertyNames() throws JMSException {
+ assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_REPLY_TO_GROUP_ID));
+ }
+
+ @Test
+ public void testSetJmsAmqpReplyToGroupId() throws JMSException {
+ String testValue = "ReplyToGroupId";
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID, testValue);
+ Mockito.verify(message).setReplyToGroupId(testValue);
+ }
+
+ @Test
+ public void testGetJmsAmqpReplyToGroupIdWhenNotSet() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+ }
+
+ @Test
+ public void testGetJmsAmqpReplyToGroupIdWhenSet() throws JMSException {
+ String testValue = "ReplyToGroupId";
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ Mockito.when(message.getReplyToGroupId()).thenReturn(testValue);
+ assertNotNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+ assertEquals(testValue, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+ }
+
+ @Test
+ public void testJmsJmsAmqpReplyToGroupIdNotInPropertyNamesWhenNotSet() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+ assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID));
+ }
+
+ @Test
+ public void testJmsAmqpReplyToGroupIdInPropertyNamesWhenSet() throws JMSException {
+ String testValue = "ReplyToGroupId";
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ Mockito.when(message.getReplyToGroupId()).thenReturn(testValue);
+ assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID));
+ }
+
+ //-------- JMS_AMQP_TYPED_ENCODING ---------------------------------------//
+
+ @Test
+ public void testJmsAmqpTypedEncodingInGetAllPropertyNames() throws JMSException {
+ assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_TYPED_ENCODING));
+ }
+
+ @Test
+ public void testSetJmsAmqpTypedEncoding() throws JMSException {
+ AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TYPED_ENCODING, true);
+ // TODO
+ }
+
+ @Test
+ public void testGetJmsAmqpTypedEncodingWithNonObjectMessage() throws JMSException {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
+ }
+
+ @Test
+ public void testGetJmsAmqpTypedEncodingWhenUsingSerializatio() throws JMSException {
+ AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ Mockito.when(message.isAmqpTypedEncoding()).thenReturn(false);
+ assertEquals(false, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org