[2/6] git commit: enable ignored test now that functionality is implemented
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
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
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
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.
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
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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.
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.
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