[2/6] git commit: enable ignored test now that functionality is implemented

2014-10-07 Thread robbie
enable ignored test now that functionality is implemented


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

Branch: refs/heads/master
Commit: de71fe3def15c1ee77466c72fa6d42aaff9b09d1
Parents: 96443b9
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 10:27:37 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 10:36:26 2014 +0100

--
 .../org/apache/qpid/jms/integration/SenderIntegrationTest.java | 2 --
 1 file changed, 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/de71fe3d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java
index bff17fa..327c293 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java
@@ -326,8 +326,6 @@ public class SenderIntegrationTest extends QpidJmsTestCase {
  * Test that when a message is sent with default priority of 4, the 
emitted AMQP message has no value in the header
  * priority field, since the default for that field is already 4.
  */
-@Ignore
-// TODO: currently failing as we always populate the field
 @Test(timeout = 1)
 public void testDefaultPriorityProducesMessagesWithoutPriorityField() 
throws Exception {
 try (TestAmqpPeer testPeer = new 
TestAmqpPeer(IntegrationTestFixture.PORT);) {


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



[4/6] git commit: add some tests for handling of Properties section absolute-expiry-time

2014-10-07 Thread robbie
add some tests for handling of Properties section absolute-expiry-time


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

Branch: refs/heads/master
Commit: a3db689624f1a0099f111bf53b3e4c29eb3f5d9d
Parents: de71fe3
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 10:55:03 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 10:55:03 2014 +0100

--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 50 +++-
 1 file changed, 48 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a3db6896/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 5978070..7bd81e3 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
@@ -397,10 +397,11 @@ public class AmqpJmsMessageFacadeTest {
 // ==
 
 @Test
-public void testGetExpirationIsZeroForNewMessage() {
+public void testNewMessageHasNoUnderlyingPropertiesSection() {
 AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
 
-assertEquals(Expected no expiration, 0, 
amqpMessageFacade.getExpiration());
+Message underlying = amqpMessageFacade.getAmqpMessage();
+assertNull(underlying.getProperties());
 }
 
 // --- message-id and correlation-id ---
@@ -748,6 +749,51 @@ public class AmqpJmsMessageFacadeTest {
 assertEquals(Expected creation-time field to be set on new Properties 
section, new Date(expected), 
amqpMessageFacade.getAmqpMessage().getProperties().getCreationTime());
 }
 
+// --- absolute-expiry-time field  ---
+
+@Test
+public void testGetExpirationIsZeroForNewMessage() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+assertEquals(Expected no expiration, 0, 
amqpMessageFacade.getExpiration());
+}
+
+@Test
+public void testSetGetExpirationOnNewMessage() {
+Long timestamp = System.currentTimeMillis();
+
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+amqpMessageFacade.setExpiration(timestamp);
+
+assertEquals(Expected absolute-expiry-time to be set, 
timestamp.longValue(), 
amqpMessageFacade.getAmqpMessage().getProperties().getAbsoluteExpiryTime().getTime());
+assertEquals(Expected expiration to be set, timestamp.longValue(), 
amqpMessageFacade.getExpiration());
+}
+
+@Test
+public void 
testSetExpirationZeroOnNewMessageDoesNotCreatePropertiesSection() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+assertNull(Expected properties section not to exist, 
amqpMessageFacade.getAmqpMessage().getProperties());
+
+amqpMessageFacade.setExpiration(0);
+
+assertNull(Expected properties section still not to exist, 
amqpMessageFacade.getAmqpMessage().getProperties());
+}
+
+@Test
+public void testSetExpirationZeroOnMessageWithExistingExpiryTime() {
+Long timestamp = System.currentTimeMillis();
+
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+amqpMessageFacade.setExpiration(timestamp);
+
+amqpMessageFacade.setExpiration(0);
+
+assertNull(Expected absolute-expiry-time to be null, 
amqpMessageFacade.getAmqpMessage().getProperties().getAbsoluteExpiryTime());
+assertEquals(Expected no expiration, 0, 
amqpMessageFacade.getExpiration());
+}
+
 // == AMQP Message Facade copy() tests ===
 // ===
 


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



[6/6] git commit: add some tests for handling of Properties section group-id and reply-to-group-id

2014-10-07 Thread robbie
add some tests for handling of Properties section group-id and reply-to-group-id


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/4723c5a1
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/4723c5a1
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/4723c5a1

Branch: refs/heads/master
Commit: 4723c5a1f56fd536d44eb5f34bb127cdf2c929db
Parents: 6d55ce2
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 11:18:48 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 11:18:48 2014 +0100

--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 181 +++
 1 file changed, 181 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4723c5a1/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 3a75d1a..fe3ab20 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
@@ -404,6 +404,187 @@ public class AmqpJmsMessageFacadeTest {
 assertNull(underlying.getProperties());
 }
 
+// --- group-id field ---
+
+@Test
+public void testGetGroupIdIsNullForNewMessage()
+{
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+assertNull(expected GroupId to be null on new message, 
amqpMessageFacade.getGroupId());
+}
+
+/**
+ * Check that setting GroupId null on a new message does not cause 
creation of the underlying properties
+ * section. New messages lack the properties section section,
+ * as tested by {@link #testNewMessageHasNoUnderlyingPropertiesSection()}.
+ */
+@Test
+public void testSetGroupIdNullOnNewMessageDoesNotCreatePropertiesSection() 
throws Exception
+{
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+amqpMessageFacade.setGroupId(null);
+
+assertNull(properties section was created, 
amqpMessageFacade.getAmqpMessage().getProperties());
+}
+
+/**
+ * Check that setting GroupId on the message causes creation of the 
underlying properties
+ * section with the expected value. New messages lack the properties 
section section,
+ * as tested by {@link #testNewMessageHasNoUnderlyingPropertiesSection()}.
+ */
+@Test
+public void testSetGroupIdOnNewMessage() throws Exception
+{
+String groupId = testValue;
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+amqpMessageFacade.setGroupId(groupId);
+
+assertNotNull(properties section was not created, 
amqpMessageFacade.getAmqpMessage().getProperties());
+assertEquals(value was not set for GroupId as expected, groupId, 
amqpMessageFacade.getAmqpMessage().getProperties().getGroupId());
+
+assertEquals(value was not set for GroupId as expected, groupId, 
amqpMessageFacade.getGroupId());
+}
+
+/**
+ * Check that setting UserId null on the message causes any existing value 
to be cleared
+ */
+@Test
+public void testSetGroupIdNullOnMessageWithExistingGroupId() throws 
Exception
+{
+String groupId = testValue;
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+amqpMessageFacade.setGroupId(groupId);
+amqpMessageFacade.setGroupId(null);
+
+assertNull(value was not cleared for GroupId as expected, 
amqpMessageFacade.getAmqpMessage().getProperties().getGroupId());
+assertNull(value was not cleared for GroupId as expected, 
amqpMessageFacade.getGroupId());
+}
+
+// --- reply-to-group-id field ---
+
+/**
+ * Check that setting the ReplyToGroupId works on new messages without a 
properties
+ * properties section. New messages lack the properties section,
+ * as tested by {@link #testNewMessageHasNoUnderlyingPropertiesSection()}.
+ */
+@Test
+public void testGetReplyToGroupIdIsNullForNewMessage()
+{
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+assertNull(expected ReplyToGroupId to be null on new message, 
amqpMessageFacade.getReplyToGroupId());
+}
+
+/**
+ * Check that getting the ReplyToGroupId works on received messages 
without a properties section
+ */
+@Test
+public void testGetReplyToGroupIdWithReceivedMessageWithNoProperties()
+{
+Message 

[3/6] git commit: add some more header priority tests

2014-10-07 Thread robbie
add some more header priority tests


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/96443b98
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/96443b98
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/96443b98

Branch: refs/heads/master
Commit: 96443b98d9831c33919cb78147458174fe05534e
Parents: 5e237be
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 10:27:09 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 10:36:26 2014 +0100

--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 72 
 1 file changed, 72 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/96443b98/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 f7ea02c..5978070 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
@@ -321,6 +321,78 @@ public class AmqpJmsMessageFacadeTest {
 assertEquals(expected priority value not found, priority, 
underlying.getPriority());
 }
 
+/**
+ * Test that setting the Priority below the JMS range of 0-9 resuls in the 
underlying
+ * message field being populated with the value 0.
+ */
+@Test
+public void testSetPriorityBelowJmsRangeForNewMessage() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+amqpMessageFacade.setPriority(-1);
+
+assertEquals(expected priority value not found, 0, 
amqpMessageFacade.getPriority());
+
+Message underlying = amqpMessageFacade.getAmqpMessage();
+assertEquals(expected priority value not found, 0, 
underlying.getPriority());
+}
+
+/**
+ * Test that setting the Priority above the JMS range of 0-9 resuls in the 
underlying
+ * message field being populated with the value 9.
+ */
+@Test
+public void testSetPriorityAboveJmsRangeForNewMessage() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+amqpMessageFacade.setPriority(11);
+
+assertEquals(expected priority value not found, 9, 
amqpMessageFacade.getPriority());
+
+Message underlying = amqpMessageFacade.getAmqpMessage();
+assertEquals(expected priority value not found, 9, 
underlying.getPriority());
+}
+
+/**
+ * Test that setting the Priority to the default value on a message with no
+ * header section does not result in creating the header section.
+ */
+@Test
+public void testSetDefaultPriorityForMessageWithoutHeaderSection() {
+// Using a received message as new messages to send are set durable by 
default, which creates the header
+Message message = Proton.message();
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertNull(expected no header section to exist, message.getHeader());
+
+amqpMessageFacade.setPriority(Message.DEFAULT_PRIORITY);
+
+assertNull(expected no header section to exist, message.getHeader());
+assertEquals(expected priority to be default, 
Message.DEFAULT_PRIORITY, amqpMessageFacade.getPriority());
+}
+
+/**
+ * Receive message which has a header section with a priority value. 
Ensure the headers
+ * underlying field value is cleared when the priority is set to the 
default priority of 4.
+ */
+@Test
+public void 
testSetPriorityToDefaultOnReceivedMessageWithPriorityClearsPriorityField() {
+byte priority = 11;
+
+Message message = Proton.message();
+Header header = new Header();
+message.setHeader(header);
+header.setPriority(UnsignedByte.valueOf(priority));
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+amqpMessageFacade.setPriority(Message.DEFAULT_PRIORITY);
+
+//check the expected value is still returned
+assertEquals(expected priority value not returned, 
Message.DEFAULT_PRIORITY, amqpMessageFacade.getPriority());
+
+//check the underlying header field was actually cleared rather than 
set to Message.DEFAULT_PRIORITY
+Message underlying = amqpMessageFacade.getAmqpMessage();
+assertNull(underlying header priority field was not cleared, 
underlying.getHeader().getPriority());
+ 

[1/6] git commit: Update priority scaling to handle values above the signed byte range. Change methods to use int so facades see original value, contain any casting to within facade.

2014-10-07 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master c311a4218 - 4723c5a1f


Update priority scaling to handle values above the signed byte range. Change 
methods to use int so facades see original value, contain any casting to within 
facade.


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/5e237be5
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/5e237be5
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/5e237be5

Branch: refs/heads/master
Commit: 5e237be52d91909e489c6bed7296b90345779f2b
Parents: c311a42
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 10:16:45 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 10:16:45 2014 +0100

--
 .../org/apache/qpid/jms/message/JmsMessage.java |  2 +-
 .../jms/message/facade/JmsMessageFacade.java|  4 +--
 .../amqp/message/AmqpJmsMessageFacade.java  | 18 ++--
 .../JmsMessagePropertyIntercepterTest.java  |  8 +++---
 .../defaults/JmsDefaultMessageFacade.java   |  6 ++--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 30 
 6 files changed, 44 insertions(+), 24 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5e237be5/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
index 122c3ab..54ff011 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
@@ -235,7 +235,7 @@ public class JmsMessage implements javax.jms.Message {
 
 @Override
 public void setJMSPriority(int priority) throws JMSException {
-facade.setPriority((byte) priority);
+facade.setPriority(priority);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5e237be5/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
index 3bbea29..01be4d6 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
@@ -296,7 +296,7 @@ public interface JmsMessageFacade {
  *
  * @return the priority value assigned to this message.
  */
-byte getPriority();
+int getPriority();
 
 /**
  * Sets the message priority for this message using a JMS priority scoped 
value.
@@ -304,7 +304,7 @@ public interface JmsMessageFacade {
  * @param priority
  *the new priority value to set on this message.
  */
-void setPriority(byte priority);
+void setPriority(int priority);
 
 /**
  * Returns the set expiration time for this message.

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5e237be5/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 07079c1..c05f159 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
@@ -548,16 +548,15 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 }
 
 @Override
-public byte getPriority() {
+public int getPriority() {
 if (message.getHeader() != null) {
 UnsignedByte priority = message.getHeader().getPriority();
 if (priority != null) {
-byte scaled = priority.byteValue();
-if (scaled  0) {
-scaled = 0;
-} else if (scaled  9) {
+int scaled = priority.intValue();
+if (scaled  9) {
 scaled = 9;
 }
+
 return scaled;
 }
 }
@@ -566,7 +565,7 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 }
 
 @Override
-public void setPriority(byte priority) {
+public void setPriority(int priority) {
 if (priority == 

svn commit: r1629859 - /qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java

2014-10-07 Thread kwall
Author: kwall
Date: Tue Oct  7 11:24:36 2014
New Revision: 1629859

URL: http://svn.apache.org/r1629859
Log:
NO-JIRA: [Java Tests] Improve logging to help understand sporadically failed HA 
MultiNodeTest

Modified:

qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java

Modified: 
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java?rev=1629859r1=1629858r2=1629859view=diff
==
--- 
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
 (original)
+++ 
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
 Tue Oct  7 11:24:36 2014
@@ -1253,7 +1253,7 @@ public class ReplicatedEnvironmentFacade
 {
 if (LOGGER.isDebugEnabled())
 {
-LOGGER.debug(Setting permitted nodes to  + permittedNodes);
+LOGGER.debug(_prettyGroupNodeName +  permitted nodes set to  + 
permittedNodes);
 }
 
 _permittedNodes.clear();
@@ -1263,12 +1263,18 @@ public class ReplicatedEnvironmentFacade
 registerAppStateMonitorIfPermittedNodesSpecified();
 
 ReplicationGroupListener listener = 
_replicationGroupListener.get();
+int count = 0;
 for(ReplicationNode node: _remoteReplicationNodes.values())
 {
 if (!isNodePermitted(node))
 {
 onIntruder(listener, node);
 }
+count++;
+}
+if (LOGGER.isDebugEnabled())
+{
+LOGGER.debug(_prettyGroupNodeName +  checked   + count +  
node(s));
 }
 }
 }



-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



[2/4] git commit: update group sequence handling to match mapping doc, add separate method to clear group-sequence field without setting it to 0

2014-10-07 Thread robbie
update group sequence handling to match mapping doc, add separate method to 
clear group-sequence field without setting it to 0


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/9a5bee31
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/9a5bee31
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/9a5bee31

Branch: refs/heads/master
Commit: 9a5bee310fd0f411ead4a4fc5090c542d855d5d0
Parents: cbf2464
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 12:54:52 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 12:54:52 2014 +0100

--
 .../jms/message/facade/JmsMessageFacade.java|   5 +
 .../amqp/message/AmqpJmsMessageFacade.java  |  17 ++-
 .../defaults/JmsDefaultMessageFacade.java   |   5 +
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 115 +++
 4 files changed, 114 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9a5bee31/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
index 01be4d6..e442c62 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
@@ -416,4 +416,9 @@ public interface JmsMessageFacade {
  *the group sequence value to assign this message.
  */
 void setGroupSequence(int groupSequence);
+
+/**
+ * Clears the group sequence value for this message.
+ */
+void clearGroupSequence();
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9a5bee31/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 c05f159..be350c0 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
@@ -713,9 +713,10 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 @Override
 public int getGroupSequence() {
 if (message.getProperties() != null) {
-UnsignedInteger sequence = 
message.getProperties().getGroupSequence();
-if (sequence != null) {
-return sequence.intValue();
+UnsignedInteger groupSeqUint = 
message.getProperties().getGroupSequence();
+if (groupSeqUint != null) {
+// This wraps it into the negative int range if uint is over 
2^31-1
+return groupSeqUint.intValue();
 }
 }
 
@@ -724,10 +725,14 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 
 @Override
 public void setGroupSequence(int groupSequence) {
-if (groupSequence  0  message.getProperties() != null) {
+// This wraps it into the upper uint range if a negative was provided
+message.setGroupSequence(groupSequence);
+}
+
+@Override
+public void clearGroupSequence() {
+if (message.getProperties() != null) {
 message.getProperties().setGroupSequence(null);
-} else if (groupSequence  0) {
-message.setGroupSequence(groupSequence);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9a5bee31/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java
index 2b03987..547a6bc 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java
@@ -337,6 +337,11 @@ public class JmsDefaultMessageFacade implements 
JmsMessageFacade {
 this.groupSequence = groupSequence;
 }
 
+@Override
+public void clearGroupSequence() {
+this.groupSequence = 0;
+}
+
 private void lazyCreateProperties() {

[4/4] git commit: add TODO notes for later

2014-10-07 Thread robbie
add TODO notes for later


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/5c99fafa
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/5c99fafa
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/5c99fafa

Branch: refs/heads/master
Commit: 5c99fafafb6020a891027201961c9b924b282ff0
Parents: 1803e02
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 13:24:09 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 13:24:36 2014 +0100

--
 .../src/main/java/org/apache/qpid/jms/message/JmsMessage.java  | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5c99fafa/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
index 89f2604..ac2df52 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
@@ -242,6 +242,8 @@ public class JmsMessage implements javax.jms.Message {
 public void clearProperties() throws JMSException {
 facade.clearProperties();
 
+//TODO: Handle any other relevant JMSX properties.
+//TODO: Possibly push this to the facade or interceptors?
 //Clear property-defined values that are treated as facade-managed, 
such as GroupSequence.
 facade.clearGroupSequence();
 }


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



[3/4] git commit: ensure that clearing properties clears the property-defined group sequence value of the facade

2014-10-07 Thread robbie
ensure that clearing properties clears the property-defined group sequence 
value of the facade


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/1803e02b
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/1803e02b
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/1803e02b

Branch: refs/heads/master
Commit: 1803e02b5089496957431c9bca0be9c735eb260d
Parents: 9a5bee3
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 13:23:26 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 13:24:36 2014 +0100

--
 .../java/org/apache/qpid/jms/message/JmsMessage.java  |  3 +++
 .../org/apache/qpid/jms/message/JmsMessageTest.java   | 14 ++
 .../facade/defaults/JmsDefaultMessageFactory.java |  9 ++---
 3 files changed, 19 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1803e02b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
index 54ff011..89f2604 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
@@ -241,6 +241,9 @@ public class JmsMessage implements javax.jms.Message {
 @Override
 public void clearProperties() throws JMSException {
 facade.clearProperties();
+
+//Clear property-defined values that are treated as facade-managed, 
such as GroupSequence.
+facade.clearGroupSequence();
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1803e02b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
index 144cee8..9f46bc6 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
@@ -33,9 +33,11 @@ import javax.jms.MessageNotWriteableException;
 
 import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.JmsTopic;
+import org.apache.qpid.jms.message.facade.JmsMessageFacade;
 import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFactory;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mockito;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -272,6 +274,18 @@ public class JmsMessageTest {
 }
 
 @Test
+public void testClearPropertiesClearsFacadeGroupSequence() throws 
JMSException {
+JmsMessageFacade facade = Mockito.mock(JmsMessageFacade.class);
+JmsMessage msg = new JmsMessage(facade);
+
+Mockito.verify(facade, Mockito.never()).clearGroupSequence();
+
+msg.clearProperties();
+
+Mockito.verify(facade).clearGroupSequence();
+}
+
+@Test
 public void testPropertyExists() throws JMSException {
 JmsMessage msg = factory.createMessage();
 msg.setStringProperty(test, test);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1803e02b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFactory.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFactory.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFactory.java
index 2e8aa0b..2c91bad 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFactory.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFactory.java
@@ -29,13 +29,8 @@ import org.apache.qpid.jms.message.JmsStreamMessage;
 import org.apache.qpid.jms.message.JmsTextMessage;
 
 /**
- * Default implementation of the ProviderMessageFactory that create simple
- * generic javax.jms.Message types that can be sent to any Provider instance.
- *
- * TODO: Once the AMQP Message Facade stuff is done we should move this factory
- *   and the default JmsMessageFacade implementations into the test package
- *   since their primary use will be to test the JMS spec compliance of the
- *   JmsMessage classes.
+ * Implementation of the JmsMessageFactory that create simple
+ * javax.jms.Message instances with test facades.
  */
 public class 

[1/4] git commit: update JMSXGroupSeq interceptor propertyExists handling

2014-10-07 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master 4723c5a1f - 5c99fafaf


update JMSXGroupSeq interceptor propertyExists handling


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

Branch: refs/heads/master
Commit: cbf246415cae13176aad9ac565e462ce95eaf784
Parents: 4723c5a
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 12:22:41 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 12:22:41 2014 +0100

--
 .../org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java | 2 +-
 .../apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbf24641/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
index 9f703a0..299bfb4 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
@@ -386,7 +386,7 @@ public class JmsMessagePropertyIntercepter {
 
 @Override
 public boolean propertyExists(JmsMessageFacade message) {
-return message.getGroupId() != null;
+return message.getGroupSequence() != 0;
 }
 });
 PROPERTY_INTERCEPTERS.put(JMSX_USERID, new PropertyIntercepter() {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbf24641/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
index e9ad243..96ade98 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
@@ -572,7 +572,7 @@ public class JmsMessagePropertyIntercepterTest {
 @Test
 public void testJMSXGroupSeqInGetPropertyNamesWhenSet() throws 
JMSException {
 JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
-Mockito.when(message.getGroupId()).thenReturn(GROUP_ID);
+Mockito.when(message.getGroupSequence()).thenReturn(1);
 
assertTrue(JmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMSX_GROUPSEQ));
 }
 


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



git commit: add tests for Properties section user-id field, update setUserId to handle null

2014-10-07 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master 5c99fafaf - 4d463bbb0


add tests for Properties section user-id field, update setUserId to handle null


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/4d463bbb
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/4d463bbb
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/4d463bbb

Branch: refs/heads/master
Commit: 4d463bbb0da4f8af81e0919539c223739061b6df
Parents: 5c99faf
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 14:51:50 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 14:55:16 2014 +0100

--
 .../amqp/message/AmqpJmsMessageFacade.java  |  7 ++-
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 62 +++-
 2 files changed, 67 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4d463bbb/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 be350c0..726665c 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
@@ -697,7 +697,12 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 
 @Override
 public void setUserId(String userId) {
-message.setUserId(userId.getBytes(UTF8));
+byte[] bytes = null;
+if (userId != null) {
+bytes = userId.getBytes(UTF8);
+}
+
+message.setUserId(bytes);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4d463bbb/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 0dfbc25..58707ac 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
@@ -29,6 +29,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 import java.nio.ByteBuffer;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -575,7 +576,6 @@ public class AmqpJmsMessageFacadeTest {
 assertEquals(expected ReplyToGroupId on message was not found, 
replyToGroupId, amqpMessageFacade.getReplyToGroupId());
 }
 
-//TODO: marker
 // --- group-sequence field ---
 
 @Test
@@ -1088,6 +1088,66 @@ public class AmqpJmsMessageFacadeTest {
 assertEquals(Expected no expiration, 0, 
amqpMessageFacade.getExpiration());
 }
 
+// --- user-id field  ---
+
+@Test
+public void testGetUserIdIsNullForNewMessage() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+assertNull(expected userid to be null on new message, 
amqpMessageFacade.getUserId());
+}
+
+@Test
+public void testGetUserIdOnReceievedMessage() throws Exception {
+String userIdString = testValue;
+byte[] bytes = userIdString.getBytes(UTF-8);
+
+Message message = Proton.message();
+
+Properties props = new Properties();
+props.setUserId(new Binary(bytes));
+message.setProperties(props);
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertNotNull(Expected a userid on received message, 
amqpMessageFacade.getUserId());
+assertEquals(Incorrect messageId value received, userIdString, 
amqpMessageFacade.getUserId());
+}
+
+/**
+ * Check that setting UserId on the message causes creation of the 
underlying properties
+ * section with the expected value. New messages lack the properties 
section section,
+ * as tested by {@link #testNewMessageHasNoUnderlyingPropertiesSection()}.
+ */
+@Test
+public void testSetUserIdOnNewMessage() throws Exception {
+String userIdString = testValue;
+byte[] bytes = userIdString.getBytes(UTF-8);
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+

[3/3] git commit: add some tests for handling of MessageAnnotations section

2014-10-07 Thread robbie
add some tests for handling of MessageAnnotations section


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/9e3d5608
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/9e3d5608
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/9e3d5608

Branch: refs/heads/master
Commit: 9e3d5608ea2b641903d76f2f9bdb5b430b51d1e2
Parents: 53d91fb
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 17:47:54 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 17:47:54 2014 +0100

--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 152 +++
 1 file changed, 152 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9e3d5608/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 efa430f..5d14897 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
@@ -1230,6 +1230,158 @@ public class AmqpJmsMessageFacadeTest {
 assertNull(userid not as expected, amqpMessageFacade.getUserId());
 }
 
+// == AMQP Message Annotations ===
+// ===
+
+@Test
+public void 
testNewMessageHasUnderlyingMessageAnnotationsSectionWithTypeAnnotation() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();;
+
+Message underlying = amqpMessageFacade.getAmqpMessage();
+assertNotNull(underlying.getMessageAnnotations());
+Symbol annotationKey = 
AmqpMessageSupport.getSymbol(AmqpMessageSupport.JMS_MSG_TYPE);
+assertEquals(AmqpMessageSupport.JMS_MESSAGE, 
underlying.getMessageAnnotations().getValue().get(annotationKey));
+}
+
+@Test
+public void 
testMessageAnnotationExistsUsingReceivedMessageWithoutMessageAnnotationsSection()
 {
+String symbolKeyName = myTestSymbolName;
+
+Message message = Proton.message();
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertFalse(amqpMessageFacade.messageAnnotationExists(symbolKeyName));
+}
+
+@Test
+public void 
testMessageAnnotationExistsUsingReceivedMessageWithMessageAnnotationsSection() {
+String symbolKeyName = myTestSymbolName;
+String value = myTestValue;
+
+Message message = Proton.message();
+
+MapSymbol, Object annotationsMap = new HashMapSymbol, Object();
+annotationsMap.put(Symbol.valueOf(symbolKeyName), value);
+message.setMessageAnnotations(new MessageAnnotations(annotationsMap));
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertTrue(amqpMessageFacade.messageAnnotationExists(symbolKeyName));
+assertFalse(amqpMessageFacade.messageAnnotationExists(otherName));
+}
+
+@Test
+public void 
testGetMessageAnnotationUsingReceivedMessageWithoutMessageAnnotationsSection() {
+String symbolKeyName = myTestSymbolName;
+
+Message message = Proton.message();
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertNull(amqpMessageFacade.getMessageAnnotation(symbolKeyName));
+}
+
+@Test
+public void testGetMessageAnnotationUsingReceivedMessage() {
+String symbolKeyName = myTestSymbolName;
+String value = myTestValue;
+
+Message message = Proton.message();
+
+MapSymbol, Object annotationsMap = new HashMapSymbol, Object();
+annotationsMap.put(Symbol.valueOf(symbolKeyName), value);
+message.setMessageAnnotations(new MessageAnnotations(annotationsMap));
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertEquals(value, 
amqpMessageFacade.getMessageAnnotation(symbolKeyName));
+assertNull(amqpMessageFacade.getMessageAnnotation(otherName));
+}
+
+@Test
+public void testSetMessageAnnotationsOnNewMessage() {
+String symbolKeyName = myTestSymbolName;
+String symbolKeyName2 = myTestSymbolName2;
+String value = myTestValue;
+
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+// check setting first annotation
+

[2/3] git commit: rename MessageAnnotation related methods/fields for clarity

2014-10-07 Thread robbie
rename MessageAnnotation related methods/fields for clarity


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/53d91fb4
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/53d91fb4
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/53d91fb4

Branch: refs/heads/master
Commit: 53d91fb41f8f843d14962fa6c27a6fd37f4f3995
Parents: fe79024
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 17:34:17 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 17:40:51 2014 +0100

--
 .../amqp/message/AmqpDestinationHelper.java | 12 +--
 .../amqp/message/AmqpJmsBytesMessageFacade.java |  2 +-
 .../amqp/message/AmqpJmsMapMessageFacade.java   |  2 +-
 .../amqp/message/AmqpJmsMessageFacade.java  | 80 ++--
 .../message/AmqpJmsObjectMessageFacade.java |  2 +-
 .../message/AmqpJmsStreamMessageFacade.java |  2 +-
 .../amqp/message/AmqpJmsTextMessageFacade.java  |  2 +-
 .../amqp/message/AmqpDestinationHelperTest.java | 60 +++
 .../amqp/message/AmqpJmsMessageFacadeTest.java  |  2 +-
 9 files changed, 82 insertions(+), 82 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/53d91fb4/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 d1ebd8a..d492108 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
@@ -105,7 +105,7 @@ public class AmqpDestinationHelper {
 
 public JmsDestination getJmsDestination(AmqpJmsMessageFacade message, 
JmsDestination consumerDestination) {
 String to = message.getToAddress();
-String toTypeString = (String) 
message.getAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+String toTypeString = (String) 
message.getMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
 SetString typeSet = null;
 
 if (toTypeString != null) {
@@ -117,7 +117,7 @@ public class AmqpDestinationHelper {
 
 public JmsDestination getJmsReplyTo(AmqpJmsMessageFacade message, 
JmsDestination consumerDestination) {
 String replyTo = message.getReplyToAddress();
-String replyToTypeString = (String) 
message.getAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+String replyToTypeString = (String) 
message.getMessageAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
 SetString typeSet = null;
 
 if (replyToTypeString != null) {
@@ -173,9 +173,9 @@ public class AmqpDestinationHelper {
 message.setToAddress(address);
 
 if (address == null || typeString == null) {
-message.removeAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+
message.removeMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
 } else {
-message.setAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, 
typeString);
+message.setMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, 
typeString);
 }
 }
 
@@ -186,9 +186,9 @@ public class AmqpDestinationHelper {
 message.setReplyToAddress(replyToAddress);
 
 if (replyToAddress == null || typeString == null) {
-message.removeAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+
message.removeMessageAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
 } else {
-message.setAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, 
typeString);
+
message.setMessageAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, 
typeString);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/53d91fb4/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 e4aebf2..7ab8d4a 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
@@ -62,7 +62,7 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
 public 

[1/3] git commit: add some tests for handling of Properties section to and reply-to fields

2014-10-07 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master 4d463bbb0 - 9e3d5608e


add some tests for handling of Properties section to and reply-to fields


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

Branch: refs/heads/master
Commit: fe79024294b9b161d506d3275762e8b93de975d6
Parents: 4d463bb
Author: Robert Gemmell rob...@apache.org
Authored: Tue Oct 7 17:18:12 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Tue Oct 7 17:18:12 2014 +0100

--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 82 
 1 file changed, 82 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe790242/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 58707ac..963fefd 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
@@ -37,6 +37,8 @@ import java.util.UUID;
 
 import javax.jms.JMSException;
 import javax.jms.MessageFormatException;
+import javax.jms.Queue;
+import javax.jms.Topic;
 
 import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.JmsQueue;
@@ -656,6 +658,86 @@ public class AmqpJmsMessageFacadeTest {
 assertEquals(GroupSequence should be 0, 0, 
amqpMessageFacade.getGroupSequence());
 }
 
+// --- to field ---
+
+// Basic test to see things are wired up at all. See {@link 
AmqpDestinationHelperTest}
+// for more comprehensive testing of the underlying bits.
+
+@Test
+public void testSetGetDestination() {
+String testToAddress = myTestAddress;
+JmsTopic dest = new JmsTopic(testToAddress);
+
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+Message underlyingMessage = amqpMessageFacade.getAmqpMessage();
+assertNull(underlyingMessage.getAddress());
+
+amqpMessageFacade.setDestination(dest);
+
+assertNotNull(underlyingMessage.getAddress());
+assertEquals(testToAddress, underlyingMessage.getAddress());
+assertEquals(dest, amqpMessageFacade.getDestination());
+}
+
+@Test
+public void testGetDestinationWithReceivedMessage() throws JMSException {
+String testToAddress = myTestAddress;
+
+Message message = Proton.message();
+
+Properties props = new Properties();
+props.setTo(testToAddress);
+message.setProperties(props);
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+JmsDestination dest = amqpMessageFacade.getDestination();
+//We didn't set any destination type annotations, so the consumer 
destination type will be used: a topic.
+assertTrue(dest instanceof Topic);
+assertEquals(testToAddress, ((Topic) dest).getTopicName());
+}
+
+// --- reply-to field ---
+
+// Basic test to see things are wired up at all. See {@link 
AmqpDestinationHelperTest}
+// for more comprehensive testing of the underlying bits.
+
+@Test
+public void testSetGetReplyTo() {
+String testReplyToAddress = myTestReplyTo;
+JmsTopic dest = new JmsTopic(testReplyToAddress);
+
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+Message underlyingMessage = amqpMessageFacade.getAmqpMessage();
+assertNull(underlyingMessage.getReplyTo());
+
+amqpMessageFacade.setReplyTo(dest);
+
+assertNotNull(underlyingMessage.getReplyTo());
+assertEquals(testReplyToAddress, underlyingMessage.getReplyTo());
+assertEquals(dest, amqpMessageFacade.getReplyTo());
+}
+
+@Test
+public void testGetReplyToWithReceivedMessage() throws JMSException {
+String testReplyToAddress = myTestReplyTo;
+
+Message message = Proton.message();
+
+Properties props = new Properties();
+props.setReplyTo(testReplyToAddress);
+message.setProperties(props);
+
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+JmsDestination dest = amqpMessageFacade.getReplyTo();
+//We didn't set any destination type annotations, so the consumer 
destination type will 

git commit: Add full test coverage for the classes in jms.meta and enforce that id values cannot be null on creation plus fix a few other minor issues.

2014-10-07 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 9e3d5608e - 6973cb51d


Add full test coverage for the classes in jms.meta and enforce that id
values cannot be null on creation plus fix a few other minor issues. 

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/6973cb51
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6973cb51
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6973cb51

Branch: refs/heads/master
Commit: 6973cb51db39ade0e741580dc15bbc11eafa5f98
Parents: 9e3d560
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 15:50:07 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 15:50:15 2014 -0400

--
 .../apache/qpid/jms/meta/JmsConnectionId.java   |  23 ++-
 .../apache/qpid/jms/meta/JmsConnectionInfo.java |  14 +-
 .../org/apache/qpid/jms/meta/JmsConsumerId.java |  32 +++-
 .../apache/qpid/jms/meta/JmsConsumerInfo.java   |  16 +-
 .../org/apache/qpid/jms/meta/JmsProducerId.java |  22 ++-
 .../apache/qpid/jms/meta/JmsProducerInfo.java   |  18 +-
 .../org/apache/qpid/jms/meta/JmsSessionId.java  |  25 ++-
 .../apache/qpid/jms/meta/JmsSessionInfo.java|  50 +-
 .../apache/qpid/jms/meta/JmsTransactionId.java  |   9 +-
 .../qpid/jms/meta/JmsTransactionInfo.java   |  25 ++-
 .../qpid/jms/meta/JmsConnectionIdTest.java  | 167 ++
 .../qpid/jms/meta/JmsConnectionInfoTest.java| 155 +
 .../apache/qpid/jms/meta/JmsConsumerIdTest.java | 161 ++
 .../qpid/jms/meta/JmsConsumerInfoTest.java  | 168 +++
 .../jms/meta/JmsDefaultResourceVisitorTest.java |  56 +++
 .../apache/qpid/jms/meta/JmsProducerIdTest.java | 161 ++
 .../qpid/jms/meta/JmsProducerInfoTest.java  | 142 
 .../apache/qpid/jms/meta/JmsSessionIdTest.java  | 163 ++
 .../qpid/jms/meta/JmsSessionInfoTest.java   | 154 +
 .../qpid/jms/meta/JmsTransactionIdTest.java | 117 +
 .../qpid/jms/meta/JmsTransactionInfoTest.java   | 138 +++
 21 files changed, 1765 insertions(+), 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6973cb51/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionId.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionId.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionId.java
index 679b3b7..8af99d3 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionId.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionId.java
@@ -21,22 +21,42 @@ public final class JmsConnectionId extends 
JmsAbstractResourceId implements Comp
 private final String value;
 
 public JmsConnectionId(String connectionId) {
+if (connectionId == null || connectionId.isEmpty()) {
+throw new IllegalArgumentException(Connection ID cannot be null 
or empty);
+}
+
 this.value = connectionId;
 }
 
 public JmsConnectionId(JmsConnectionId id) {
+if (id == null) {
+throw new IllegalArgumentException(Connection ID cannot be null);
+}
+
 this.value = id.getValue();
 }
 
 public JmsConnectionId(JmsSessionId id) {
+if (id == null) {
+throw new IllegalArgumentException(Session ID cannot be null);
+}
+
 this.value = id.getConnectionId();
 }
 
 public JmsConnectionId(JmsProducerId id) {
+if (id == null) {
+throw new IllegalArgumentException(Producer ID cannot be null);
+}
+
 this.value = id.getConnectionId();
 }
 
 public JmsConnectionId(JmsConsumerId id) {
+if (id == null) {
+throw new IllegalArgumentException(Consumer ID cannot be null);
+}
+
 this.value = id.getConnectionId();
 }
 
@@ -47,7 +67,8 @@ public final class JmsConnectionId extends 
JmsAbstractResourceId implements Comp
 @Override
 public int hashCode() {
 if (hashCode == 0) {
-hashCode = value.hashCode();
+hashCode = 1;
+hashCode = 31 * hashCode + value.hashCode();
 }
 return hashCode;
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6973cb51/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionInfo.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionInfo.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConnectionInfo.java
index d5e7677..4d42b10 100644
--- 

git commit: Add unit test

2014-10-07 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 6973cb51d - 6ed98ed91


Add unit test

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/6ed98ed9
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6ed98ed9
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6ed98ed9

Branch: refs/heads/master
Commit: 6ed98ed91055cc6c67a3dddb88257f1b7d7b153f
Parents: 6973cb5
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 16:15:06 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 16:15:06 2014 -0400

--
 .../org/apache/qpid/jms/util/StopWatchTest.java | 73 
 1 file changed, 73 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6ed98ed9/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java
new file mode 100644
index 000..09e51fa
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java
@@ -0,0 +1,73 @@
+/**
+ * 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.util;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ */
+public class StopWatchTest extends TestCase {
+
+public void testStopWatch() throws Exception {
+StopWatch watch = new StopWatch();
+Thread.sleep(200);
+long taken = watch.stop();
+
+assertEquals(taken, watch.taken());
+assertTrue(Should take approx 200 millis, was:  + taken, taken  
150);
+}
+
+public void testStopWatchNotStarted() throws Exception {
+StopWatch watch = new StopWatch(false);
+long taken = watch.stop();
+assertEquals(0, taken);
+
+watch.restart();
+Thread.sleep(200);
+taken = watch.stop();
+
+assertEquals(taken, watch.taken());
+assertTrue(Should take approx 200 millis, was:  + taken, taken  
150);
+}
+
+public void testStopWatchRestart() throws Exception {
+StopWatch watch = new StopWatch();
+Thread.sleep(200);
+long taken = watch.stop();
+
+assertEquals(taken, watch.taken());
+assertTrue(Should take approx 200 millis, was:  + taken, taken  
150);
+
+watch.restart();
+Thread.sleep(100);
+taken = watch.stop();
+
+assertEquals(taken, watch.taken());
+assertTrue(Should take approx 100 millis, was:  + taken, taken  50);
+}
+
+public void testStopWatchTaken() throws Exception {
+StopWatch watch = new StopWatch();
+Thread.sleep(100);
+long taken = watch.taken();
+Thread.sleep(100);
+long taken2 = watch.taken();
+assertNotSame(taken, taken2);
+assertTrue(taken2  taken);
+}
+}
\ No newline at end of file


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



git commit: More unit tests for util classes

2014-10-07 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 6ed98ed91 - e5fbb3b27


More unit tests for util classes

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

Branch: refs/heads/master
Commit: e5fbb3b27dd685af1b42bb21214092e45220cb34
Parents: 6ed98ed
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 16:37:43 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 16:37:43 2014 -0400

--
 .../qpid/jms/util/IOExceptionSupportTest.java   | 60 
 .../org/apache/qpid/jms/util/LRUCacheTest.java  |  8 +++
 2 files changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e5fbb3b2/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java
new file mode 100644
index 000..1bf6b08
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java
@@ -0,0 +1,60 @@
+/**
+ * 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.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
+import java.io.IOException;
+
+import org.junit.Test;
+
+/**
+ *
+ */
+public class IOExceptionSupportTest {
+
+@Test
+public void test() {
+new IOExceptionSupport();
+}
+
+@Test
+public void testPassthrough() {
+IOException cause = new IOException();
+assertSame(cause, IOExceptionSupport.create(cause));
+}
+
+@Test
+public void testCreateWithMessage() {
+IOException ex = IOExceptionSupport.create(new 
RuntimeException(error));
+assertEquals(error, ex.getMessage());
+}
+
+@Test
+public void testCreateWithoutMessage() {
+IOException ex = IOExceptionSupport.create(new RuntimeException());
+assertNotNull(ex.getMessage());
+}
+
+@Test
+public void testCreateWithEmptyMessage() {
+IOException ex = IOExceptionSupport.create(new RuntimeException());
+assertNotNull(ex.getMessage());
+}
+}

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e5fbb3b2/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java
index ce3b08e..43fd146 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java
@@ -32,6 +32,14 @@ public class LRUCacheTest {
 protected static final Logger LOG = 
LoggerFactory.getLogger(LRUCacheTest.class);
 
 @Test
+public void testLRUCache() {
+LRUCacheLong, Long underTest = new LRUCacheLong, Long();
+assertEquals(1, underTest.getMaxCacheSize());
+underTest.setMaxCacheSize(1000);
+assertEquals(1000, underTest.getMaxCacheSize());
+}
+
+@Test
 public void testResize() throws Exception {
 LRUCacheLong, Long underTest = new LRUCacheLong, Long(1000);
 


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



git commit: Additional tests for dequeue

2014-10-07 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master e5fbb3b27 - cbded4573


Additional tests for dequeue

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

Branch: refs/heads/master
Commit: cbded4573339e004a35e9f979a5a3b8eeac8a7de
Parents: e5fbb3b
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 17:12:03 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 17:12:03 2014 -0400

--
 .../qpid/jms/util/PriorityMessageQueueTest.java | 67 
 1 file changed, 67 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbded457/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
index ee0b4b9..e0fee32 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
@@ -98,6 +98,28 @@ public class PriorityMessageQueueTest {
 }
 
 @Test
+public void testDequeueWhenQueueIsNotEmpty() throws InterruptedException {
+JmsInboundMessageDispatch message = createEnvelope();
+queue.enqueueFirst(message);
+assertFalse(queue.isEmpty());
+assertSame(message, queue.dequeue(1L));
+}
+
+@Test
+public void testDequeueZeroWhenQueueIsNotEmpty() throws 
InterruptedException {
+JmsInboundMessageDispatch message = createEnvelope();
+queue.enqueueFirst(message);
+assertFalse(queue.isEmpty());
+assertSame(message, queue.dequeue(0));
+}
+
+@Test
+public void testDequeueZeroWhenQueueIsEmpty() throws InterruptedException {
+assertTrue(queue.isEmpty());
+assertSame(null, queue.dequeue(0));
+}
+
+@Test
 public void testDequeueWhenQueueIsStopped() throws InterruptedException {
 JmsInboundMessageDispatch message = createEnvelope();
 queue.enqueueFirst(message);
@@ -271,6 +293,51 @@ public class PriorityMessageQueueTest {
 assertSame(message, queue.dequeue(-1));
 }
 
+@Test
+public void testDequeueTimedWaitsUntilMessageArrives() throws 
InterruptedException {
+final JmsInboundMessageDispatch message = createEnvelope();
+Thread runner = new Thread(new Runnable() {
+
+@Override
+public void run() {
+try {
+TimeUnit.SECONDS.sleep(2);
+} catch (InterruptedException e) {
+}
+queue.enqueueFirst(message);
+}
+});
+runner.start();
+
+assertSame(message, queue.dequeue(1));
+}
+
+@Test
+public void testDequeueWaitsUntilMessageArrivesWhenLockNotified() throws 
InterruptedException {
+final JmsInboundMessageDispatch message = createEnvelope();
+Thread runner = new Thread(new Runnable() {
+
+@Override
+public void run() {
+try {
+TimeUnit.SECONDS.sleep(2);
+} catch (InterruptedException e) {
+}
+synchronized (queue.getLock()) {
+queue.getLock().notify();
+}
+try {
+TimeUnit.SECONDS.sleep(1);
+} catch (InterruptedException e) {
+}
+queue.enqueueFirst(message);
+}
+});
+runner.start();
+
+assertSame(message, queue.dequeue(-1));
+}
+
 private ListJmsInboundMessageDispatch createFullRangePrioritySet() {
 ListJmsInboundMessageDispatch messages = new 
ArrayListJmsInboundMessageDispatch();
 for (int i = 0; i  10; ++i) {


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org



[3/3] git commit: Add basic test of JmsConnection using mocked provider to test the basic contracts of the object are honored.

2014-10-07 Thread tabish
Add basic test of JmsConnection using mocked provider to test the basic
contracts of the object are honored. 

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

Branch: refs/heads/master
Commit: f315bd30948e8facd4e1ec553a084a6cd7a64494
Parents: b53f965
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 18:46:45 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 18:46:45 2014 -0400

--
 .../org/apache/qpid/jms/JmsConnectionTest.java  | 97 
 1 file changed, 97 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f315bd30/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
new file mode 100644
index 000..b5700be
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
@@ -0,0 +1,97 @@
+/**
+ * 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;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.net.URI;
+
+import javax.jms.JMSException;
+
+import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
+import org.apache.qpid.jms.provider.Provider;
+import org.apache.qpid.jms.util.IdGenerator;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+/**
+ * Test basic functionality around JmsConnection
+ */
+public class JmsConnectionTest {
+
+private final Provider provider = Mockito.mock(Provider.class);
+private final IdGenerator clientIdGenerator = new IdGenerator();
+
+@Test(expected=JMSException.class)
+public void testJmsConnectionThrowsJMSExceptionProviderStartFails() throws 
JMSException, IllegalStateException, IOException {
+Mockito.doThrow(IOException.class).when(provider).start();
+new JmsConnection(ID:TEST:1, provider, clientIdGenerator);
+}
+
+@Test
+public void testGetProvider() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+assertSame(provider, connection.getProvider());
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testSetClientIdWithNull() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.setClientID(null);
+}
+
+@Test
+public void testGetConnectionId() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+assertEquals(ID:TEST:1, connection.getConnectionId().toString());
+}
+
+@Test
+public void testAddConnectionListener() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+JmsConnectionListener listener = new JmsConnectionListener() {
+
+@Override
+public void onMessage(JmsInboundMessageDispatch envelope) {
+}
+
+@Override
+public void onConnectionRestored(URI remoteURI) {
+}
+
+@Override
+public void onConnectionInterrupted(URI remoteURI) {
+}
+
+@Override
+public void onConnectionFailure(Throwable error) {
+}
+
+@Override
+public void onConnectionEstablished(URI remoteURI) {
+}
+};
+
+assertFalse(connection.removeConnectionListener(listener));
+connection.addConnectionListener(listener);
+

[1/3] git commit: Cover some additional code paths.

2014-10-07 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master cbded4573 - f315bd309


Cover some additional code paths.

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/936098ec
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/936098ec
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/936098ec

Branch: refs/heads/master
Commit: 936098ec5ebc8f577d5fd5c29150fddae9d7dff6
Parents: cbded45
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 17:58:32 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 17:58:32 2014 -0400

--
 .../apache/qpid/jms/util/PropertyUtilTest.java  | 76 +++-
 1 file changed, 73 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/936098ec/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java
index feb14a7..38bb946 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java
@@ -65,7 +65,7 @@ public class PropertyUtilTest {
 private URI uriValue;
 private SSLContext context;
 
-private final Embedded embedded = new Embedded();
+private Embedded embedded = new Embedded();
 
 public Options() {
 }
@@ -115,28 +115,49 @@ public class PropertyUtilTest {
 return booleanValue;
 }
 
-public URI getUriValue() {
+public URI getURIValue() {
 return uriValue;
 }
 
-public URL getUrlValue() {
+public void setURIValue(URI uriValue) {
+this.uriValue = uriValue;
+}
+
+public URL getURLValue() {
 return urlValue;
 }
 
+public void setURLValue(URL urlValue) {
+this.urlValue = urlValue;
+}
+
 public SSLContext getSSLContext() {
 return context;
 }
 
+public void setSSLContext(SSLContext context) {
+this.context = context;
+}
+
 public Embedded getEmbedded() {
 return embedded;
 }
 
+public void setEmbedded(Embedded embedded) {
+this.embedded = embedded;
+}
+
 public void setNotReadable(String value) {
 this.notReadable = value;
 }
 }
 
 @Test
+public void test() {
+new PropertyUtil();
+}
+
+@Test
 public void testReplaceQueryUsingMap() throws URISyntaxException {
 URI original = new URI(http://www.example.com?option=true;);
 
@@ -426,6 +447,48 @@ public class PropertyUtilTest {
 }
 
 @Test
+public void testGetPropertiesHandlesURIs() throws Exception {
+Options configObject = new Options(foo, bar);
+
+configObject.setURIValue(new URI(test://test));
+
+MapString, String properties = 
PropertyUtil.getProperties(configObject);
+
+assertFalse(properties.isEmpty());
+assertEquals(foo, properties.get(firstName));
+assertEquals(bar, properties.get(lastName));
+assertEquals(test://test, properties.get(URIValue));
+}
+
+@Test
+public void testGetPropertiesHandlesURLs() throws Exception {
+Options configObject = new Options(foo, bar);
+
+configObject.setURLValue(new URL(http://www.domain.com;));
+
+MapString, String properties = 
PropertyUtil.getProperties(configObject);
+
+assertFalse(properties.isEmpty());
+assertEquals(foo, properties.get(firstName));
+assertEquals(bar, properties.get(lastName));
+assertEquals(http://www.domain.com;, properties.get(URLValue));
+}
+
+@Test
+public void testGetPropertiesIgnoresSSLContext() throws Exception {
+Options configObject = new Options(foo, bar);
+
+configObject.setSSLContext(SSLContext.getDefault());
+MapString, String properties = 
PropertyUtil.getProperties(configObject);
+
+assertFalse(properties.isEmpty());
+assertEquals(foo, properties.get(firstName));
+assertEquals(bar, properties.get(lastName));
+
+assertFalse(properties.containsKey(sslContext));
+}
+
+@Test
 public void testGetProperty() throws Exception {
 Options configObject = new Options(foo, bar);
 Object result = PropertyUtil.getProperty(configObject, firstName);
@@ -456,6 +519,13 @@ public class PropertyUtilTest {
 }
 
 @Test
+public void testSetPropertyOfURI() throws Exception {
+Options configObject = new 

[2/3] git commit: Fix method name to match the add variant.

2014-10-07 Thread tabish
Fix method name to match the add variant.

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

Branch: refs/heads/master
Commit: b53f9658da2599b8901662f60ef8d246e37d27c7
Parents: 936098e
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 7 18:40:00 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 7 18:40:00 2014 -0400

--
 .../src/main/java/org/apache/qpid/jms/JmsConnection.java   | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b53f9658/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
index 2d49c48..8164049 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
@@ -796,9 +796,11 @@ public class JmsConnection implements Connection, 
TopicConnection, QueueConnecti
  *
  * @param listener
  *the listener to remove from the collection.
+ *
+ * @return true if the given listener was removed from the current set.
  */
-public void removeTransportListener(JmsConnectionListener listener) {
-this.connectionListeners.remove(listener);
+public boolean removeConnectionListener(JmsConnectionListener listener) {
+return this.connectionListeners.remove(listener);
 }
 
 public boolean isForceAsyncSend() {


-
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org