git commit: Start a bit of cleanup around delivery / redelivery count, keep all logic in the facade and just call into it from property intercepter and JMS message objects.

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master cd51c357f - 19b378bee


Start a bit of cleanup around delivery / redelivery count, keep all
logic in the facade and just call into it from property intercepter and
JMS message objects.

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

Branch: refs/heads/master
Commit: 19b378bee95c6fa62874790e4280596cafdf8aa4
Parents: cd51c35
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 12:15:14 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 12:15:14 2014 -0400

--
 .../org/apache/qpid/jms/message/JmsMessage.java | 12 ++--
 .../message/JmsMessagePropertyIntercepter.java  |  4 ++--
 .../jms/message/facade/JmsMessageFacade.java| 20 ++--
 .../defaults/JmsDefaultMessageFacade.java   | 18 ++
 .../amqp/message/AmqpJmsMessageFacade.java  | 20 +++-
 .../JmsMessagePropertyIntercepterTest.java  | 12 ++--
 .../amqp/message/AmqpJmsMessageFacadeTest.java  |  4 ++--
 7 files changed, 59 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/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 a914204..180a2b7 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
@@ -553,7 +553,7 @@ public class JmsMessage implements javax.jms.Message {
 }
 
 public void incrementRedeliveryCount() {
- facade.setRedeliveryCounter(facade.getRedeliveryCounter() + 1);
+ facade.setRedeliveryCount(facade.getRedeliveryCount() + 1);
 }
 
 public JmsMessageFacade getFacade() {
@@ -565,15 +565,7 @@ public class JmsMessage implements javax.jms.Message {
 }
 
 public void setRedelivered(boolean redelivered) throws JMSException {
-if (redelivered) {
-if (!isRedelivered()) {
-facade.setRedeliveryCounter(1);
-}
-} else {
-if (isRedelivered()) {
-facade.setRedeliveryCounter(0);
-}
-}
+facade.setRedelivered(redelivered);
 }
 
 protected void checkReadOnlyProperties() throws 
MessageNotWriteableException {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/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 123f04d..d8295c5 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
@@ -108,12 +108,12 @@ public class JmsMessagePropertyIntercepter {
 if (rc == null) {
 throw new JMSException(Property JMSXDeliveryCount cannot 
be set from a  + value.getClass().getName() + .);
 }
-message.setRedeliveryCounter(rc.intValue() - 1);
+message.setDeliveryCount(rc.intValue());
 }
 
 @Override
 public Object getProperty(JmsMessageFacade message) throws 
JMSException {
-return Integer.valueOf(message.getRedeliveryCounter() + 1);
+return Integer.valueOf(message.getDeliveryCount());
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/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 fb998dc..3dd174b 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
@@ -213,12 +213,28 @@ public interface JmsMessageFacade {
 void setPersistent(boolean value);
 
 /**
+ * Returns

[1/2] git commit: Set the content type as defined in the JMS mapping spec.

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 19b378bee - 5b3d2038a


Set the content type as defined in the JMS mapping spec.

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

Branch: refs/heads/master
Commit: ad17c6bf62be2119c8183efe0b708393e45a43f1
Parents: 19b378b
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 14:35:09 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 14:35:09 2014 -0400

--
 .../provider/amqp/message/AmqpJmsBytesMessageFacade.java| 9 +
 1 file changed, 1 insertion(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ad17c6bf/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 53ff86c..0896eb0 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
@@ -47,6 +47,7 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
  */
 public AmqpJmsBytesMessageFacade(AmqpConnection connection) {
 super(connection);
+setContentType(CONTENT_TYPE);
 setAnnotation(JMS_MSG_TYPE, JMS_BYTES_MESSAGE);
 }
 
@@ -67,9 +68,6 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
 public AmqpJmsBytesMessageFacade copy() {
 AmqpJmsBytesMessageFacade copy = new 
AmqpJmsBytesMessageFacade(connection);
 copyInto(copy);
-
-copy.setContent(getContent().copy());
-
 return copy;
 }
 
@@ -79,11 +77,6 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
 }
 
 @Override
-public String getContentType() {
-return CONTENT_TYPE;
-}
-
-@Override
 public boolean isEmpty() {
 Binary payload = getBinaryFromBody();
 return payload != null  payload.getLength()  0;


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



[2/2] git commit: clear the content type value on create to match the requirements in the JMS mapping spec.

2014-09-30 Thread tabish
clear the content type value on create to match the requirements in the
JMS mapping spec.

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

Branch: refs/heads/master
Commit: 5b3d2038a0028f22448decf6dd242e0fe4d743c6
Parents: ad17c6b
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 14:35:47 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 14:35:47 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpTypedObjectDelegate.java | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5b3d2038/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpTypedObjectDelegate.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpTypedObjectDelegate.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpTypedObjectDelegate.java
index f5d8f0c..9fa88dd 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpTypedObjectDelegate.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpTypedObjectDelegate.java
@@ -43,6 +43,7 @@ public class AmqpTypedObjectDelegate implements 
AmqpObjectTypeDelegate {
  */
 public AmqpTypedObjectDelegate(Message message) {
 this.message = message;
+this.message.setContentType(null);
 }
 
 @Override


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



git commit: fix copy method broken in last commit

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 5b3d2038a - a2992a757


fix copy method broken in last commit 

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

Branch: refs/heads/master
Commit: a2992a7574395ebc50dadf6e81c99930a5c1db7e
Parents: 5b3d203
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 15:47:18 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 15:47:18 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java   | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a2992a75/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 0896eb0..a89eadc 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
@@ -68,6 +68,7 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
 public AmqpJmsBytesMessageFacade copy() {
 AmqpJmsBytesMessageFacade copy = new 
AmqpJmsBytesMessageFacade(connection);
 copyInto(copy);
+copy.setContent(getContent());
 return copy;
 }
 


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



git commit: Use a single Netty buffer to read all message bytes and grow as needed.

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master a2992a757 - 867c1ba43


Use a single Netty buffer to read all message bytes and grow as needed.

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

Branch: refs/heads/master
Commit: 867c1ba43446885f90bbc0a09e134976ac28aaee
Parents: a2992a7
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 17:02:03 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 17:02:03 2014 -0400

--
 .../qpid/jms/provider/amqp/AmqpConsumer.java| 24 +++-
 1 file changed, 13 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/867c1ba4/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
index 41fef20..bced2b4 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
@@ -16,7 +16,9 @@
  */
 package org.apache.qpid.jms.provider.amqp;
 
-import java.io.ByteArrayOutputStream;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -64,12 +66,13 @@ public class AmqpConsumer extends 
AbstractAmqpResourceJmsConsumerInfo, Receiver
 protected static final Symbol JMS_NO_LOCAL_SYMBOL = 
Symbol.valueOf(no-local);
 protected static final Symbol JMS_SELECTOR_SYMBOL = 
Symbol.valueOf(jms-selector);
 
+private static final int INITIAL_BUFFER_CAPACITY = 1024 * 128;
+
 protected final AmqpSession session;
 protected final MapJmsInboundMessageDispatch, Delivery delivered = new 
LinkedHashMapJmsInboundMessageDispatch, Delivery();
 protected boolean presettle;
 
-private final ByteArrayOutputStream streamBuffer = new 
ByteArrayOutputStream();
-private final byte incomingBuffer[] = new byte[1024 * 64];
+private final ByteBuf incomingBuffer = 
Unpooled.buffer(INITIAL_BUFFER_CAPACITY);
 
 private final AtomicLong _incomingSequence = new AtomicLong(0);
 
@@ -418,22 +421,21 @@ public class AmqpConsumer extends 
AbstractAmqpResourceJmsConsumerInfo, Receiver
 
 // TODO - Find more efficient ways to produce the Message instance.
 protected Message decodeIncomingMessage(Delivery incoming) {
-byte[] buffer;
 int count;
 
-while ((count = endpoint.recv(incomingBuffer, 0, 
incomingBuffer.length))  0) {
-streamBuffer.write(incomingBuffer, 0, count);
+while ((count = endpoint.recv(incomingBuffer.array(), 
incomingBuffer.writerIndex(), incomingBuffer.writableBytes()))  0) {
+incomingBuffer.writerIndex(incomingBuffer.writerIndex() + count);
+if (!incomingBuffer.isWritable()) {
+incomingBuffer.capacity((int) (incomingBuffer.capacity() * 
1.5));
+}
 }
 
-// TODO - This will copy, replace with something better later.  Pooled 
Netty Buffer ?
-buffer = streamBuffer.toByteArray();
-
 try {
 Message protonMessage = Message.Factory.create();
-protonMessage.decode(buffer, 0, buffer.length);
+protonMessage.decode(incomingBuffer.array(), 0, 
incomingBuffer.readableBytes());
 return protonMessage;
 } finally {
-streamBuffer.reset();
+incomingBuffer.clear();
 }
 }
 


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



git commit: Enforce content type always set to java serialized value.

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 867c1ba43 - a9386dac5


Enforce content type always set to java serialized value.

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

Branch: refs/heads/master
Commit: a9386dac54cb19936a6b7b0b752bd8b1a303b3c3
Parents: 867c1ba
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 17:12:23 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 17:12:23 2014 -0400

--
 .../jms/provider/amqp/message/AmqpSerializedObjectDelegate.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a9386dac/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpSerializedObjectDelegate.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpSerializedObjectDelegate.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpSerializedObjectDelegate.java
index 3d974e2..d22d23a 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpSerializedObjectDelegate.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpSerializedObjectDelegate.java
@@ -95,11 +95,10 @@ public class AmqpSerializedObjectDelegate implements 
AmqpObjectTypeDelegate {
message.setBody(new Data(new Binary(bytes)));
 }
 }
-
-// TODO: ensure content type is [still] set?
 }
 
 @Override
 public void onSend() {
+this.message.setContentType(CONTENT_TYPE);
 }
 }


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



[3/3] git commit: clean up method names in the factories.

2014-09-30 Thread tabish
clean up method names in the factories.

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

Branch: refs/heads/master
Commit: c695388b1bee834f5bc550c6b9a251bdedb50f78
Parents: e67f9d5
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 18:26:29 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 18:26:29 2014 -0400

--
 .../java/org/apache/qpid/jms/provider/ProviderFactory.java | 6 +++---
 .../org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java | 2 +-
 .../apache/qpid/jms/provider/amqp/AmqpSslProviderFactory.java  | 2 +-
 .../qpid/jms/provider/failover/FailoverProviderFactory.java| 2 +-
 .../qpid/jms/provider/discovery/DiscoveryProviderFactory.java  | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c695388b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFactory.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFactory.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFactory.java
index f1c5dbd..0b6cd7c 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFactory.java
@@ -45,10 +45,10 @@ public abstract class ProviderFactory {
  *
  * @throws Exception if an error occurs while creating the Provider 
instance.
  */
-public abstract Provider createAsyncProvider(URI remoteURI) throws 
Exception;
+public abstract Provider createProvider(URI remoteURI) throws Exception;
 
 /**
- * @return the name of this JMS Provider, e.g. STOMP, AMQP, MQTT...etc
+ * @return the name of this JMS Provider.
  */
 public abstract String getName();
 
@@ -68,7 +68,7 @@ public abstract class ProviderFactory {
 
 try {
 ProviderFactory factory = findProviderFactory(remoteURI);
-result = factory.createAsyncProvider(remoteURI);
+result = factory.createProvider(remoteURI);
 result.connect();
 } catch (Exception ex) {
 LOG.error(Failed to create Provider instance for {}, due to: {}, 
remoteURI.getScheme(), ex);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c695388b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java
index b1d0782..5181d71 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java
@@ -29,7 +29,7 @@ import org.apache.qpid.jms.util.PropertyUtil;
 public class AmqpProviderFactory extends ProviderFactory {
 
 @Override
-public Provider createAsyncProvider(URI remoteURI) throws Exception {
+public Provider createProvider(URI remoteURI) throws Exception {
 
 MapString, String map = 
PropertyUtil.parseQuery(remoteURI.getQuery());
 MapString, String providerOptions = 
PropertyUtil.filterProperties(map, provider.);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c695388b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSslProviderFactory.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSslProviderFactory.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSslProviderFactory.java
index 7606792..01a4f85 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSslProviderFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSslProviderFactory.java
@@ -26,7 +26,7 @@ import org.apache.qpid.jms.provider.Provider;
 public class AmqpSslProviderFactory extends AmqpProviderFactory {
 
 @Override
-public Provider createAsyncProvider(URI remoteURI) throws Exception {
+public Provider createProvider(URI remoteURI) throws Exception {
 return new AmqpSslProvider(remoteURI);
 }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c695388b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProviderFactory.java

[1/3] git commit: Don't send error or close events if transport is already closed.

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master a9386dac5 - c695388b1


Don't send error or close events if transport is already closed.

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

Branch: refs/heads/master
Commit: 784025ac01a79e009f0131fcc7d851528d935837
Parents: a9386da
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 18:23:45 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 18:23:45 2014 -0400

--
 .../org/apache/qpid/jms/transports/TcpTransport.java| 12 
 1 file changed, 8 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/784025ac/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TcpTransport.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TcpTransport.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TcpTransport.java
index 121084c..0f2cca5 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TcpTransport.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TcpTransport.java
@@ -109,16 +109,20 @@ public class TcpTransport implements Transport {
 socket.closeHandler(new HandlerVoid() {
 @Override
 public void handle(Void event) {
-connected.set(false);
-listener.onTransportClosed();
+if (!closed.get()) {
+connected.set(false);
+listener.onTransportClosed();
+}
 }
 });
 
 socket.exceptionHandler(new HandlerThrowable() {
 @Override
 public void handle(Throwable event) {
-connected.set(false);
-listener.onTransportError(event);
+if (!closed.get()) {
+connected.set(false);
+listener.onTransportError(event);
+}
 }
 });
 


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



[2/3] git commit: Clean some old comments.

2014-09-30 Thread tabish
Clean some old comments.

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

Branch: refs/heads/master
Commit: e67f9d57a0fe3beaea95eb7953b7313fb8ac3352
Parents: 784025a
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 18:24:16 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 18:24:16 2014 -0400

--
 .../apache/qpid/jms/util/ClassLoadingAwareObjectInputStream.java | 4 
 .../src/main/java/org/apache/qpid/jms/util/FactoryFinder.java| 1 -
 2 files changed, 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e67f9d57/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/ClassLoadingAwareObjectInputStream.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/ClassLoadingAwareObjectInputStream.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/ClassLoadingAwareObjectInputStream.java
index 8632ee2..5e025f5 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/ClassLoadingAwareObjectInputStream.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/ClassLoadingAwareObjectInputStream.java
@@ -57,12 +57,10 @@ public class ClassLoadingAwareObjectInputStream extends 
ObjectInputStream {
 try {
 return Proxy.getProxyClass(inLoader, cinterfaces);
 } catch (IllegalArgumentException e1) {
-// ignore
 }
 try {
 return Proxy.getProxyClass(FALLBACK_CLASS_LOADER, cinterfaces);
 } catch (IllegalArgumentException e2) {
-// ignore
 }
 
 throw new ClassNotFoundException(null, e);
@@ -88,7 +86,6 @@ public class ClassLoadingAwareObjectInputStream extends 
ObjectInputStream {
 return answer;
 } catch (ClassNotFoundException e) {
 LOG.trace(Class not found: {} using classloader: {}, 
className, cl);
-// ignore
 }
 }
 
@@ -112,7 +109,6 @@ public class ClassLoadingAwareObjectInputStream extends 
ObjectInputStream {
 return Object[].class;
 } else if (java.lang.String[].equals(name) || 
String[].equals(name)) {
 return String[].class;
-// and these is common as well
 } else if (java.lang.String.equals(name) || String.equals(name)) {
 return String.class;
 } else if (java.lang.Boolean.equals(name) || Boolean.equals(name)) 
{

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e67f9d57/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FactoryFinder.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FactoryFinder.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FactoryFinder.java
index b8db705..8060027 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FactoryFinder.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FactoryFinder.java
@@ -168,7 +168,6 @@ public class FactoryFinderT extends Object {
 try {
 clazz = loader.loadClass(className);
 } catch (ClassNotFoundException e) {
-// ignore
 }
 }
 if (clazz == null) {


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



git commit: Move all the default implementations now used only for tests into the tests package.

2014-09-30 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master c695388b1 - 9064cc8a5


Move all the default implementations now used only for tests into the
tests package.

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

Branch: refs/heads/master
Commit: 9064cc8a515f05475f90fbdb2b920dd29b148bfa
Parents: c695388
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Sep 30 18:43:15 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Sep 30 18:43:15 2014 -0400

--
 .../jms/message/JmsDefaultMessageFactory.java   |  94 --
 .../defaults/JmsDefaultBytesMessageFacade.java  |  69 
 .../defaults/JmsDefaultMapMessageFacade.java|  75 -
 .../defaults/JmsDefaultMessageFacade.java   | 328 ---
 .../defaults/JmsDefaultObjectMessageFacade.java | 105 --
 .../defaults/JmsDefaultStreamMessageFacade.java |  85 -
 .../defaults/JmsDefaultTextMessageFacade.java   |  62 
 .../qpid/jms/message/JmsBytesMessageTest.java   |   1 +
 .../qpid/jms/message/JmsMapMessageTest.java |   2 +-
 .../apache/qpid/jms/message/JmsMessageTest.java |   2 +-
 .../qpid/jms/message/JmsObjectMessageTest.java  |   2 +-
 .../qpid/jms/message/JmsStreamMessageTest.java  |   2 +-
 .../qpid/jms/message/JmsTextMessageTest.java|   2 +-
 .../defaults/JmsDefaultBytesMessageFacade.java  |  69 
 .../defaults/JmsDefaultMapMessageFacade.java|  75 +
 .../defaults/JmsDefaultMessageFacade.java   | 328 +++
 .../defaults/JmsDefaultMessageFactory.java  |  95 ++
 .../defaults/JmsDefaultObjectMessageFacade.java | 105 ++
 .../defaults/JmsDefaultStreamMessageFacade.java |  85 +
 .../defaults/JmsDefaultTextMessageFacade.java   |  62 
 20 files changed, 825 insertions(+), 823 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9064cc8a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultMessageFactory.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultMessageFactory.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultMessageFactory.java
deleted file mode 100644
index c909f2d..000
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultMessageFactory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * 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.message;
-
-import java.io.Serializable;
-
-import javax.jms.JMSException;
-
-import 
org.apache.qpid.jms.message.facade.defaults.JmsDefaultBytesMessageFacade;
-import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMapMessageFacade;
-import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFacade;
-import 
org.apache.qpid.jms.message.facade.defaults.JmsDefaultObjectMessageFacade;
-import 
org.apache.qpid.jms.message.facade.defaults.JmsDefaultStreamMessageFacade;
-import org.apache.qpid.jms.message.facade.defaults.JmsDefaultTextMessageFacade;
-
-/**
- * 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.
- */
-public class JmsDefaultMessageFactory implements JmsMessageFactory {
-
-@Override
-public JmsMessage createMessage() throws UnsupportedOperationException {
-return new JmsMessage(new JmsDefaultMessageFacade());
-}
-
-@Override
-public JmsTextMessage createTextMessage() throws 
UnsupportedOperationException {
-return createTextMessage(null);
-}
-
-@Override
-public

git commit: Remove code that was only needed for use with the JMS transformer sends.

2014-10-01 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 1e6d38092 - da34674fe


Remove code that was only needed for use with the JMS transformer sends.

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

Branch: refs/heads/master
Commit: da34674fec15da233724f94c700b6b830a64ab92
Parents: 1e6d380
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 1 09:55:04 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 1 09:55:04 2014 -0400

--
 .../org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java | 4 
 1 file changed, 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/da34674f/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
index 73ef680..2c2f060 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
@@ -26,7 +26,6 @@ import java.util.Set;
 import javax.jms.JMSException;
 
 import org.apache.qpid.jms.JmsDestination;
-import org.apache.qpid.jms.message.JmsMessage;
 import org.apache.qpid.jms.message.JmsOutboundMessageDispatch;
 import org.apache.qpid.jms.message.facade.JmsMessageFacade;
 import org.apache.qpid.jms.meta.JmsProducerInfo;
@@ -124,9 +123,6 @@ public class AmqpFixedProducer extends AmqpProducer {
 delivery.disposition(state);
 }
 
-JmsMessage message = envelope.getMessage();
-message.setReadOnlyBody(true);
-
 AmqpJmsMessageFacade amqpMessageFacade = (AmqpJmsMessageFacade) facade;
 Message amqpMessage = amqpMessageFacade.getAmqpMessage();
 


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



git commit: Refactor send handling a bit, do all message prep in client thread during the onSend method. Pass producer configuation to message onSend so the facade can decide what to include in sent m

2014-10-01 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 72639ba7b - cf38f9b0c


Refactor send handling a bit, do all message prep in client thread
during the onSend method.  Pass producer configuation to message onSend
so the facade can decide what to include in sent message.  

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

Branch: refs/heads/master
Commit: cf38f9b0c4ce0c5a4c7eac22dae6cb68d85fc0fd
Parents: 72639ba
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 1 16:25:35 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 1 16:25:35 2014 -0400

--
 .../java/org/apache/qpid/jms/JmsSession.java| 20 +-
 .../qpid/jms/message/JmsBytesMessage.java   |  4 +-
 .../org/apache/qpid/jms/message/JmsMessage.java | 11 -
 .../jms/message/JmsOutboundMessageDispatch.java | 14 ---
 .../qpid/jms/message/JmsStreamMessage.java  |  4 +-
 .../jms/message/facade/JmsMessageFacade.java| 13 +-
 .../jms/provider/amqp/AmqpFixedProducer.java| 22 --
 .../amqp/message/AmqpJmsMessageFacade.java  | 42 +++-
 .../message/AmqpJmsObjectMessageFacade.java |  3 +-
 .../qpid/jms/message/JmsBytesMessageTest.java   | 14 +++
 .../qpid/jms/message/JmsMapMessageTest.java |  6 +--
 .../qpid/jms/message/JmsObjectMessageTest.java  | 10 ++---
 .../defaults/JmsDefaultMessageFacade.java   |  2 +-
 13 files changed, 83 insertions(+), 82 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cf38f9b0/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
--
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
index 5a808e4..0c8b812 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
@@ -633,11 +633,8 @@ public class JmsSession implements Session, QueueSession, 
TopicSession, JmsMessa
 original.setJMSPriority(priority);
 original.setJMSRedelivered(false);
 
-long timeStamp = 0;
+long timeStamp = System.currentTimeMillis();
 boolean hasTTL = timeToLive  0;
-if (!disableTimestamp || hasTTL) {
-timeStamp = System.currentTimeMillis();
-}
 
 if (!disableTimestamp) {
 original.setJMSTimestamp(timeStamp);
@@ -647,13 +644,14 @@ public class JmsSession implements Session, QueueSession, 
TopicSession, JmsMessa
 
 if (hasTTL) {
 original.setJMSExpiration(timeStamp + timeToLive);
+} else {
+original.setJMSExpiration(0);
 }
 
-String msgId = null;
+String msgId = getNextMessageId(producer);;
 if (!disableMsgId) {
-msgId = getNextMessageId(producer);
+original.setJMSMessageID(msgId);
 }
-original.setJMSMessageID(msgId);
 
 boolean isJmsMessageType = original instanceof JmsMessage;
 if (isJmsMessageType) {
@@ -669,12 +667,16 @@ public class JmsSession implements Session, QueueSession, 
TopicSession, JmsMessa
 copy.setJMSDestination(destination);
 }
 
+// We always set these on the copy, broker might require them even 
if client
+// has asked to not include them.
+copy.setJMSMessageID(msgId);
+copy.setJMSTimestamp(timeStamp);
+
 boolean sync = connection.isAlwaysSyncSend() ||
(!connection.isForceAsyncSend()  deliveryMode == 
DeliveryMode.PERSISTENT  !getTransacted());
 
-copy.onSend();
+copy.onSend(disableMsgId, disableTimestamp, timeToLive);
 JmsOutboundMessageDispatch envelope = new 
JmsOutboundMessageDispatch();
-envelope.setTtl(timeToLive);
 envelope.setMessage(copy);
 envelope.setProducerId(producer.getProducerId());
 envelope.setDestination(destination);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cf38f9b0/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
index 90cab53..eaf101e 100644
--- 
a/qpid-jms-client/src/main/java/org

git commit: Delegate the work of creating a proper JMS Destination when setting the destination or reply to address via a Message object's setStringProperty or setObjectProperty methods.

2014-10-01 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master cf38f9b0c - 1e0d838f3


Delegate the work of creating a proper JMS Destination when setting the
destination or reply to address via a Message object's setStringProperty
or setObjectProperty methods.  

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

Branch: refs/heads/master
Commit: 1e0d838f346d75def1682dc6fdaaf43091d3f58c
Parents: cf38f9b
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 1 16:41:38 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 1 16:41:38 2014 -0400

--
 .../jms/message/JmsMessagePropertyIntercepter.java  |  9 -
 .../qpid/jms/message/facade/JmsMessageFacade.java   | 16 
 .../provider/amqp/message/AmqpJmsMessageFacade.java | 11 +++
 .../message/JmsMessagePropertyIntercepterTest.java  | 12 ++--
 .../facade/defaults/JmsDefaultMessageFacade.java| 11 +++
 5 files changed, 48 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/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 d8295c5..9f703a0 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
@@ -41,7 +41,6 @@ import javax.jms.DeliveryMode;
 import javax.jms.Destination;
 import javax.jms.JMSException;
 
-import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.exceptions.JmsExceptionSupport;
 import org.apache.qpid.jms.message.facade.JmsMessageFacade;
 import org.apache.qpid.jms.util.TypeConversionSupport;
@@ -124,11 +123,11 @@ public class JmsMessagePropertyIntercepter {
 PROPERTY_INTERCEPTERS.put(JMS_DESTINATION, new PropertyIntercepter() {
 @Override
 public void setProperty(JmsMessageFacade message, Object value) 
throws JMSException {
-JmsDestination rc = (JmsDestination) 
TypeConversionSupport.convert(value, JmsDestination.class);
+String rc = (String) TypeConversionSupport.convert(value, 
String.class);
 if (rc == null) {
 throw new JMSException(Property JMSDestination cannot be 
set from a  + value.getClass().getName() + .);
 }
-message.setDestination(rc);
+message.setDestinationFromString(rc);
 }
 
 @Override
@@ -148,11 +147,11 @@ public class JmsMessagePropertyIntercepter {
 PROPERTY_INTERCEPTERS.put(JMS_REPLYTO, new PropertyIntercepter() {
 @Override
 public void setProperty(JmsMessageFacade message, Object value) 
throws JMSException {
-JmsDestination rc = (JmsDestination) 
TypeConversionSupport.convert(value, JmsDestination.class);
+String rc = (String) TypeConversionSupport.convert(value, 
String.class);
 if (rc == null) {
 throw new JMSException(Property JMSReplyTo cannot be set 
from a  + value.getClass().getName() + .);
 }
-message.setReplyTo(rc);
+message.setReplyToFromString(rc);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/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 3bd3b55..3bbea29 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
@@ -342,6 +342,14 @@ public interface JmsMessageFacade {
 void setDestination(JmsDestination destination);
 
 /**
+ * Sets the Destination that this message is being sent to via a string.
+ *
+ * @param destination
+ *the string destination name that this message is being sent to.
+ */
+void setDestinationFromString(String destination);
+
+/**
  * Gets the Destination where replies for this Message

[2/2] git commit: Add m2e hint to ignore jacoco-maven-plugin

2014-10-02 Thread tabish
Add m2e hint to ignore jacoco-maven-plugin

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

Branch: refs/heads/master
Commit: 51da0e5acf85ae9a96ec1ee2f9886400f4a8da09
Parents: 90490f1
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 11:50:43 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 11:50:43 2014 -0400

--
 pom.xml | 25 +
 1 file changed, 25 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/51da0e5a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 474456e..867f51d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -234,6 +234,31 @@
   artifactIdjacoco-maven-plugin/artifactId
   version${jacoco-plugin-version}/version
 /plugin
+!--This plugin's configuration is used to store Eclipse m2e settings 
only. It has no influence on the Maven build itself.--
+plugin
+  groupIdorg.eclipse.m2e/groupId
+  artifactIdlifecycle-mapping/artifactId
+  version1.0.0/version
+  configuration
+lifecycleMappingMetadata
+  pluginExecutions
+pluginExecution
+  pluginExecutionFilter
+groupIdorg.jacoco/groupId
+artifactIdjacoco-maven-plugin/artifactId
+versionRange[0.7.2.*,)/versionRange
+goals
+  goalprepare-agent/goal
+/goals
+  /pluginExecutionFilter
+  action
+ignore/ignore
+  /action
+/pluginExecution
+  /pluginExecutions
+/lifecycleMappingMetadata
+  /configuration
+/plugin
   /plugins
 /pluginManagement
 plugins


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



git commit: Fix some issues found with Findbugs

2014-10-02 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 51da0e5ac - d4218476a


Fix some issues found with Findbugs

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

Branch: refs/heads/master
Commit: d4218476af1c940837b88928dbc2047123e501c8
Parents: 51da0e5
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 12:13:03 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 12:13:03 2014 -0400

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


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/d4218476/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 cc2f979..2d49c48 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
@@ -230,9 +230,11 @@ public class JmsConnection implements Connection, 
TopicConnection, QueueConnecti
 destroyResource(connectionInfo);
 }
 
-if (clientIdSet) {
-connectionInfo.setClientId(null);
-clientIdSet = false;
+synchronized (this) {
+if (clientIdSet) {
+connectionInfo.setClientId(null);
+clientIdSet = false;
+}
 }
 
 tempDestinations.clear();
@@ -303,7 +305,7 @@ public class JmsConnection implements Connection, 
TopicConnection, QueueConnecti
  * @see javax.jms.Connection#getClientID()
  */
 @Override
-public String getClientID() throws JMSException {
+public synchronized String getClientID() throws JMSException {
 checkClosedOrFailed();
 return this.connectionInfo.getClientId();
 }


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



[4/5] git commit: Check for the correct delegate type

2014-10-02 Thread tabish
Check for the correct delegate type 

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

Branch: refs/heads/master
Commit: 36f5afba3c61a0a35085297703848893493cb9c9
Parents: e147848
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 16:58:31 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 16:58:31 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/36f5afba/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
index 0b3d51d..20053d6 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
@@ -83,7 +83,7 @@ public class AmqpJmsObjectMessageFacade extends 
AmqpJmsMessageFacade implements
 }
 
 public boolean isAmqpTypedEncoding() {
-return this.delegate instanceof AmqpObjectTypeDelegate;
+return this.delegate instanceof AmqpTypedObjectDelegate;
 }
 
 @Override


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



[1/5] git commit: Fix more issues from FindBugs

2014-10-02 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 58b48e5a8 - 0e5b55bd1


Fix more issues from FindBugs

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

Branch: refs/heads/master
Commit: 71055421f869d3331c1f74ca3484531a6dab830b
Parents: 58b48e5
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 16:40:16 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 16:40:16 2014 -0400

--
 .../org/apache/qpid/jms/JmsPrefetchPolicy.java  | 34 
 .../apache/qpid/jms/meta/JmsConnectionInfo.java | 11 +++
 .../apache/qpid/jms/meta/JmsConsumerInfo.java   | 11 +++
 .../apache/qpid/jms/meta/JmsProducerInfo.java   | 11 +++
 .../qpid/jms/meta/JmsTransactionInfo.java   | 11 +++
 5 files changed, 48 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/71055421/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
index c1212f2..1b99d04 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
@@ -162,13 +162,35 @@ public class JmsPrefetchPolicy extends Object implements 
Serializable {
 }
 
 @Override
-public boolean equals(Object object) {
-if (object instanceof JmsPrefetchPolicy) {
-JmsPrefetchPolicy other = (JmsPrefetchPolicy) object;
-return this.queuePrefetch == other.queuePrefetch  
this.queueBrowserPrefetch == other.queueBrowserPrefetch
- this.topicPrefetch == other.topicPrefetch  
this.durableTopicPrefetch == other.durableTopicPrefetch;
+public int hashCode() {
+final int prime = 31;
+int result = 1;
+result = prime * result + durableTopicPrefetch;
+result = prime * result + maxPrefetchSize;
+result = prime * result + queueBrowserPrefetch;
+result = prime * result + queuePrefetch;
+result = prime * result + topicPrefetch;
+return result;
+}
+
+@Override
+public boolean equals(Object obj) {
+if (this == obj) {
+return true;
 }
-return false;
+if (obj == null) {
+return false;
+}
+if (getClass() != obj.getClass()) {
+return false;
+}
+
+JmsPrefetchPolicy other = (JmsPrefetchPolicy) obj;
+
+return this.queuePrefetch == other.queuePrefetch 
+   this.queueBrowserPrefetch == other.queueBrowserPrefetch 
+   this.topicPrefetch == other.topicPrefetch 
+   this.durableTopicPrefetch == other.durableTopicPrefetch;
 }
 
 private int getMaxPrefetchLimit(int value) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/71055421/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 efdc6eb..d5e7677 100644
--- 
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
@@ -214,7 +214,7 @@ public final class JmsConnectionInfo implements 
JmsResource, ComparableJmsConne
 
 @Override
 public int hashCode() {
-return this.connectionId.hashCode();
+return (connectionId == null) ? super.hashCode() : 
connectionId.hashCode();
 }
 
 @Override
@@ -231,12 +231,11 @@ public final class JmsConnectionInfo implements 
JmsResource, ComparableJmsConne
 
 JmsConnectionInfo other = (JmsConnectionInfo) obj;
 
-if (connectionId == null  other.connectionId != null) {
-return false;
-} else if (!connectionId.equals(other.connectionId)) {
-return false;
+if (connectionId != null) {
+return connectionId.equals(other.connectionId);
 }
-return true;
+
+return false;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/71055421/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsConsumerInfo.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms

[5/5] git commit: Fix a number of minor issues reported from FindBugs.

2014-10-02 Thread tabish
Fix a number of minor issues reported from FindBugs.

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

Branch: refs/heads/master
Commit: 0e5b55bd18b615243f4afbb83673b4c700a1665e
Parents: 36f5afb
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 17:47:22 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 17:47:22 2014 -0400

--
 .../apache/qpid/jms/JmsConnectionMetaData.java   |  3 ++-
 .../apache/qpid/jms/message/JmsMapMessage.java   |  2 +-
 .../jms/provider/amqp/AmqpFixedProducer.java |  2 +-
 .../amqp/message/AmqpJmsBytesMessageFacade.java  |  2 +-
 .../amqp/message/AmqpJmsMessageFacade.java   |  2 +-
 .../qpid/jms/transports/RawTcpTransport.java | 11 ++-
 .../org/apache/qpid/jms/util/PropertyUtil.java   | 19 +--
 .../apache/qpid/jms/util/ToStringSupport.java|  5 ++---
 8 files changed, 19 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0e5b55bd/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
index f674320..024fcdf 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
@@ -19,6 +19,7 @@ package org.apache.qpid.jms;
 import java.io.BufferedReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.nio.charset.Charset;
 import java.util.Enumeration;
 import java.util.Vector;
 import java.util.regex.Matcher;
@@ -57,7 +58,7 @@ public final class JmsConnectionMetaData implements 
ConnectionMetaData {
 InputStream in = null;
 if ((in = 
JmsConnectionMetaData.class.getResourceAsStream(/org/apache/qpid/jms/version.txt))
 != null) {
 try {
-BufferedReader reader = new BufferedReader(new 
InputStreamReader(in));
+BufferedReader reader = new BufferedReader(new 
InputStreamReader(in, Charset.forName(US-ASCII)));
 version = reader.readLine();
 Pattern pattern = Pattern.compile((\\d+)\\.(\\d+).*);
 Matcher m = pattern.matcher(version);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0e5b55bd/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
index 9414eca..e79cd78 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
@@ -185,7 +185,7 @@ public class JmsMapMessage extends JmsMessage implements 
MapMessage {
 Object value = getObject(name);
 
 if (value == null) {
-return (byte[]) value;
+return null;
 } else if (value instanceof byte[]) {
 byte[] original = (byte[]) value;
 byte[] clone = new byte[original.length];

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0e5b55bd/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
index 18085d0..6a37da3 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java
@@ -242,7 +242,7 @@ public class AmqpFixedProducer extends AmqpProducer {
 Target target = new Target();
 target.setAddress(destnationName);
 
-String senderName = sourceAddress + : + destnationName != null ? 
destnationName : Anonymous;
+String senderName = sourceAddress + : + destnationName;
 endpoint = session.getProtonSession().sender(senderName);
 endpoint.setSource(source);
 endpoint.setTarget(target);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0e5b55bd/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message

[2/5] git commit: Add note to explain duplicate code path.

2014-10-02 Thread tabish
Add note to explain duplicate code path.

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

Branch: refs/heads/master
Commit: ac85f2fa4e07192ac7532386679850de625c
Parents: 7105542
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 16:57:23 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 16:57:23 2014 -0400

--
 .../org/apache/qpid/jms/provider/amqp/AmqpTemporaryDestination.java | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ac85f2fa/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpTemporaryDestination.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpTemporaryDestination.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpTemporaryDestination.java
index d76e3d7..4107e3e 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpTemporaryDestination.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpTemporaryDestination.java
@@ -87,6 +87,7 @@ public class AmqpTemporaryDestination extends 
AbstractAmqpResourceJmsDestinatio
 if (info.isQueue()) {
 sourceAddress = connection.getTempQueuePrefix() + sourceAddress;
 } else {
+// TODO - AMQ doesn't support temp topics so we make everything a 
temp queue for now
 sourceAddress = connection.getTempQueuePrefix() + sourceAddress;
 }
 Source source = new Source();


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



[3/5] git commit: Fix setCorrelationId calling setMessageId when the passed value is null. Also simplified the set correlation from bytes method to make findbugs happy.

2014-10-02 Thread tabish
Fix setCorrelationId calling setMessageId when the passed value is null.
Also simplified the set correlation from bytes method to make findbugs
happy.

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

Branch: refs/heads/master
Commit: e1478481bc9cdbcc93eca183267db79a1ba8cc1e
Parents: ac85f2f
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 16:58:17 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 16:58:17 2014 -0400

--
 .../jms/provider/amqp/message/AmqpJmsMessageFacade.java | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e1478481/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 1859a47..ea3310a 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
@@ -417,7 +417,7 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 public void setCorrelationId(String correlationId) {
 AmqpMessageIdHelper messageIdHelper = AmqpMessageIdHelper.INSTANCE;
 if (correlationId == null) {
-message.setMessageId(null);
+message.setCorrelationId(null);
 } else {
 boolean appSpecific = false;
 boolean hasMessageIdPrefix = 
messageIdHelper.hasMessageIdPrefix(correlationId);
@@ -468,12 +468,12 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 
 @Override
 public void setCorrelationIdBytes(byte[] correlationId) {
-if (correlationId == null) {
-message.setCorrelationId(correlationId);
-} else {
-byte[] bytes = Arrays.copyOf(correlationId, correlationId.length);
-message.setCorrelationId(new Binary(bytes));
+Binary binaryIdValue = null;
+if (correlationId != null) {
+binaryIdValue = new Binary(Arrays.copyOf(correlationId, 
correlationId.length));
 }
+
+message.setCorrelationId(binaryIdValue);
 }
 
 @Override


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



git commit: Do some code cleanup.

2014-10-02 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 0e5b55bd1 - dda95f589


Do some code cleanup. 

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

Branch: refs/heads/master
Commit: dda95f5891cacce38091c66b615b39d82c714576
Parents: 0e5b55b
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 18:28:19 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 18:28:19 2014 -0400

--
 .../selector/filter/ArithmeticExpression.java   |  28 +--
 .../jms/selector/filter/BinaryExpression.java   |  11 +-
 .../jms/selector/filter/BooleanExpression.java  |   6 +-
 .../selector/filter/ComparisonExpression.java   |  31 ++--
 .../jms/selector/filter/ConstantExpression.java |  20 +--
 .../qpid/jms/selector/filter/Expression.java|   7 +-
 .../jms/selector/filter/FilterException.java|   2 -
 .../qpid/jms/selector/filter/Filterable.java|   2 -
 .../jms/selector/filter/LogicExpression.java|  10 +-
 .../jms/selector/filter/PropertyExpression.java |  10 +-
 .../jms/selector/filter/UnaryExpression.java|  48 ++---
 .../jms/selector/filter/XPathExpression.java|   5 +-
 .../jms/selector/filter/XQueryExpression.java   |   5 +-
 .../selector/filter/XalanXPathEvaluator.java|  43 +++--
 .../activemq/apollo/selector/SelectorTest.java  | 176 +--
 15 files changed, 206 insertions(+), 198 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/dda95f58/qpid-jms-selector/src/main/java/org/apache/qpid/jms/selector/filter/ArithmeticExpression.java
--
diff --git 
a/qpid-jms-selector/src/main/java/org/apache/qpid/jms/selector/filter/ArithmeticExpression.java
 
b/qpid-jms-selector/src/main/java/org/apache/qpid/jms/selector/filter/ArithmeticExpression.java
index a4700c6..8aa0c25 100755
--- 
a/qpid-jms-selector/src/main/java/org/apache/qpid/jms/selector/filter/ArithmeticExpression.java
+++ 
b/qpid-jms-selector/src/main/java/org/apache/qpid/jms/selector/filter/ArithmeticExpression.java
@@ -16,11 +16,8 @@
  */
 package org.apache.qpid.jms.selector.filter;
 
-
 /**
  * An expression which performs an operation on two expression values
- * 
- * @version $Revision: 1.2 $
  */
 public abstract class ArithmeticExpression extends BinaryExpression {
 
@@ -40,6 +37,7 @@ public abstract class ArithmeticExpression extends 
BinaryExpression {
 
 public static Expression createPlus(Expression left, Expression right) {
 return new ArithmeticExpression(left, right) {
+@Override
 protected Object evaluate(Object lvalue, Object rvalue) {
 if (lvalue instanceof String) {
 String text = (String)lvalue;
@@ -50,6 +48,7 @@ public abstract class ArithmeticExpression extends 
BinaryExpression {
 }
 }
 
+@Override
 public String getExpressionSymbol() {
 return +;
 }
@@ -58,10 +57,12 @@ public abstract class ArithmeticExpression extends 
BinaryExpression {
 
 public static Expression createMinus(Expression left, Expression right) {
 return new ArithmeticExpression(left, right) {
+@Override
 protected Object evaluate(Object lvalue, Object rvalue) {
 return minus(asNumber(lvalue), asNumber(rvalue));
 }
 
+@Override
 public String getExpressionSymbol() {
 return -;
 }
@@ -71,10 +72,12 @@ public abstract class ArithmeticExpression extends 
BinaryExpression {
 public static Expression createMultiply(Expression left, Expression right) 
{
 return new ArithmeticExpression(left, right) {
 
+@Override
 protected Object evaluate(Object lvalue, Object rvalue) {
 return multiply(asNumber(lvalue), asNumber(rvalue));
 }
 
+@Override
 public String getExpressionSymbol() {
 return *;
 }
@@ -84,10 +87,12 @@ public abstract class ArithmeticExpression extends 
BinaryExpression {
 public static Expression createDivide(Expression left, Expression right) {
 return new ArithmeticExpression(left, right) {
 
+@Override
 protected Object evaluate(Object lvalue, Object rvalue) {
 return divide(asNumber(lvalue), asNumber(rvalue));
 }
 
+@Override
 public String getExpressionSymbol() {
 return /;
 }
@@ -97,10 +102,12 @@ public abstract class ArithmeticExpression extends 
BinaryExpression {
 public

git commit: Fix some issues in this module reported by findbugs

2014-10-02 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master dda95f589 - 84045ed6d


Fix some issues in this module reported by findbugs

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

Branch: refs/heads/master
Commit: 84045ed6d76bd434369cd8822dc7823934ecc7d8
Parents: dda95f5
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 2 18:44:50 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 2 18:44:50 2014 -0400

--
 .../discovery/multicast/MulticastDiscoveryAgent.java | 8 ++--
 .../provider/discovery/multicast/PacketParserFactory.java| 2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/84045ed6/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/MulticastDiscoveryAgent.java
--
diff --git 
a/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/MulticastDiscoveryAgent.java
 
b/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/MulticastDiscoveryAgent.java
index b2daca2..96c23cc 100644
--- 
a/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/MulticastDiscoveryAgent.java
+++ 
b/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/MulticastDiscoveryAgent.java
@@ -102,6 +102,10 @@ public class MulticastDiscoveryAgent implements 
DiscoveryAgent, Runnable {
 } catch (URISyntaxException e) {
 // Default is always valid.
 }
+
+if (discoveryURI == null) {
+throw new RuntimeException(Discovery URI unexpectedly 
null);
+}
 }
 
 LOG.trace(mcast - discoveryURI = {}, discoveryURI);
@@ -109,7 +113,7 @@ public class MulticastDiscoveryAgent implements 
DiscoveryAgent, Runnable {
 String myHost = discoveryURI.getHost();
 int myPort = discoveryURI.getPort();
 
-if (DEFAULT_HOST_STR.equals(myHost)) {
+if (myHost == null || DEFAULT_HOST_STR.equals(myHost)) {
 myHost = DEFAULT_HOST_IP;
 }
 
@@ -364,7 +368,7 @@ public class MulticastDiscoveryAgent implements 
DiscoveryAgent, Runnable {
 
 // -- Discovered Peer Bookkeeping Class 
---//
 
-private class RemoteBrokerData extends DiscoveryEvent {
+private static class RemoteBrokerData extends DiscoveryEvent {
 
 long lastHeartBeat;
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/84045ed6/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/PacketParserFactory.java
--
diff --git 
a/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/PacketParserFactory.java
 
b/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/PacketParserFactory.java
index c69b78d..b3d17f9 100644
--- 
a/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/PacketParserFactory.java
+++ 
b/qpid-jms-discovery/src/main/java/org/apache/qpid/jms/provider/discovery/multicast/PacketParserFactory.java
@@ -93,7 +93,7 @@ public abstract class PacketParserFactory {
  */
 protected static PacketParserFactory findAgentFactory(String key) throws 
IOException {
 if (key == null) {
-throw new IOException(No PacketParserFactory name specified: [ + 
key + ]);
+throw new IOException(No PacketParserFactory name specified: 
[null]);
 }
 
 PacketParserFactory factory = null;


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



git commit: Add simple LRUCache implementation that can be used to cache anonymous producer instances for the AMQP provider.

2014-10-03 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master e3d21a7e6 - 8b0993c9b


Add simple LRUCache implementation that can be used to cache anonymous
producer instances for the AMQP provider.

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

Branch: refs/heads/master
Commit: 8b0993c9b4ac079cff76411fd735a95f49cffe39
Parents: e3d21a7
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 3 12:30:46 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 3 12:31:18 2014 -0400

--
 .../java/org/apache/qpid/jms/util/LRUCache.java | 99 
 .../org/apache/qpid/jms/util/LRUCacheTest.java  | 98 +++
 2 files changed, 197 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8b0993c9/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
new file mode 100644
index 000..76b130e
--- /dev/null
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
@@ -0,0 +1,99 @@
+/**
+ * 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 java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * A Simple LRU Cache based on a LinkedHashMap.
+ *
+ * @param K
+ * @param V
+ */
+public class LRUCacheK, V extends LinkedHashMapK, V {
+
+private static final long serialVersionUID = -342098639681884413L;
+protected int maxCacheSize = 1;
+
+/**
+ * Default constructor for an LRU Cache The default capacity is 1
+ */
+public LRUCache() {
+this(0,1, 0.75f, true);
+}
+
+/**
+ * Constructs a LRUCache with a maximum capacity
+ *
+ * @param maximumCacheSize
+ */
+public LRUCache(int maximumCacheSize) {
+this(0, maximumCacheSize, 0.75f, true);
+}
+
+/**
+ * Constructs an empty ttLRUCache/tt instance with the specified
+ * initial capacity, maximumCacheSize,load factor and ordering mode.
+ *
+ * @param initialCapacity the initial capacity.
+ * @param maximumCacheSize
+ * @param loadFactor the load factor.
+ * @param accessOrder the ordering mode - tttrue/tt for access-order,
+ *ttfalse/tt for insertion-order.
+ *
+ * @throws IllegalArgumentException if the initial capacity is negative or
+ * the load factor is non-positive.
+ */
+public LRUCache(int initialCapacity, int maximumCacheSize, float 
loadFactor, boolean accessOrder) {
+super(initialCapacity, loadFactor, accessOrder);
+this.maxCacheSize = maximumCacheSize;
+}
+
+/**
+ * @return Returns the maxCacheSize.
+ */
+public int getMaxCacheSize() {
+return maxCacheSize;
+}
+
+/**
+ * @param maxCacheSize The maxCacheSize to set.
+ */
+public void setMaxCacheSize(int maxCacheSize) {
+this.maxCacheSize = maxCacheSize;
+}
+
+@Override
+protected boolean removeEldestEntry(Map.EntryK,V eldest) {
+if( size()  maxCacheSize ) {
+onCacheEviction(eldest);
+return true;
+}
+return false;
+}
+
+/**
+ * Event point used by subclasses to perform some cleanup action when an
+ * element is evicted from the cache.
+ *
+ * @param eldest
+ *the item being evicted from the LRUCache.
+ */
+protected void onCacheEviction(Map.EntryK,V eldest) {
+}
+}

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8b0993c9/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache

git commit: Refactor of BytesMessage handling to make the message facade more opaque to the JmsBytesMessage instance which allows for handling of message content scenarios being fully contained in the

2014-10-03 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master dbdfb5b83 - 516d91087


Refactor of BytesMessage handling to make the message facade more opaque
to the JmsBytesMessage instance which allows for handling of message
content scenarios being fully contained in the facade implementation.

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

Branch: refs/heads/master
Commit: 516d91087db8850f403f75e1159670b5fb2dcc1b
Parents: dbdfb5b
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 3 16:13:13 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 3 16:13:13 2014 -0400

--
 .../qpid/jms/message/JmsBytesMessage.java   | 474 ++-
 .../message/facade/JmsBytesMessageFacade.java   |  78 ++-
 .../amqp/message/AmqpJmsBytesMessageFacade.java | 134 +-
 .../qpid/jms/message/JmsBytesMessageTest.java   |  58 ++-
 .../apache/qpid/jms/message/JmsMessageTest.java |   6 +-
 .../defaults/JmsDefaultBytesMessageFacade.java  | 100 +++-
 6 files changed, 339 insertions(+), 511 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/516d9108/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
index eaf101e..6de4180 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
@@ -16,80 +16,22 @@
  */
 package org.apache.qpid.jms.message;
 
-import io.netty.buffer.ByteBuf;
-import io.netty.buffer.ByteBufInputStream;
-import io.netty.buffer.ByteBufOutputStream;
-import io.netty.buffer.Unpooled;
-
 import java.io.DataInputStream;
+import java.io.DataOutputStream;
 import java.io.EOFException;
 import java.io.IOException;
 
 import javax.jms.BytesMessage;
 import javax.jms.JMSException;
-import javax.jms.MessageEOFException;
 import javax.jms.MessageFormatException;
-import javax.jms.MessageNotReadableException;
-import javax.jms.MessageNotWriteableException;
 
 import org.apache.qpid.jms.exceptions.JmsExceptionSupport;
 import org.apache.qpid.jms.message.facade.JmsBytesMessageFacade;
 
-/**
- * A CODEBytesMessage/CODE object is used to send a message containing a
- * stream of uninterpreted bytes. It inherits from the CODEMessage/CODE
- * interface and adds a bytes message body. The receiver of the message 
supplies
- * the interpretation of the bytes.
- * p/
- * The CODEBytesMessage/CODE methods are based largely on those found in
- * CODEjava.io.DataInputStream/CODE and
- * CODEjava.io.DataOutputStream/CODE.
- * p/
- * This message type is for client encoding of existing message formats. If
- * possible, one of the other self-defining message types should be used
- * instead.
- * p/
- * Although the JMS API allows the use of message properties with byte 
messages,
- * they are typically not used, since the inclusion of properties may affect 
the
- * format.
- * p/
- * The primitive types can be written explicitly using methods for each type.
- * They may also be written generically as objects. For instance, a call to
- * CODEBytesMessage.writeInt(6)/CODE is equivalent to
- * CODE BytesMessage.writeObject(new Integer(6))/CODE. Both forms are
- * provided, because the explicit form is convenient for static programming, 
and
- * the object form is needed when types are not known at compile time.
- * p/
- * When the message is first created, and when CODEclearBody/CODE is
- * called, the body of the message is in write-only mode. After the first call
- * to CODEreset/CODE has been made, the message body is in read-only mode.
- * After a message has been sent, the client that sent it can retain and modify
- * it without affecting the message that has been sent. The same message object
- * can be sent multiple times. When a message has been received, the provider
- * has called CODEreset/CODE so that the message body is in read-only mode
- * for the client.
- * p/
- * If CODEclearBody/CODE is called on a message in read-only mode, the
- * message body is cleared and the message is in write-only mode.
- * p/
- * If a client attempts to read a message in write-only mode, a
- * CODEMessageNotReadableException/CODE is thrown.
- * p/
- * If a client attempts to write a message in read-only mode, a
- * CODEMessageNotWriteableException/CODE is thrown.
- *
- * @see javax.jms.Session#createBytesMessage()
- * @see javax.jms.MapMessage
- * @see

[2/2] git commit: More correct equals and hashCode

2014-10-03 Thread tabish
More correct equals and hashCode

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

Branch: refs/heads/master
Commit: 81fc1e5d2b77f370ce11b2cab82e198bb0a5c74e
Parents: 263c93d
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 3 17:15:47 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 3 17:15:47 2014 -0400

--
 .../org/apache/qpid/jms/JmsDestination.java | 23 +---
 1 file changed, 20 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/81fc1e5d/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
index a86e0f7..a736ed6 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
@@ -136,14 +136,31 @@ public abstract class JmsDestination extends JNDIStorable 
implements JmsResource
 return false;
 }
 
-JmsDestination d = (JmsDestination) o;
-return getName().equals(d.getName());
+JmsDestination other = (JmsDestination) o;
+if (name == null  other.name != null) {
+return false;
+} else if (!name.equals(other.name)) {
+return false;
+}
+
+if (temporary != other.temporary) {
+return false;
+}
+if (topic != other.topic) {
+return false;
+}
+
+return true;
 }
 
 @Override
 public int hashCode() {
 if (hashValue == 0) {
-hashValue = getName().hashCode();
+final int prime = 31;
+hashValue = 1;
+hashValue = prime * hashValue + ((name == null) ? 0 : 
name.hashCode());
+hashValue = prime * hashValue + (temporary ? 1231 : 1237);
+hashValue = prime * hashValue + (topic ? 1231 : 1237);
 }
 return hashValue;
 }


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



[1/2] git commit: Add some variations of anonymous send tests.

2014-10-03 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 516d91087 - 81fc1e5d2


Add some variations of anonymous send 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/263c93d8
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/263c93d8
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/263c93d8

Branch: refs/heads/master
Commit: 263c93d84958f51ae6cc1875edc15af6f5a49fad
Parents: 516d910
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 3 16:38:17 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 3 16:38:17 2014 -0400

--
 .../jms/producer/JmsAnonymousProducerTest.java  | 62 +++-
 1 file changed, 48 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/263c93d8/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java
--
diff --git 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java
 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java
index 04b954a..301018e 100644
--- 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java
+++ 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java
@@ -20,6 +20,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.jms.Message;
 import javax.jms.MessageProducer;
 import javax.jms.Queue;
@@ -27,6 +30,7 @@ import javax.jms.Session;
 
 import org.apache.activemq.broker.jmx.QueueViewMBean;
 import org.apache.qpid.jms.support.AmqpTestSupport;
+import org.apache.qpid.jms.util.StopWatch;
 import org.junit.Test;
 
 /**
@@ -66,28 +70,58 @@ public class JmsAnonymousProducerTest extends 
AmqpTestSupport {
 }
 
 @Test(timeout = 6)
-public void testAnonymousSendToMultipleDestinations() throws Exception {
+public void testAnonymousSendToThreeDestinations() throws Exception {
+StopWatch timer = new StopWatch();
+doTestAnonymousProducerSendToMultipleDests(3, 1);
+LOG.info(Time to send to three destinations: {} ms, timer.taken());
+}
+
+@Test(timeout = 6)
+public void testAnonymousSendToTenDestinations() throws Exception {
+StopWatch timer = new StopWatch();
+doTestAnonymousProducerSendToMultipleDests(10, 1);
+LOG.info(Time to send to ten destinations: {} ms, timer.taken());
+}
+
+@Test(timeout = 6)
+public void testAnonymousSendToOneHundredDestinations() throws Exception {
+StopWatch timer = new StopWatch();
+doTestAnonymousProducerSendToMultipleDests(100, 1);
+LOG.info(Time to send to one hundred destinations: {} ms, 
timer.taken());
+}
+
+@Test(timeout = 6)
+public void testAnonymousSendToTenDestinationsTenTimes() throws Exception {
+StopWatch timer = new StopWatch();
+doTestAnonymousProducerSendToMultipleDests(10, 10);
+LOG.info(Time to send to ten destinations ten times: {} ms, 
timer.taken());
+}
+
+public void doTestAnonymousProducerSendToMultipleDests(int 
numDestinations, int numIterations) throws Exception {
 connection = createAmqpConnection();
 assertNotNull(connection);
 connection.start();
 
 Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
-Queue queue1 = session.createQueue(name.getMethodName() + 1);
-Queue queue2 = session.createQueue(name.getMethodName() + 2);
-Queue queue3 = session.createQueue(name.getMethodName() + 3);
+
+ListQueue queues = new ArrayListQueue(numDestinations);
+for (int i = 0; i  numDestinations; ++i) {
+queues.add(session.createQueue(name.getMethodName() + i));
+}
+
 assertNotNull(session);
 MessageProducer producer = session.createProducer(null);
 
-Message message = session.createMessage();
-producer.send(queue1, message);
-producer.send(queue2, message);
-producer.send(queue3, message);
+for (int iteration = 1; iteration = numIterations; ++iteration) {
+Message message = session.createMessage();
+for (int i = 0; i  numDestinations; ++i) {
+producer.send(queues.get(i), message);
+}
 
-QueueViewMBean proxy = getProxyToQueue(name.getMethodName() + 1);
-assertEquals(1

git commit: Adds an initial implementation of producer caching for anonymous producers. Added options to AmqpConnection to enable / disable and a configurable cache size value.

2014-10-03 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 81fc1e5d2 - df6a30d52


Adds an initial implementation of producer caching for anonymous
producers.  Added options to AmqpConnection to enable / disable and a
configurable cache size value.  

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

Branch: refs/heads/master
Commit: df6a30d52f62eb37e93c9c51a6f7796e46642b3b
Parents: 81fc1e5
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 3 18:24:29 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 3 18:24:29 2014 -0400

--
 .../provider/amqp/AmqpAnonymousProducer.java| 107 ---
 .../qpid/jms/provider/amqp/AmqpConnection.java  |  34 +-
 2 files changed, 123 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/df6a30d5/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAnonymousProducer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAnonymousProducer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAnonymousProducer.java
index 7da3143..3547b15 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAnonymousProducer.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAnonymousProducer.java
@@ -17,14 +17,17 @@
 package org.apache.qpid.jms.provider.amqp;
 
 import java.io.IOException;
+import java.util.Map;
 
 import javax.jms.JMSException;
 
+import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.message.JmsOutboundMessageDispatch;
 import org.apache.qpid.jms.meta.JmsProducerId;
 import org.apache.qpid.jms.meta.JmsProducerInfo;
 import org.apache.qpid.jms.provider.AsyncResult;
 import org.apache.qpid.jms.util.IdGenerator;
+import org.apache.qpid.jms.util.LRUCache;
 import org.apache.qpid.proton.engine.EndpointState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -40,6 +43,7 @@ public class AmqpAnonymousProducer extends AmqpProducer {
 private static final Logger LOG = 
LoggerFactory.getLogger(AmqpAnonymousProducer.class);
 private static final IdGenerator producerIdGenerator = new IdGenerator();
 
+private final AnonymousProducerCache producerCache = new 
AnonymousProducerCache(10);
 private final String producerIdKey = producerIdGenerator.generateId();
 private long producerIdCount;
 
@@ -53,27 +57,43 @@ public class AmqpAnonymousProducer extends AmqpProducer {
  */
 public AmqpAnonymousProducer(AmqpSession session, JmsProducerInfo info) {
 super(session, info);
+
+if (connection.isAnonymousProducerCache()) {
+
producerCache.setMaxCacheSize(connection.getAnonymousProducerCacheSize());
+}
 }
 
 @Override
 public boolean send(JmsOutboundMessageDispatch envelope, AsyncResult 
request) throws IOException, JMSException {
-
 LOG.trace(Started send chain for anonymous producer: {}, 
getProducerId());
 
-// Create a new ProducerInfo for the short lived producer that's 
created to perform the
-// send to the given AMQP target.
-JmsProducerInfo info = new JmsProducerInfo(getNextProducerId());
-info.setDestination(envelope.getDestination());
+AmqpProducer producer = null;
+if (connection.isAnonymousProducerCache()) {
+producer = producerCache.get(envelope.getDestination());
+}
 
-// We open a Fixed Producer instance with the target destination.  
Once it opens
-// it will trigger the open event which will in turn trigger the send 
event and
-// when that succeeds it will trigger a close which completes the send 
chain.
-AmqpFixedProducer producer = new AmqpFixedProducer(session, info);
-producer.setPresettle(isPresettle());
-AnonymousOpenRequest open = new AnonymousOpenRequest(request, 
producer, envelope);
-producer.open(open);
+if (producer == null) {
+// Create a new ProducerInfo for the short lived producer that's 
created to perform the
+// send to the given AMQP target.
+JmsProducerInfo info = new JmsProducerInfo(getNextProducerId());
+info.setDestination(envelope.getDestination());
+
+// We open a Fixed Producer instance with the target destination.  
Once it opens
+// it will trigger the open event which will in turn trigger the 
send event.
+producer = new AmqpFixedProducer(session, info);
+producer.setPresettle(isPresettle

git commit: Fix potential NPE

2014-10-06 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 2e0500594 - dd00b90e5


Fix potential NPE

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

Branch: refs/heads/master
Commit: dd00b90e52d7583f57af0d3ff056864d48a86a28
Parents: 2e05005
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 6 10:13:40 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 6 10:13:40 2014 -0400

--
 .../src/main/java/org/apache/qpid/jms/JmsDestination.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/dd00b90e/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
index a736ed6..4874402 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
@@ -139,7 +139,7 @@ public abstract class JmsDestination extends JNDIStorable 
implements JmsResource
 JmsDestination other = (JmsDestination) o;
 if (name == null  other.name != null) {
 return false;
-} else if (!name.equals(other.name)) {
+} else if (name != null  !name.equals(other.name)) {
 return false;
 }
 


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



[2/2] git commit: Create test case for the PropertyUtil class that covers most bits, fix all the little issues that were found during testing.

2014-10-06 Thread tabish
Create test case for the PropertyUtil class that covers most bits, fix
all the little issues that were found during testing.

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

Branch: refs/heads/master
Commit: 601d8f50565a2a49afcb16a5303c3896c75ef2d9
Parents: 7a7bec7
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 6 15:57:17 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 6 16:37:13 2014 -0400

--
 .../org/apache/qpid/jms/util/PropertyUtil.java  |  87 ++-
 .../apache/qpid/jms/util/PropertyUtilTest.java  | 539 +++
 2 files changed, 600 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/601d8f50/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java
index 0c6b54b..aebb845 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java
@@ -143,15 +143,23 @@ public class PropertyUtil {
 }
 
 /**
- * Get properties from a URI
+ * Get properties from a URI and return them in a new MapString, String 
instance.
+ *
+ * If the URI is null or the query string of the URI is null an empty Map 
is returned.
  *
  * @param uri
+ *the URI whose parameters are to be parsed.
+ *
  * @return CodeMap/Code of properties
- * @throws Exception
+ *
+ * @throws Exception if an error occurs while parsing the query options.
  */
-@SuppressWarnings(unchecked)
 public static MapString, String parseParameters(URI uri) throws 
Exception {
-return uri.getQuery() == null ? Collections.EMPTY_MAP : 
parseQuery(stripPrefix(uri.getQuery(), ?));
+if (uri == null || uri.getQuery() == null) {
+return Collections.emptyMap();
+}
+
+return parseQuery(stripPrefix(uri.getQuery(), ?));
 }
 
 /**
@@ -159,26 +167,34 @@ public class PropertyUtil {
  * foo?name=fredsize=2
  *
  * @param uri
+ *the URI whose parameters are to be parsed.
+ *
  * @return CodeMap/Code of properties
- * @throws Exception
+ *
+ * @throws Exception if an error occurs while parsing the query options.
  */
-@SuppressWarnings(unchecked)
 public static MapString, String parseParameters(String uri) throws 
Exception {
-return uri == null ? Collections.EMPTY_MAP : parseQuery(stripUpto(uri, 
'?'));
+if (uri == null) {
+return Collections.emptyMap();
+}
+
+return parseQuery(stripUpto(uri, '?'));
 }
 
 /**
- * Get properties from a uri
+ * Get properties from a URI query string.
  *
- * @param uri
- * @return CodeMap/Code of properties
+ * @param queryString
+ *the string value returned from a call to the URI class getQuery 
method.
  *
- * @throws Exception
+ * @return CodeMap/Code of properties from the parsed string.
+ *
+ * @throws Exception if an error occurs while parsing the query options.
  */
-public static MapString, String parseQuery(String uri) throws Exception {
-if (uri != null) {
+public static MapString, String parseQuery(String queryString) throws 
Exception {
+if (queryString != null  !queryString.isEmpty()) {
 MapString, String rc = new HashMapString, String();
-String[] parameters = uri.split();
+String[] parameters = queryString.split();
 for (int i = 0; i  parameters.length; i++) {
 int p = parameters[i].indexOf(=);
 if (p = 0) {
@@ -191,6 +207,7 @@ public class PropertyUtil {
 }
 return rc;
 }
+
 return Collections.emptyMap();
 }
 
@@ -264,6 +281,8 @@ public class PropertyUtil {
 MapString, String map = parseParameters(uri);
 if (!map.isEmpty()) {
 map.putAll(props);
+} else {
+map = props;
 }
 if (!map.isEmpty()) {
 base.append('?');
@@ -312,13 +331,21 @@ public class PropertyUtil {
 }
 
 /**
- * Get properties from an object
+ * Get properties from an object using reflection.  If the passed object 
is null an
+ * empty codeMap/code is returned.
  *
  * @param object
- * @return CodeMap/Code

[1/2] git commit: Tests for IdGenerator

2014-10-06 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 7a7bec710 - 43c8be481


Tests for IdGenerator

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

Branch: refs/heads/master
Commit: 43c8be4819242dc5205af6f6b66966b9ea3049b1
Parents: 601d8f5
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 6 16:37:02 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 6 16:37:13 2014 -0400

--
 .../apache/qpid/jms/util/IdGeneratorTest.java   | 114 +++
 1 file changed, 114 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/43c8be48/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
new file mode 100644
index 000..21fd110
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
@@ -0,0 +1,114 @@
+/**
+ * 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.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class IdGeneratorTest {
+
+IdGenerator generator;
+
+@Before
+public void setUp() {
+generator = new IdGenerator();
+}
+
+@Test
+public void testSanitizeHostName() throws Exception {
+assertEquals(somehost.lan, 
IdGenerator.sanitizeHostName(somehost.lan));
+// include a UTF-8 char in the text \u0E08 is a Thai elephant
+assertEquals(otherhost.lan, 
IdGenerator.sanitizeHostName(other\u0E08host.lan));
+}
+
+@Test
+public void testGetHostName() {
+assertNotNull(IdGenerator.getHostName());
+}
+
+@Test
+public void testGenerateSanitizedId() {
+IdGenerator generator = new IdGenerator(A:B.C);
+assertNotNull(generator.generateSanitizedId());
+String newId = generator.generateSanitizedId();
+assertFalse(newId.contains(:));
+assertFalse(newId.contains(.));
+}
+
+@Test
+public void testGetSequenceFromId() {
+assertNotNull(IdGenerator.getSequenceFromId(generator.generateId()));
+}
+
+@Test
+public void testGetSequenceFromNullId() {
+assertEquals(-1, IdGenerator.getSequenceFromId(null));
+}
+
+@Test
+public void testGetSequenceFromNonConformingId() {
+assertEquals(-1, IdGenerator.getSequenceFromId(SomeIdValue));
+}
+
+@Test
+public void testGetSequenceFromNonConformingId2() {
+assertEquals(-1, IdGenerator.getSequenceFromId(SomeIdValue:));
+}
+
+@Test
+public void testGetSeedFromId() {
+assertNotNull(IdGenerator.getSeedFromId(generator.generateId()));
+}
+
+@Test
+public void testGetSeedFromNullId() {
+assertNull(IdGenerator.getSeedFromId(null));
+}
+
+@Test
+public void testGetSeedFromNonConformingId() {
+assertEquals(SomeIdValue, IdGenerator.getSeedFromId(SomeIdValue));
+}
+
+@Test
+public void testGetSeedFromNonConformingId2() {
+assertEquals(SomeIdValue:, 
IdGenerator.getSeedFromId(SomeIdValue:));
+}
+
+@Test
+public void testCompareIds() {
+IdGenerator gen = new IdGenerator();
+
+String id1 = generator.generateId();
+String id2 = generator.generateId();
+String id3 = generator.generateId();
+
+assertEquals(0, IdGenerator.compare(id1, id1));
+assertEquals(1, IdGenerator.compare(id2, id1));
+assertEquals(-1, IdGenerator.compare(id2, id3));
+assertEquals(-1, IdGenerator.compare(id2

git commit: Add message queue tests

2014-10-06 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 43c8be481 - 6d0fcad96


Add message queue 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/6d0fcad9
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6d0fcad9
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6d0fcad9

Branch: refs/heads/master
Commit: 6d0fcad9641e2818691ccfba663fe893a5ceff47
Parents: 43c8be4
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 6 18:35:26 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 6 18:35:26 2014 -0400

--
 .../qpid/jms/util/FifoMessageQueueTest.java | 312 +++
 .../qpid/jms/util/PriorityMessageQueueTest.java | 306 ++
 2 files changed, 618 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6d0fcad9/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/FifoMessageQueueTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/FifoMessageQueueTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/FifoMessageQueueTest.java
new file mode 100644
index 000..4bc7908
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/FifoMessageQueueTest.java
@@ -0,0 +1,312 @@
+/**
+ * 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.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import javax.jms.JMSException;
+
+import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
+import org.apache.qpid.jms.message.JmsMessage;
+import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFacade;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test the FIFO based message queue.
+ */
+public class FifoMessageQueueTest {
+
+private MessageQueue queue;
+private final IdGenerator messageId = new IdGenerator();
+private long sequence;
+
+@Before
+public void setUp() {
+queue = new FifoMessageQueue();
+queue.start();
+}
+
+@Test
+public void testToString() {
+assertNotNull(queue.toString());
+}
+
+@Test
+public void testGetLock() {
+assertNotNull(queue.getLock());
+}
+
+@Test
+public void testCreate() {
+FifoMessageQueue queue = new FifoMessageQueue();
+
+assertFalse(queue.isClosed());
+assertTrue(queue.isEmpty());
+assertFalse(queue.isRunning());
+
+assertEquals(0, queue.size());
+}
+
+@Test
+public void testClose() {
+assertFalse(queue.isClosed());
+assertTrue(queue.isRunning());
+queue.close();
+assertTrue(queue.isClosed());
+assertFalse(queue.isRunning());
+queue.close();
+}
+
+@Test
+public void testDequeueNoWaitWhenQueueIsClosed() {
+JmsInboundMessageDispatch message = createEnvelope();
+queue.enqueueFirst(message);
+
+assertFalse(queue.isEmpty());
+queue.close();
+assertSame(null, queue.dequeueNoWait());
+}
+
+@Test
+public void testDequeueWhenQueueIsClosed() throws InterruptedException {
+JmsInboundMessageDispatch message = createEnvelope();
+queue.enqueueFirst(message);
+
+assertFalse(queue.isEmpty());
+queue.close();
+assertSame(null, queue.dequeue(1L));
+}
+
+@Test
+public void testDequeueWhenQueueIsStopped() throws InterruptedException {
+JmsInboundMessageDispatch message = createEnvelope();
+queue.enqueueFirst(message);
+
+assertFalse(queue.isEmpty());
+queue.stop();
+assertFalse(queue.isRunning

git commit: Push proirity scaling to the facade class and do proper in / out scaling in the AMQP facade. Enable test for get out of range value.

2014-10-06 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 6d0fcad96 - c311a4218


Push proirity scaling to the facade class and do proper in / out scaling
in the AMQP facade.  Enable test for get out of range value. 

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

Branch: refs/heads/master
Commit: c311a42188b007cf620bf1cae7f21607f946d0a5
Parents: 6d0fcad
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 6 18:49:50 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 6 18:49:50 2014 -0400

--
 .../java/org/apache/qpid/jms/message/JmsMessage.java  | 14 +-
 .../provider/amqp/message/AmqpJmsMessageFacade.java   | 14 +-
 .../facade/defaults/JmsDefaultMessageFacade.java  |  8 +++-
 .../amqp/message/AmqpJmsMessageFacadeTest.java|  4 
 4 files changed, 21 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c311a421/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 24cdc5a..122c3ab 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
@@ -91,7 +91,6 @@ public class JmsMessage implements javax.jms.Message {
 String oMsg = msg.facade.getMessageId();
 String thisMsg = facade.getMessageId();
 
-//TODO: use super.equals if both id are null?
 return thisMsg != null  oMsg != null  oMsg.equals(thisMsg);
 }
 
@@ -236,18 +235,7 @@ public class JmsMessage implements javax.jms.Message {
 
 @Override
 public void setJMSPriority(int priority) throws JMSException {
-byte scaled = 0;
-
-//TODO: should we leave this to the facade to do if it wants? We 
simply trust its return value.
-if (priority  0) {
-scaled = 0;
-} else if (priority  9) {
-scaled = 9;
-} else {
-scaled = (byte) priority;
-}
-
-facade.setPriority(scaled);
+facade.setPriority((byte) priority);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c311a421/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 e8a170c..07079c1 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
@@ -552,7 +552,13 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 if (message.getHeader() != null) {
 UnsignedByte priority = message.getHeader().getPriority();
 if (priority != null) {
-return priority.byteValue();
+byte scaled = priority.byteValue();
+if (scaled  0) {
+scaled = 0;
+} else if (scaled  9) {
+scaled = 9;
+}
+return scaled;
 }
 }
 
@@ -568,6 +574,12 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 message.getHeader().setPriority(null);
 }
 } else {
+if (priority  0) {
+priority = 0;
+} else if (priority  9) {
+priority = 9;
+}
+
 message.setPriority(priority);
 }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c311a421/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 7972e72..31cca9e 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

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
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/meta

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);
+assertTrue

[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 Options

[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



git commit: Test and fix for Prefetch policy object.

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 0ba4b5653 - f3c2f041f


Test and fix for Prefetch policy object.

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

Branch: refs/heads/master
Commit: f3c2f041f241f22546ee3da556bf5a7178fad1e7
Parents: 0ba4b56
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 10:07:44 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 10:07:44 2014 -0400

--
 .../org/apache/qpid/jms/JmsPrefetchPolicy.java  |   1 +
 .../apache/qpid/jms/JmsPrefetchPolicyTest.java  | 137 +++
 2 files changed, 138 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f3c2f041/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
index 1b99d04..1716821 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsPrefetchPolicy.java
@@ -63,6 +63,7 @@ public class JmsPrefetchPolicy extends Object implements 
Serializable {
 this.queueBrowserPrefetch = source.getQueueBrowserPrefetch();
 this.topicPrefetch = source.getTopicPrefetch();
 this.durableTopicPrefetch = source.getDurableTopicPrefetch();
+this.maxPrefetchSize = source.getMaxPrefetchSize();
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f3c2f041/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsPrefetchPolicyTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsPrefetchPolicyTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsPrefetchPolicyTest.java
new file mode 100644
index 000..d1780d2
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsPrefetchPolicyTest.java
@@ -0,0 +1,137 @@
+/**
+ * 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.assertTrue;
+
+import org.junit.Test;
+
+/**
+ *
+ */
+public class JmsPrefetchPolicyTest {
+
+@Test
+public void testHashCode() {
+JmsPrefetchPolicy policy1 = new JmsPrefetchPolicy();
+JmsPrefetchPolicy policy2 = new JmsPrefetchPolicy();
+
+assertTrue(policy1.hashCode() != 0);
+assertEquals(policy1.hashCode(), policy1.hashCode());
+assertEquals(policy2.hashCode(), policy2.hashCode());
+}
+
+@Test
+public void testJmsPrefetchPolicy() {
+JmsPrefetchPolicy policy = new JmsPrefetchPolicy();
+
+assertEquals(JmsPrefetchPolicy.DEFAULT_TOPIC_PREFETCH, 
policy.getTopicPrefetch());
+assertEquals(JmsPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH, 
policy.getDurableTopicPrefetch());
+assertEquals(JmsPrefetchPolicy.DEFAULT_QUEUE_PREFETCH, 
policy.getQueuePrefetch());
+assertEquals(JmsPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH, 
policy.getQueueBrowserPrefetch());
+assertEquals(JmsPrefetchPolicy.MAX_PREFETCH_SIZE, 
policy.getMaxPrefetchSize());
+}
+
+@Test
+public void testJmsPrefetchPolicyJmsPrefetchPolicy() {
+JmsPrefetchPolicy policy1 = new JmsPrefetchPolicy();
+policy1.setTopicPrefetch(10);
+policy1.setDurableTopicPrefetch(20);
+policy1.setQueueBrowserPrefetch(30);
+policy1.setQueuePrefetch(40);
+policy1.setMaxPrefetchSize(100);
+
+JmsPrefetchPolicy policy2 = new JmsPrefetchPolicy(policy1);
+
+assertEquals(policy1.getTopicPrefetch(), policy2.getTopicPrefetch());
+assertEquals(policy1

git commit: Remove unused method, code for this lives in the destination helper now.

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master f3c2f041f - e6fe539fb


Remove unused method, code for this lives in the destination helper now.

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

Branch: refs/heads/master
Commit: e6fe539fb2fb68f7a8384ec376a207fc71c9bcdb
Parents: f3c2f04
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 11:48:12 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 11:48:12 2014 -0400

--
 .../amqp/message/AmqpMessageSupport.java| 34 
 1 file changed, 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e6fe539f/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
index 0812208..2d9c6f7 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
@@ -18,12 +18,6 @@ package org.apache.qpid.jms.provider.amqp.message;
 
 import java.util.Map;
 
-import javax.jms.Destination;
-import javax.jms.Queue;
-import javax.jms.TemporaryQueue;
-import javax.jms.TemporaryTopic;
-import javax.jms.Topic;
-
 import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.message.Message;
 
@@ -160,34 +154,6 @@ public final class AmqpMessageSupport {
 }
 
 /**
- * Given a JMS Destination object return the correct message annotations 
that
- * will identify the type of Destination the name represents, Queue. 
Topic, etc.
- *
- * @param destination
- *The JMS Destination to be examined.
- *
- * @return the correct message annotation values to describe the given 
Destination.
- */
-public static String destinationAttributes(Destination destination) {
-if (destination instanceof Queue) {
-if (destination instanceof TemporaryQueue) {
-return TEMP_QUEUE_ATTRIBUTES;
-} else {
-return QUEUE_ATTRIBUTES;
-}
-}
-if (destination instanceof Topic) {
-if (destination instanceof TemporaryTopic) {
-return TEMP_TOPIC_ATTRIBUTES;
-} else {
-return TOPIC_ATTRIBUTES;
-}
-}
-
-return null;
-}
-
-/**
  * Safe way to access message annotations which will check internal 
structure and
  * either return the annotation if it exists or null if the annotation or 
any annotations
  * are present.


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



git commit: Add some additional tests to validate some edge case behaviors.

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 756f120b9 - 0d74de27b


Add some additional tests to validate some edge case behaviors.

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

Branch: refs/heads/master
Commit: 0d74de27bb56afa10c819ef9f476f62e938ec011
Parents: 756f120
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 12:49:29 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 12:49:29 2014 -0400

--
 .../amqp/message/AmqpDestinationHelperTest.java | 139 ++-
 1 file changed, 138 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0d74de27/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
index 2caf770..dbf9279 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
@@ -89,6 +89,17 @@ public class AmqpDestinationHelperTest {
 }
 
 @Test
+public void 
testCreateDestinationFromStringNoConnectionSetPrefixReturnsQueue() {
+String destinationName = testDestinationName;
+AmqpConnection connection = Mockito.mock(AmqpConnection.class);
+JmsDestination result = helper.createDestination(destinationName, 
connection);
+assertNotNull(result);
+assertTrue(result.isQueue());
+assertFalse(result.isTemporary());
+assertEquals(destinationName, result.getName());
+}
+
+@Test
 public void testCreateDestinationFromQeueuePrefixedString() {
 String destinationName = testDestinationName;
 AmqpConnection connection = 
createConnectionWithDestinationPrefixValues();
@@ -150,12 +161,62 @@ public class AmqpDestinationHelperTest {
 Mockito.when(message.getToAddress()).thenReturn(null);
 Mockito.when(message.getMessageAnnotation(
 
TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(QUEUE_ATTRIBUTES_STRING);
-JmsQueue consumerDestination = new JmsQueue(ConsumerDestination);
 
+JmsDestination consumerDestination = new 
JmsQueue(ConsumerDestination);
+assertSame(consumerDestination, helper.getJmsDestination(message, 
consumerDestination));
+
+consumerDestination = new JmsTopic(ConsumerDestination);
 assertSame(consumerDestination, helper.getJmsDestination(message, 
consumerDestination));
 }
 
 @Test
+public void 
testGetJmsDestinationWithEmptyTypeAnnotationWithQueueConsumerDest() throws 
Exception {
+String testAddress = testAddress;
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+Mockito.when(message.getToAddress()).thenReturn(testAddress);
+
Mockito.when(message.getMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn();
+JmsQueue consumerDestination = new JmsQueue(ConsumerDestination);
+
+JmsDestination destination = helper.getJmsDestination(message, 
consumerDestination);
+assertNotNull(destination);
+assertTrue(destination.isQueue());
+assertFalse(destination.isTemporary());
+assertEquals(testAddress, destination.getName());
+}
+
+@Test
+public void 
testGetJmsDestinationWithUnknownTypeAnnotationWithQueueConsumerDest() throws 
Exception {
+String testAddress = testAddress;
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+Mockito.when(message.getToAddress()).thenReturn(testAddress);
+
Mockito.when(message.getMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(jms.queue);
+JmsQueue consumerDestination = new JmsQueue(ConsumerDestination);
+
+JmsDestination destination = helper.getJmsDestination(message, 
consumerDestination);
+assertNotNull(destination);
+assertTrue(destination.isQueue());
+assertFalse(destination.isTemporary());
+assertEquals(testAddress, destination.getName());
+}
+
+@Test
+public void 
testGetJmsDestinationWithoutTypeAnnotationWithAnonymousConsumerDest() {
+String testAddress = testAddress;
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+Mockito.when(message.getToAddress

git commit: Add test for AmqpMessageSupport

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 1c44f9402 - c44975c6b


Add test for AmqpMessageSupport

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

Branch: refs/heads/master
Commit: c44975c6bae7fe5d2de0e6398abc05949e41dfed
Parents: 1c44f94
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 13:54:15 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 13:54:42 2014 -0400

--
 .../amqp/message/AmqpMessageSupportTest.java| 113 +++
 1 file changed, 113 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c44975c6/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupportTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupportTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupportTest.java
new file mode 100644
index 000..4c74acb
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupportTest.java
@@ -0,0 +1,113 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp.message;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.qpid.proton.Proton;
+import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
+import org.apache.qpid.proton.message.Message;
+import org.junit.Test;
+
+public class AmqpMessageSupportTest {
+
+@Test
+public void testCreate() {
+new AmqpMessageSupport();
+}
+
+//-- getSymbol 
---//
+
+@Test
+public void testGetSymbol() {
+
assertNotNull(AmqpMessageSupport.getSymbol(x-opt-something-or-other));
+}
+
+//-- getMessageAnnotation 
//
+
+@Test
+public void testGetMessageAnnotationWhenMessageHasAnnotationsMap() {
+MapSymbol, Object messageAnnotationsMap = new 
HashMapSymbol,Object();
+messageAnnotationsMap.put(Symbol.valueOf(x-opt-test), Boolean.TRUE);
+Message message = Proton.message();
+message.setMessageAnnotations(new 
MessageAnnotations(messageAnnotationsMap));
+
+assertNotNull(AmqpMessageSupport.getMessageAnnotation(x-opt-test, 
message));
+}
+
+@Test
+public void testGetMessageAnnotationWhenMessageHasEmptyAnnotationsMap() {
+MapSymbol, Object messageAnnotationsMap = new 
HashMapSymbol,Object();
+Message message = Proton.message();
+message.setMessageAnnotations(new 
MessageAnnotations(messageAnnotationsMap));
+
+assertNull(AmqpMessageSupport.getMessageAnnotation(x-opt-test, 
message));
+}
+
+@Test
+public void testGetMessageAnnotationWhenMessageHasNoAnnotationsMap() {
+Message message = Proton.message();
+assertNull(AmqpMessageSupport.getMessageAnnotation(x-opt-test, 
message));
+}
+
+@Test
+public void testGetMessageAnnotationWhenMessageIsNull() {
+assertNull(AmqpMessageSupport.getMessageAnnotation(x-opt-test, 
null));
+}
+
+//-- isContentType 
---//
+
+@Test
+public void 
testIsContentTypeWithNullStringValueAndNullMessageContentType() {
+Message message = Proton.message();
+assertTrue(AmqpMessageSupport.isContentType(null, message));
+}
+
+@Test
+public void 
testIsContentTypeWithNonNullStringValueAndNullMessageContentType() {
+Message message

git commit: Remove now unnecessary method from the message facade classes and use the normal getProperyNames and getProperty methods to test message functionality.

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master c44975c6b - 616f0e773


Remove now unnecessary method from the message facade classes and use
the normal getProperyNames and getProperty methods to test message
functionality. 

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

Branch: refs/heads/master
Commit: 616f0e77358e24fc09c694dbfc82432efb463fb5
Parents: c44975c
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 15:03:15 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 15:03:15 2014 -0400

--
 .../jms/message/facade/JmsMessageFacade.java| 13 -
 .../amqp/message/AmqpJmsMessageFacade.java  |  8 +---
 .../apache/qpid/jms/message/JmsMessageTest.java | 20 +---
 .../defaults/JmsDefaultMessageFacade.java   |  6 --
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 16 
 5 files changed, 18 insertions(+), 45 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/616f0e77/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 4cfd57b..4f1d63e 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
@@ -16,7 +16,6 @@
  */
 package org.apache.qpid.jms.message.facade;
 
-import java.util.Map;
 import java.util.Set;
 
 import javax.jms.JMSException;
@@ -37,18 +36,6 @@ import org.apache.qpid.jms.JmsDestination;
  */
 public interface JmsMessageFacade {
 
-// TODO: can we get rid of this method? Currently used only in tests, and 
doesn't
-// contain everything that will be returned via 'getPropertyNames'
-/**
- * Returns the Message properties contained within this Message instance in
- * a new Unmodifiable Map instance.
- *
- * @return a Map containing the properties of this Message that cannot be 
modified.
- *
- * @throws JMSException if an error occurs while accessing the Message 
properties.
- */
-public MapString, Object getProperties() throws JMSException;
-
 /**
  * Returns the property names for this Message instance. The Set returned 
may be
  * manipulated by the receiver without impacting the facade, and an empty 
set

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/616f0e77/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 8075b35..1fd1048 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
@@ -24,7 +24,6 @@ import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_T
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -149,12 +148,6 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 }
 
 @Override
-public MapString, Object getProperties() throws JMSException {
-lazyCreateApplicationProperties();
-return Collections.unmodifiableMap(new HashMapString, 
Object(applicationPropertiesMap));
-}
-
-@Override
 public boolean propertyExists(String key) throws JMSException {
 return AmqpJmsMessagePropertyIntercepter.propertyExists(this, key);
 }
@@ -174,6 +167,7 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
  *
  * @return a set of property names in the message or an empty set if none 
are set.
  */
+@Override
 public SetString getPropertyNames() {
 SetString properties = 
AmqpJmsMessagePropertyIntercepter.getPropertyNames(this);
 if (applicationPropertiesMap != null) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/616f0e77/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java

git commit: Test the AmqpJmsMapMessageFacade

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 616f0e773 - ee5042c14


Test the AmqpJmsMapMessageFacade

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

Branch: refs/heads/master
Commit: ee5042c14cb50326318c07963947ea3667ac838b
Parents: 616f0e7
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 16:38:21 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 16:38:21 2014 -0400

--
 .../message/AmqpJmsMapMessageFacadeTest.java| 234 +++
 1 file changed, 234 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ee5042c1/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
new file mode 100644
index 000..3475dcf
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
@@ -0,0 +1,234 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp.message;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsTopic;
+import org.apache.qpid.jms.provider.amqp.AmqpConnection;
+import org.apache.qpid.jms.provider.amqp.AmqpConsumer;
+import org.apache.qpid.jms.test.QpidJmsTestCase;
+import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.messaging.AmqpSequence;
+import org.apache.qpid.proton.amqp.messaging.AmqpValue;
+import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
+import org.apache.qpid.proton.message.Message;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+/**
+ * Test for the AmqpJmsMapMessageFacade class
+ */
+public class AmqpJmsMapMessageFacadeTest extends QpidJmsTestCase {
+
+private JmsDestination consumerDestination;
+
+@Before
+@Override
+public void setUp() throws Exception {
+super.setUp();
+consumerDestination = new JmsTopic(TestTopic);
+};
+
+//-- Test initial state of newly created message 
-//
+
+@Test
+public void testNewMessageToSendContainsMessageTypeAnnotation() throws 
Exception {
+AmqpJmsMapMessageFacade amqpMapMessageFacade = 
createNewMapMessageFacade();
+
+Message protonMessage = amqpMapMessageFacade.getAmqpMessage();
+MessageAnnotations annotations = protonMessage.getMessageAnnotations();
+MapSymbol, Object annotationsMap = annotations.getValue();
+
+assertNotNull(MessageAnnotations section was not present, 
annotations);
+assertNotNull(MessageAnnotations section value was not present, 
annotationsMap);
+
+assertTrue(expected message type annotation to be present, 
annotationsMap.containsKey(AmqpMessageSupport.getSymbol(AmqpMessageSupport.JMS_MSG_TYPE)));
+assertEquals(unexpected value for message type annotation value, 
AmqpMessageSupport.JMS_MAP_MESSAGE, 
annotationsMap.get(AmqpMessageSupport.getSymbol(AmqpMessageSupport.JMS_MSG_TYPE)));
+}
+
+@Test
+public void testNewMessageToSendClearBodyDoesNotFail() throws Exception {
+AmqpJmsMapMessageFacade amqpMapMessageFacade = 
createNewMapMessageFacade();
+amqpMapMessageFacade.clearBody();
+}
+
+@Test

[4/5] git commit: Fix isEmpty method.

2014-10-08 Thread tabish
Fix isEmpty method.

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

Branch: refs/heads/master
Commit: 38f8737087c06d56bef69d2562fa48b8749dce0d
Parents: 3a85add
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:11:32 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:11:32 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/38f87370/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 7ab8d4a..d428a0f 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
@@ -104,7 +104,7 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
 @Override
 public boolean isEmpty() {
 Binary payload = getBinaryFromBody();
-return payload != null  payload.getLength()  0;
+return payload == null || payload.getLength() == 0;
 }
 
 @Override


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



[2/5] git commit: Update JavaDoc comment.

2014-10-08 Thread tabish
Update JavaDoc comment.

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

Branch: refs/heads/master
Commit: 1cfb756495e0d35ff476ef219f202245ba9db77e
Parents: 73fb97a
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 16:59:27 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 16:59:27 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1cfb7564/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
index 6791086..894ff3a 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
@@ -43,6 +43,8 @@ public class AmqpJmsObjectMessageFacade extends 
AmqpJmsMessageFacade implements
  *
  * @param connection
  *the AmqpConnection that under which this facade was created.
+ * @param isAmqpTypeEncoded
+ *controls the type used to encode the body.
  */
 public AmqpJmsObjectMessageFacade(AmqpConnection connection, boolean 
isAmqpTypeEncoded) {
 super(connection);


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



[5/5] git commit: Test coverage of AmqpJmsMessageFactory.

2014-10-08 Thread tabish
Test coverage of AmqpJmsMessageFactory.

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

Branch: refs/heads/master
Commit: 803400254918a33bee8fe50bcf8a5d439afd2e8b
Parents: 38f8737
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:18:26 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:18:26 2014 -0400

--
 .../amqp/message/AmqpJmsMessageFactoryTest.java | 205 +++
 1 file changed, 205 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/80340025/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactoryTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactoryTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactoryTest.java
new file mode 100644
index 000..70d8fd0
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactoryTest.java
@@ -0,0 +1,205 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp.message;
+
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_BYTES_MESSAGE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_MAP_MESSAGE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_MESSAGE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_OBJECT_MESSAGE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_STREAM_MESSAGE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_TEXT_MESSAGE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+
+import javax.jms.JMSException;
+
+import org.apache.qpid.jms.message.JmsBytesMessage;
+import org.apache.qpid.jms.message.JmsMapMessage;
+import org.apache.qpid.jms.message.JmsMessage;
+import org.apache.qpid.jms.message.JmsObjectMessage;
+import org.apache.qpid.jms.message.JmsStreamMessage;
+import org.apache.qpid.jms.message.JmsTextMessage;
+import org.apache.qpid.jms.message.facade.JmsBytesMessageFacade;
+import org.apache.qpid.jms.message.facade.JmsMapMessageFacade;
+import org.apache.qpid.jms.message.facade.JmsMessageFacade;
+import org.apache.qpid.jms.message.facade.JmsObjectMessageFacade;
+import org.apache.qpid.jms.message.facade.JmsStreamMessageFacade;
+import org.apache.qpid.jms.message.facade.JmsTextMessageFacade;
+import org.apache.qpid.jms.provider.amqp.AmqpConnection;
+import org.apache.qpid.jms.test.QpidJmsTestCase;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+/**
+ * Tests for the AMQP JMS Message Factory class.
+ */
+public class AmqpJmsMessageFactoryTest extends QpidJmsTestCase {
+
+@Test
+public void testAmqpJmsMessageFactoryAmqpConnection() {
+AmqpJmsMessageFactory factory = new 
AmqpJmsMessageFactory(createMockAmqpConnection());
+assertNotNull(factory.getAmqpConnection());
+}
+
+@Test
+public void testCreateMessage() throws JMSException {
+AmqpJmsMessageFactory factory = new 
AmqpJmsMessageFactory(createMockAmqpConnection());
+JmsMessage message = factory.createMessage();
+JmsMessageFacade facade = message.getFacade();
+assertTrue(facade instanceof AmqpJmsMessageFacade);
+AmqpJmsMessageFacade amqpMessage = (AmqpJmsMessageFacade) facade;
+
+assertEquals

[1/5] git commit: Add configuration value to control AmqpJmsObjectMessage creation using serialized or AMQP types.

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master ee5042c14 - 803400254


Add configuration value to control AmqpJmsObjectMessage creation using
serialized or AMQP types.

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

Branch: refs/heads/master
Commit: 73fb97a87ffd9cde8c3cef724a7d91ba4571a93b
Parents: ee5042c
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 16:57:17 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 16:57:17 2014 -0400

--
 .../qpid/jms/provider/amqp/AmqpConnection.java   | 19 +++
 1 file changed, 19 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/73fb97a8/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
index 20aab19..e53d5da 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
@@ -55,6 +55,7 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 private String tempQueuePrefix;
 private String tempTopicPrefix;
 
+private boolean objectMessageUsesAmqpTypes = false;
 private boolean anonymousProducerCache = false;
 private int anonymousProducerCacheSize = 10;
 
@@ -304,6 +305,24 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 }
 
 /**
+ * @return true if new ObjectMessage instance should default to using AMQP 
Typed bodies.
+ */
+public boolean isObjectMessageUsesAmqpTypes() {
+return objectMessageUsesAmqpTypes;
+}
+
+/**
+ * Configures the body type used in ObjectMessage instances that are sent 
from
+ * this connection.
+ *
+ * @param objectMessageUsesAmqpTypes
+ *the objectMessageUsesAmqpTypes value to set.
+ */
+public void setObjectMessageUsesAmqpTypes(boolean 
objectMessageUsesAmqpTypes) {
+this.objectMessageUsesAmqpTypes = objectMessageUsesAmqpTypes;
+}
+
+/**
  * @return the AMQP based JmsMessageFactory for this Connection.
  */
 public AmqpJmsMessageFactory getAmqpMessageFactory() {


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



[3/5] git commit: Make the object immutable and read the encoding type for new Object mesage types from the parent connection.

2014-10-08 Thread tabish
Make the object immutable and read the encoding type for new Object
mesage types from the parent connection.

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

Branch: refs/heads/master
Commit: 3a85adddb4c44f63b520203ab81e906171c9db07
Parents: 1cfb756
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 17:00:01 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 17:00:01 2014 -0400

--
 .../provider/amqp/message/AmqpJmsMessageFactory.java| 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/3a85addd/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactory.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactory.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactory.java
index 214d8e4..02d6f3b 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFactory.java
@@ -41,10 +41,7 @@ import org.apache.qpid.jms.provider.amqp.AmqpConnection;
  */
 public class AmqpJmsMessageFactory implements JmsMessageFactory {
 
-private AmqpConnection connection;
-
-public AmqpJmsMessageFactory() {
-}
+private final AmqpConnection connection;
 
 public AmqpJmsMessageFactory(AmqpConnection connection) {
 this.connection = connection;
@@ -54,10 +51,6 @@ public class AmqpJmsMessageFactory implements 
JmsMessageFactory {
 return this.connection;
 }
 
-public void setAmqpConnection(AmqpConnection connection) {
-this.connection = connection;
-}
-
 @Override
 public JmsMessage createMessage() throws JMSException {
 return new JmsMessage(new AmqpJmsMessageFacade(connection));
@@ -102,8 +95,7 @@ public class AmqpJmsMessageFactory implements 
JmsMessageFactory {
 
 @Override
 public JmsObjectMessage createObjectMessage(Serializable payload) throws 
JMSException {
-// TODO Implement [Connection?] configuration to control default 
delegate type?
-JmsObjectMessageFacade facade = new 
AmqpJmsObjectMessageFacade(connection, false);
+JmsObjectMessageFacade facade = new 
AmqpJmsObjectMessageFacade(connection, 
connection.isObjectMessageUsesAmqpTypes());
 
 if (payload != null) {
 try {


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



git commit: Add more to the TODO comment.

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 803400254 - 459893d36


Add more to the TODO comment.

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

Branch: refs/heads/master
Commit: 459893d36926c73dae7627046c4f70740ab83cc5
Parents: 8034002
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:24:55 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:24:55 2014 -0400

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


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/459893d3/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 1a2450e..33ed19c 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
@@ -244,6 +244,10 @@ public class JmsMessage implements javax.jms.Message {
 
 //TODO: Handle any other relevant JMSX properties.
 //TODO: Possibly push this to the facade or interceptors?
+//  It makes sense to chain the call to clear through the 
JmsMessagePropertyIntercepor
+//  which would in turn call the clear on the facade which could 
then allow its own
+//  intercepter to clear any managed JMS_AMQP properties before 
the facade does it's
+//  final clear on the message level properties.
 //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



[4/5] git commit: Fix isEmpty()

2014-10-08 Thread tabish
Fix isEmpty()

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

Branch: refs/heads/master
Commit: 3780502243d99c826685ff6033eecfb2ae9a3769
Parents: fe1114d
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:46:09 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:46:09 2014 -0400

--
 .../provider/amqp/message/AmqpJmsTextMessageFacade.java   | 10 ++
 1 file changed, 10 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/37805022/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
index a7a55cd..e1da812 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
@@ -145,6 +145,16 @@ public class AmqpJmsTextMessageFacade extends 
AmqpJmsMessageFacade implements Jm
 
 if (body == null) {
 return true;
+} else if (body instanceof AmqpValue) {
+AmqpValue value = (AmqpValue) body;
+if (value.getValue() == null) {
+return true;
+} else {
+String text = (String) value.getValue();
+if (text.isEmpty()) {
+return true;
+}
+}
 } else if (body instanceof Data) {
 Data data = (Data) body;
 if (data.getValue() == null || data.getValue().getLength() == 0) {


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



[3/5] git commit: Break out some common bits into a base class for all the AMQP message facades to use in their test cases.

2014-10-08 Thread tabish
Break out some common bits into a base class for all the AMQP message
facades to use in their test cases.

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

Branch: refs/heads/master
Commit: fe1114d22a61121408b50b641af91c96cd94aa10
Parents: 8c223ae
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:41:39 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:41:39 2014 -0400

--
 .../message/AmqpJmsMapMessageFacadeTest.java| 39 +
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 26 +-
 .../message/AmqpJmsMessageTypesTestCase.java| 83 
 .../message/AmqpJmsStreamMessageFacadeTest.java | 41 +-
 4 files changed, 87 insertions(+), 102 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe1114d2/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
index 9d37241..cc70a0c 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
@@ -27,33 +27,17 @@ import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.qpid.jms.JmsDestination;
-import org.apache.qpid.jms.JmsTopic;
-import org.apache.qpid.jms.provider.amqp.AmqpConnection;
-import org.apache.qpid.jms.provider.amqp.AmqpConsumer;
-import org.apache.qpid.jms.test.QpidJmsTestCase;
 import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.messaging.AmqpSequence;
 import org.apache.qpid.proton.amqp.messaging.AmqpValue;
 import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
 import org.apache.qpid.proton.message.Message;
-import org.junit.Before;
 import org.junit.Test;
-import org.mockito.Mockito;
 
 /**
  * Test for the AmqpJmsMapMessageFacade class
  */
-public class AmqpJmsMapMessageFacadeTest extends QpidJmsTestCase {
-
-private JmsDestination consumerDestination;
-
-@Before
-@Override
-public void setUp() throws Exception {
-super.setUp();
-consumerDestination = new JmsTopic(TestTopic);
-};
+public class AmqpJmsMapMessageFacadeTest extends AmqpJmsMessageTypesTestCase {
 
 //-- Test initial state of newly created message 
-//
 
@@ -225,25 +209,4 @@ public class AmqpJmsMapMessageFacadeTest extends 
QpidJmsTestCase {
 amqpMapMessageFacade.put(entry, value);
 assertFalse(amqpMapMessageFacade.isEmpty());
 }
-
-//-- Test Support Methods 
//
-
-private AmqpJmsMapMessageFacade createNewMapMessageFacade() {
-return new AmqpJmsMapMessageFacade(createMockAmqpConnection());
-}
-
-private AmqpJmsMapMessageFacade 
createReceivedMapMessageFacade(AmqpConsumer amqpConsumer, Message message) {
-return new AmqpJmsMapMessageFacade(amqpConsumer, message);
-}
-
-private AmqpConsumer createMockAmqpConsumer() {
-AmqpConsumer consumer = Mockito.mock(AmqpConsumer.class);
-
Mockito.when(consumer.getConnection()).thenReturn(createMockAmqpConnection());
-
Mockito.when(consumer.getDestination()).thenReturn(consumerDestination);
-return consumer;
-}
-
-private AmqpConnection createMockAmqpConnection() {
-return Mockito.mock(AmqpConnection.class);
-}
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe1114d2/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 a497e16..250e09f 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
@@ -45,8 +45,6 @@ import org.apache.qpid.jms.JmsQueue;
 import org.apache.qpid.jms.JmsTemporaryQueue;
 import org.apache.qpid.jms.JmsTopic;
 import

[5/5] git commit: Start of AmqpJmsTextMessageFacadeTest

2014-10-08 Thread tabish
Start of AmqpJmsTextMessageFacadeTest

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

Branch: refs/heads/master
Commit: 5d6fc111fb5676c580f185ee859fcb7520d389ff
Parents: 3780502
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:54:49 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:54:49 2014 -0400

--
 .../message/AmqpJmsTextMessageFacadeTest.java   | 129 +++
 1 file changed, 129 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5d6fc111/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
new file mode 100644
index 000..3fbe30e
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
@@ -0,0 +1,129 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp.message;
+
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_MSG_TYPE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_TEXT_MESSAGE;
+import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.getSymbol;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+
+import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.messaging.AmqpValue;
+import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
+import org.apache.qpid.proton.message.Message;
+import org.junit.Test;
+
+/**
+ * Tests for class AmqpJmsTextMessageFacade
+ */
+public class AmqpJmsTextMessageFacadeTest extends AmqpJmsMessageTypesTestCase {
+
+//-- Test initial state of newly created message 
-//
+
+@Test
+public void testNewMessageToSendContainsMessageTypeAnnotation() throws 
Exception {
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createNewTextMessageFacade();
+
+Message protonMessage = amqpTextMessageFacade.getAmqpMessage();
+MessageAnnotations annotations = protonMessage.getMessageAnnotations();
+MapSymbol, Object annotationsMap = annotations.getValue();
+
+assertNotNull(MessageAnnotations section was not present, 
annotations);
+assertNotNull(MessageAnnotations section value was not present, 
annotationsMap);
+
+assertTrue(expected message type annotation to be present, 
annotationsMap.containsKey(AmqpMessageSupport.getSymbol(JMS_MSG_TYPE)));
+assertEquals(unexpected value for message type annotation value, 
JMS_TEXT_MESSAGE, annotationsMap.get(getSymbol(JMS_MSG_TYPE)));
+assertEquals(JMS_TEXT_MESSAGE, amqpTextMessageFacade.getJmsMsgType());
+}
+
+@Test
+public void testNewMessageToSendClearBodyDoesNotFail() throws Exception {
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createNewTextMessageFacade();
+amqpTextMessageFacade.clearBody();
+}
+
+@Test
+public void testNewMessageToSendReportsIsEmpty() throws Exception {
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createNewTextMessageFacade();
+amqpTextMessageFacade.clearBody();
+assertTrue(amqpTextMessageFacade.isEmpty());
+}
+
+@Test
+public void testNewMessageToSendReturnsNullText() throws Exception {
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createNewTextMessageFacade

[2/5] git commit: Remove unused method.

2014-10-08 Thread tabish
Remove unused method.

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

Branch: refs/heads/master
Commit: 8c223aead601151f0b624d0b83601abdcc5cd60b
Parents: 4cc4deb
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:40:41 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:40:41 2014 -0400

--
 .../jms/message/facade/defaults/JmsDefaultMessageFacade.java   | 6 --
 1 file changed, 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8c223aea/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 53a7679..dbc6ce0 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
@@ -347,10 +347,4 @@ public class JmsDefaultMessageFacade implements 
JmsMessageFacade {
 public void clearGroupSequence() {
 this.groupSequence = 0;
 }
-
-private void lazyCreateProperties() {
-if (properties == null) {
-properties = new HashMapString, Object();
-}
-}
 }


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



[1/5] git commit: Add test for copy()

2014-10-08 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 459893d36 - 5d6fc111f


Add test for copy()

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

Branch: refs/heads/master
Commit: 4cc4debd6c0f88f1f2dcb82ea765de7fd6af1412
Parents: 459893d
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 8 18:28:38 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 8 18:28:38 2014 -0400

--
 .../amqp/message/AmqpJmsMapMessageFacadeTest.java| 15 +++
 1 file changed, 15 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4cc4debd/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
index 3475dcf..9d37241 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacadeTest.java
@@ -123,6 +123,21 @@ public class AmqpJmsMapMessageFacadeTest extends 
QpidJmsTestCase {
 assertTrue(amqpMapMessageFacade.isEmpty());
 }
 
+@Test
+public void testMessageCopy() throws Exception {
+AmqpJmsMapMessageFacade amqpMapMessageFacade = 
createNewMapMessageFacade();
+amqpMapMessageFacade.put(entry1, value1);
+amqpMapMessageFacade.put(entry2, value2);
+amqpMapMessageFacade.put(entry3, value3);
+
+AmqpJmsMapMessageFacade copy = amqpMapMessageFacade.copy();
+assertTrue(copy.getMapNames().hasMoreElements());
+
+assertTrue(copy.itemExists(entry1));
+assertTrue(copy.itemExists(entry2));
+assertTrue(copy.itemExists(entry3));
+}
+
 // -- test handling of received messages 
-//
 
 @Test


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



git commit: Cover JMSException thrown when encoding doesn't match default UTF-8

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 04f7d6dc8 - b07c7faac


Cover JMSException thrown when encoding doesn't match default UTF-8

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

Branch: refs/heads/master
Commit: b07c7faacb5f6ba81714ca3c3a85fa6c88c7defe
Parents: 04f7d6d
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 10:41:50 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 10:41:50 2014 -0400

--
 .../message/AmqpJmsTextMessageFacadeTest.java| 19 +++
 1 file changed, 19 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b07c7faa/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
index 0747d77..d7cecca 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
@@ -30,6 +30,8 @@ import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Map;
 
+import javax.jms.JMSException;
+
 import 
org.apache.qpid.jms.test.testpeer.describedtypes.sections.DataDescribedType;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.Symbol;
@@ -240,4 +242,21 @@ public class AmqpJmsTextMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase {
 // expected
 }
 }
+
+@Test
+public void testGetTextWithUnknownEncodedDataThrowsJMSException() throws 
Exception {
+String encodedString = myEncodedString;
+byte[] encodedBytes = 
encodedString.getBytes(Charset.forName(UTF-16));
+
+Message message = Message.Factory.create();
+message.setBody(new Data(new Binary(encodedBytes)));
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+
+try {
+amqpTextMessageFacade.getText();
+fail(expected exception not thrown);
+} catch (JMSException ise) {
+// expected
+}
+}
 }


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



git commit: Add a couple more tests for connection state handling.

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master fdd1437c3 - d5ef8fb95


Add a couple more tests for connection state 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/d5ef8fb9
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/d5ef8fb9
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/d5ef8fb9

Branch: refs/heads/master
Commit: d5ef8fb95777e00d63be2c7067982a34f9962541
Parents: fdd1437
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 11:40:25 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 11:40:40 2014 -0400

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


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/d5ef8fb9/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
index b5700be..841fd51 100644
--- 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
@@ -27,16 +27,25 @@ import java.net.URI;
 import javax.jms.JMSException;
 
 import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
+import org.apache.qpid.jms.meta.JmsConnectionInfo;
+import org.apache.qpid.jms.meta.JmsResource;
 import org.apache.qpid.jms.provider.Provider;
+import org.apache.qpid.jms.provider.ProviderFuture;
 import org.apache.qpid.jms.util.IdGenerator;
 import org.junit.Test;
 import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Test basic functionality around JmsConnection
  */
 public class JmsConnectionTest {
 
+private static final Logger LOG = 
LoggerFactory.getLogger(JmsConnectionTest.class);
+
 private final Provider provider = Mockito.mock(Provider.class);
 private final IdGenerator clientIdGenerator = new IdGenerator();
 
@@ -47,6 +56,15 @@ public class JmsConnectionTest {
 }
 
 @Test
+public void testStateAfterCreate() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+
+assertFalse(connection.isStarted());
+assertFalse(connection.isClosed());
+assertFalse(connection.isConnected());
+}
+
+@Test
 public void testGetProvider() throws JMSException {
 JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
 assertSame(provider, connection.getProvider());
@@ -94,4 +112,26 @@ public class JmsConnectionTest {
 connection.addConnectionListener(listener);
 assertTrue(connection.removeConnectionListener(listener));
 }
+
+@Test
+public void testConnectionStart() throws JMSException, IOException {
+
+Mockito.doAnswer(new AnswerObject() {
+@Override
+public Object answer(InvocationOnMock invocation) throws Throwable 
{
+Object[] args = invocation.getArguments();
+LOG.debug(Handling provider create call);
+if (args[0] instanceof JmsConnectionInfo) {
+ProviderFuture request = (ProviderFuture) args[1];
+request.onSuccess();
+}
+return null;
+}
+}).when(provider).create(Mockito.any(JmsResource.class), 
Mockito.any(ProviderFuture.class));
+
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+assertFalse(connection.isConnected());
+connection.start();
+assertTrue(connection.isConnected());
+}
 }


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



[1/2] git commit: Allow creation in case we want to override the builder in the future based on connection properties.

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 5d3bfa274 - f2ff78e64


Allow creation in case we want to override the builder in the future
based on connection properties.

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

Branch: refs/heads/master
Commit: ac06fb2f9840353387bb7235cb32a91bc7b123b5
Parents: 5d3bfa2
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 12:57:52 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 12:57:58 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpJmsMessageBuilder.java   | 3 ---
 .../jms/provider/amqp/message/AmqpJmsMessageBuilderTest.java| 5 +
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ac06fb2f/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilder.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilder.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilder.java
index b1aade4..ab9dc61 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilder.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilder.java
@@ -50,9 +50,6 @@ import org.apache.qpid.proton.message.Message;
  */
 public class AmqpJmsMessageBuilder {
 
-private AmqpJmsMessageBuilder() {
-}
-
 /**
  * Create a new JmsMessage and underlying JmsMessageFacade that represents 
the proper
  * message type for the incoming AMQP message.

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ac06fb2f/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilderTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilderTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilderTest.java
index 994badf..36e467f 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilderTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageBuilderTest.java
@@ -61,6 +61,11 @@ public class AmqpJmsMessageBuilderTest extends 
QpidJmsTestCase {
 mockConsumer = Mockito.mock(AmqpConsumer.class);
 }
 
+@Test
+public void testCreate() {
+new AmqpJmsMessageBuilder();
+}
+
 // === With The Message Type Annotation =
 // ==
 


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



[2/2] git commit: Clean up JmsObjectMessage a bit and delegate toString() to the facade for a meaningful content string.

2014-10-09 Thread tabish
Clean up JmsObjectMessage a bit and delegate toString() to the facade
for a meaningful content string.

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

Branch: refs/heads/master
Commit: f2ff78e64cc8c1bf1b36d7a3e43b6c049e2c786b
Parents: ac06fb2
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 13:53:05 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 13:53:05 2014 -0400

--
 .../qpid/jms/message/JmsObjectMessage.java  | 47 +---
 .../qpid/jms/message/JmsObjectMessageTest.java  | 14 ++
 2 files changed, 15 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f2ff78e6/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java
index e439764..ec491c9 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java
@@ -24,30 +24,6 @@ import javax.jms.ObjectMessage;
 
 import org.apache.qpid.jms.message.facade.JmsObjectMessageFacade;
 
-/**
- * An CODEObjectMessage/CODE object is used to send a message that 
contains a serializable
- * object in the Java programming language (Java object). It inherits from 
the
- * CODEMessage/CODE interface and adds a body containing a single 
reference to an object.
- * Only CODESerializable/CODE Java objects can be used.
- * p/
- * p/
- * If a collection of Java objects must be sent, one of the 
CODECollection/CODE classes
- * provided since JDK 1.2 can be used.
- * p/
- * p/
- * When a client receives an CODEObjectMessage/CODE, it is in read-only 
mode. If a client
- * attempts to write to the message at this point, a 
CODEMessageNotWriteableException/CODE
- * is thrown. If CODEclearBody/CODE is called, the message can now be both 
read from and
- * written to.
- *
- * @see javax.jms.Session#createObjectMessage()
- * @see javax.jms.Session#createObjectMessage(Serializable)
- * @see javax.jms.BytesMessage
- * @see javax.jms.MapMessage
- * @see javax.jms.Message
- * @see javax.jms.StreamMessage
- * @see javax.jms.TextMessage
- */
 public class JmsObjectMessage extends JmsMessage implements ObjectMessage {
 
 private final JmsObjectMessageFacade facade;
@@ -64,21 +40,6 @@ public class JmsObjectMessage extends JmsMessage implements 
ObjectMessage {
 return other;
 }
 
-/**
- * Sets the serializable object containing this message's data. It is 
important to note that
- * an CODEObjectMessage/CODE contains a snapshot of the object at the 
time
- * CODEsetObject()/CODE is called; subsequent modifications of the 
object will have no
- * effect on the CODEObjectMessage/CODE body.
- *
- * @param newObject
- *the message's data
- * @throws JMSException
- * if the JMS provider fails to set the object due to some 
internal error.
- * @throws javax.jms.MessageFormatException
- * if object serialization fails.
- * @throws javax.jms.MessageNotWriteableException
- * if the message is in read-only mode.
- */
 @Override
 public void setObject(Serializable newObject) throws JMSException {
 checkReadOnlyBody();
@@ -89,12 +50,6 @@ public class JmsObjectMessage extends JmsMessage implements 
ObjectMessage {
 }
 }
 
-/**
- * Gets the serializable object containing this message's data. The 
default value is null.
- *
- * @return the serializable object containing this message's data
- * @throws JMSException
- */
 @Override
 public Serializable getObject() throws JMSException {
 try {
@@ -106,6 +61,6 @@ public class JmsObjectMessage extends JmsMessage implements 
ObjectMessage {
 
 @Override
 public String toString() {
-return super.toString();
+return JmsObjectMessageFacade {  + facade.toString() +  };
 }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f2ff78e6/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java
index 77ab160..5ba2bf2 100644
--- 
a/qpid-jms-client/src/test/java/org

git commit: Delegate all toString methods in the JMS Message classes to their facade instance for creation of a meaningful message string.

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master f2ff78e64 - f4dd5875e


Delegate all toString methods in the JMS Message classes to their facade
instance for creation of a meaningful message string.

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

Branch: refs/heads/master
Commit: f4dd5875e3d0adbc51c8e06221261e6dde3ebbb4
Parents: f2ff78e
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 14:30:11 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 14:30:11 2014 -0400

--
 .../qpid/jms/message/JmsBytesMessage.java   |  2 +-
 .../apache/qpid/jms/message/JmsMapMessage.java  |  3 +--
 .../org/apache/qpid/jms/message/JmsMessage.java |  5 +
 .../qpid/jms/message/JmsStreamMessage.java  |  3 +--
 .../apache/qpid/jms/message/JmsTextMessage.java | 10 +-
 .../qpid/jms/message/JmsBytesMessageTest.java   |  6 ++
 .../qpid/jms/message/JmsMapMessageTest.java |  6 ++
 .../apache/qpid/jms/message/JmsMessageTest.java |  6 ++
 .../qpid/jms/message/JmsStreamMessageTest.java  | 10 +++---
 .../qpid/jms/message/JmsTextMessageTest.java| 20 
 10 files changed, 38 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f4dd5875/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
index 6de4180..f5a6cf7 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
@@ -399,7 +399,7 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 
 @Override
 public String toString() {
-return super.toString() +  JmsBytesMessage{  + bytesOut =  + 
dataOut + , dataIn =  + dataIn +  };
+return JmsBytesMessage {  + facade +  };
 }
 
 private void initializeWriting() throws JMSException {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f4dd5875/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
index e79cd78..659d4f7 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMapMessage.java
@@ -300,8 +300,7 @@ public class JmsMapMessage extends JmsMessage implements 
MapMessage {
 
 @Override
 public String toString() {
-// TODO - better toString implementation.
-return JmsMapMessage{ };
+return JmsMapMessage {  + facade +  };
 }
 
 private void put(String name, Object value) throws JMSException {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f4dd5875/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 33ed19c..a67f941 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
@@ -564,6 +564,11 @@ public class JmsMessage implements javax.jms.Message {
 facade.setRedelivered(redelivered);
 }
 
+@Override
+public String toString() {
+return JmsMessage {  + facade +  };
+}
+
 protected void checkReadOnlyProperties() throws 
MessageNotWriteableException {
 if (readOnlyProperties) {
 throw new MessageNotWriteableException(Message properties are 
read-only);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f4dd5875/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsStreamMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsStreamMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsStreamMessage.java
index b293274..05a4b79 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsStreamMessage.java
+++ 
b/qpid-jms-client/src/main

git commit: Clean up in JmsMessage a bit, adds more test coverage.

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master f4dd5875e - c9d6407a7


Clean up in JmsMessage a bit, adds more test coverage.

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

Branch: refs/heads/master
Commit: c9d6407a7f8db4f9320bc89c63f61a6ef1ff6dd4
Parents: f4dd587
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 16:32:09 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 16:32:09 2014 -0400

--
 .../org/apache/qpid/jms/message/JmsMessage.java |  69 ++-
 .../apache/qpid/jms/message/JmsMessageTest.java | 118 +--
 2 files changed, 118 insertions(+), 69 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9d6407a/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 a67f941..e9838ca 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
@@ -19,8 +19,6 @@ package org.apache.qpid.jms.message;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
 
@@ -65,11 +63,7 @@ public class JmsMessage implements javax.jms.Message {
 
 @Override
 public int hashCode() {
-String id = null;
-try {
-id = getJMSMessageID();
-} catch (JMSException e) {
-}
+String id = facade.getMessageId();
 
 if (id != null) {
 return id.hashCode();
@@ -119,6 +113,10 @@ public class JmsMessage implements javax.jms.Message {
 this.readOnlyBody = readOnlyBody;
 }
 
+public boolean isReadOnlyProperties() {
+return this.readOnlyProperties;
+}
+
 public void setReadOnlyProperties(boolean readOnlyProperties) {
 this.readOnlyProperties = readOnlyProperties;
 }
@@ -200,12 +198,12 @@ public class JmsMessage implements javax.jms.Message {
 
 @Override
 public boolean getJMSRedelivered() throws JMSException {
-return this.isRedelivered();
+return facade.isRedelivered();
 }
 
 @Override
 public void setJMSRedelivered(boolean redelivered) throws JMSException {
-this.setRedelivered(redelivered);
+facade.setRedelivered(redelivered);
 }
 
 @Override
@@ -257,37 +255,6 @@ public class JmsMessage implements javax.jms.Message {
 return JmsMessagePropertyIntercepter.propertyExists(facade, name);
 }
 
-/**
- * Allows for a direct put of an Object value into the message properties.
- *
- * This method bypasses the normal JMS type checking for properties being 
set on
- * the message and should be used with great care.
- *
- * @param key
- *the property name to use when setting the value.
- * @param value
- *the value to insert into the message properties.
- *
- * @throws JMSException if an error occurs while accessing the Message 
properties.
- */
-public void setProperty(String key, Object value) throws JMSException {
-this.facade.setProperty(key, value);
-}
-
-/**
- * Returns the Object value referenced by the given key.
- *
- * @param key
- *the name of the property being accessed.
- *
- * @return the value stored at the given location or null if non set.
- *
- * @throws JMSException if an error occurs while accessing the Message 
properties.
- */
-public Object getProperty(String key) throws JMSException {
-return this.facade.getProperty(key);
-}
-
 @Override
 public Enumeration? getPropertyNames() throws JMSException {
 SetString result = facade.getPropertyNames();
@@ -317,13 +284,6 @@ public class JmsMessage implements javax.jms.Message {
 JmsMessagePropertyIntercepter.setProperty(facade, name, value);
 }
 
-public void setProperties(MapString, Object properties) throws 
JMSException {
-for (IteratorMap.EntryString, Object iter = 
properties.entrySet().iterator(); iter.hasNext();) {
-Map.EntryString, Object entry = iter.next();
-setObjectProperty(entry.getKey(), entry.getValue());
-}
-}
-
 protected void checkValidObject(Object value) throws 
MessageFormatException {
 boolean valid

[1/4] git commit: Add some additional tests

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master c9d6407a7 - 80807b34d


Add some additional 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/46341887
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/46341887
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/46341887

Branch: refs/heads/master
Commit: 463418876b97b966ac465b0f9c6f0115d30ee342
Parents: c9d6407
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 17:07:27 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 17:07:27 2014 -0400

--
 .../qpid/jms/message/JmsMapMessageTest.java |  5 
 .../qpid/jms/message/JmsStreamMessageTest.java  | 26 
 2 files changed, 31 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/46341887/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
index 7a19c9e..75e8d46 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
@@ -367,6 +367,11 @@ public class JmsMapMessageTest {
 assertEquals(value not as expected, value, 
mapMessage.getBoolean(name));
 
 assertGetMapEntryEquals(mapMessage, name, String.valueOf(value), 
String.class);
+
+mapMessage.setBoolean(name, !value);
+assertEquals(value not as expected, !value, 
mapMessage.getBoolean(name));
+
+assertGetMapEntryEquals(mapMessage, name, String.valueOf(!value), 
String.class);
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/46341887/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
index 422b63b..d9e4106 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.math.BigInteger;
+import java.net.URI;
 import java.util.Arrays;
 
 import javax.jms.JMSException;
@@ -34,7 +35,9 @@ import javax.jms.MessageNotReadableException;
 import javax.jms.MessageNotWriteableException;
 import javax.jms.StreamMessage;
 
+import org.apache.qpid.jms.message.facade.JmsStreamMessageFacade;
 import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFactory;
+import 
org.apache.qpid.jms.message.facade.defaults.JmsDefaultStreamMessageFacade;
 import org.junit.Test;
 
 public class JmsStreamMessageTest {
@@ -1051,6 +1054,29 @@ public class JmsStreamMessageTest {
 assertGetStreamEntryThrowsMessageFormatException(streamMessage, 
byte[].class);
 }
 
+// = read failures 
+
+@Test(expected=NullPointerException.class)
+public void testReadBytesWithNullArrayThrowsNPE() throws JMSException {
+JmsStreamMessage streamMessage = factory.createStreamMessage();
+streamMessage.reset();
+streamMessage.readBytes(null);
+}
+
+@Test
+public void testReadObjectGetsInvalidObjectThrowsMFE() throws Exception {
+JmsStreamMessageFacade facade = new JmsDefaultStreamMessageFacade();
+JmsStreamMessage streamMessage = new JmsStreamMessage(facade);
+facade.put(new URI(test://test));
+streamMessage.reset();
+
+try {
+streamMessage.readObject();
+fail(Should have thrown an exception);
+} catch (MessageFormatException mfe) {
+}
+}
+
 // = utility methods 
 
 private void assertGetStreamEntryEquals(JmsStreamMessage testMessage, 
boolean resetStreamAfter, Object expectedValue, Class? clazz) throws 
JMSException {


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



[2/4] git commit: Remove an unneeded public accessor and just make the calls directly in the AmqpConsumer

2014-10-09 Thread tabish
Remove an unneeded public accessor and just make the calls directly in
the AmqpConsumer 

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

Branch: refs/heads/master
Commit: 343a075f76cbafbb917c374d4ec152f20fe2f203
Parents: 4634188
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 17:24:11 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 17:24:11 2014 -0400

--
 .../org/apache/qpid/jms/message/JmsInboundMessageDispatch.java   | 4 
 .../src/main/java/org/apache/qpid/jms/message/JmsMessage.java| 4 
 .../java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java | 3 ++-
 3 files changed, 2 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/343a075f/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
index c8129ca..bafa945 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
@@ -49,10 +49,6 @@ public class JmsInboundMessageDispatch extends 
JmsAbstractResourceId {
 this.consumerId = consumerId;
 }
 
-public void onMessageRedelivered() {
-this.message.incrementRedeliveryCount();
-}
-
 public void setMessageId(Object object) {
 this.messageId = object;
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/343a075f/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 e9838ca..9c1cc0e 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
@@ -505,10 +505,6 @@ public class JmsMessage implements javax.jms.Message {
 return expireTime  0  System.currentTimeMillis()  expireTime;
 }
 
-public void incrementRedeliveryCount() {
-facade.setDeliveryCount(facade.getDeliveryCount() + 1);
-}
-
 public JmsMessageFacade getFacade() {
 return this.facade;
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/343a075f/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
index 515449e..0af029b 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
@@ -267,7 +267,8 @@ public class AmqpConsumer extends 
AbstractAmqpResourceJmsConsumerInfo, Receiver
 // TODO - increment redelivery counter and apply connection 
redelivery policy
 //to those messages that are past max redlivery.
 JmsInboundMessageDispatch envelope = (JmsInboundMessageDispatch) 
delivery.getContext();
-envelope.onMessageRedelivered();
+envelope.getMessage().getFacade().setRedeliveryCount(
+envelope.getMessage().getFacade().getRedeliveryCount() + 1);
 deliver(envelope);
 }
 delivered.clear();


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



[3/4] git commit: Add extra test cases to fully cover equals.

2014-10-09 Thread tabish
Add extra test cases to fully cover equals.

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

Branch: refs/heads/master
Commit: 1626a3ec29c49f4681cc17e09e28eda994e8235d
Parents: 343a075
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 17:29:43 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 17:29:43 2014 -0400

--
 .../message/JmsInboundMessageDispatchTest.java  | 37 
 1 file changed, 37 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1626a3ec/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
index f40f3b2..d80f4f1 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
@@ -32,6 +32,43 @@ import org.junit.Test;
 public class JmsInboundMessageDispatchTest {
 
 @Test
+public void testEqualsWithNullAndOtherTypes() {
+JmsInboundMessageDispatch envelope = new JmsInboundMessageDispatch(1);
+assertFalse(envelope.equals(null));
+assertFalse(envelope.equals());
+}
+
+@Test
+public void 
testEqualAndHashCodeWithNotInitializedAndInitializedEnvelopes() {
+JmsSessionId sessionId = new JmsSessionId(con, 1);
+
+long sequence = 1;
+JmsInboundMessageDispatch envelope1 = new 
JmsInboundMessageDispatch(sequence);
+
+JmsInboundMessageDispatch envelope2 = new 
JmsInboundMessageDispatch(sequence);
+JmsConsumerId consumerId2 = new JmsConsumerId(sessionId, 2);
+envelope2.setConsumerId(consumerId2);
+envelope2.setMessageId(myMessageId);
+
+assertFalse(objects should not be equal, 
envelope1.equals(envelope2));
+assertFalse(objects should still not be equal, 
envelope2.equals(envelope1));
+
+// Not strictly a requirement, but expected in this case
+assertNotEquals(hashCodes should not be the same, 
envelope1.hashCode(), envelope2.hashCode());
+
+envelope2.setMessageId(null);
+assertFalse(objects should not be equal, 
envelope1.equals(envelope2));
+assertFalse(objects should still not be equal, 
envelope2.equals(envelope1));
+
+// Not strictly a requirement, but expected in this case
+assertNotEquals(hashCodes should not be the same, 
envelope1.hashCode(), envelope2.hashCode());
+
+envelope2.setConsumerId(null);
+assertTrue(objects should be equal, envelope1.equals(envelope2));
+assertTrue(objects should still be equal, 
envelope2.equals(envelope1));
+}
+
+@Test
 public void testEqualAndHashCodeWithSameSequenceOnly() {
 int sequence = 1;
 JmsInboundMessageDispatch envelope1 = new 
JmsInboundMessageDispatch(sequence);


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



[4/4] git commit: Enforce strings only for setting JMSXUserID and add tests for more of the interceptor methods and scenarios.

2014-10-09 Thread tabish
Enforce strings only for setting JMSXUserID and add tests for more of
the interceptor methods and scenarios.

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

Branch: refs/heads/master
Commit: 80807b34de5d6164b4bbfc1165a8f7f06880849f
Parents: 1626a3e
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 18:09:48 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 18:09:48 2014 -0400

--
 .../message/JmsMessagePropertyIntercepter.java  |  5 +-
 .../JmsMessagePropertyIntercepterTest.java  | 67 +++-
 2 files changed, 68 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/80807b34/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 617e47a..3a4b940 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
@@ -418,11 +418,10 @@ public class JmsMessagePropertyIntercepter {
 
 @Override
 public void setProperty(JmsMessageFacade message, Object value) 
throws JMSException {
-String rc = (String) TypeConversionSupport.convert(value, 
String.class);
-if (rc == null) {
+if (!(value instanceof String)) {
 throw new JMSException(Property JMSXUserID cannot be set 
from a  + value.getClass().getName() + .);
 }
-message.setUserId(rc);
+message.setUserId((String) value);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/80807b34/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 e67f42d..ee1b7b1 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
@@ -34,6 +34,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import javax.jms.JMSException;
 import javax.jms.Message;
@@ -46,6 +47,35 @@ import org.mockito.Mockito;
 
 public class JmsMessagePropertyIntercepterTest {
 
+//-- Non-Intercepted 
-//
+
+@Test
+public void testGetPropertyWithNonInterceptedNameCallsIntoFacade() throws 
JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+assertNull(JmsMessagePropertyIntercepter.getProperty(message, 
SomeRandomPropertyName));
+Mockito.verify(message).getProperty(Mockito.anyString());
+}
+
+@Test
+public void testSetPropertyWithNonInterceptedNameCallsIntoFacade() throws 
JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+JmsMessagePropertyIntercepter.setProperty(message, 
SomeRandomPropertyName, Something);
+Mockito.doThrow(new 
JMSException(Expected)).when(message).setProperty(Mockito.anyString(), 
Mockito.anyString());
+try {
+JmsMessagePropertyIntercepter.setProperty(message, 
SomeRandomPropertyName, Something);
+fail(Should have thrown);
+} catch (JMSException ex) {
+assertEquals(Expected, ex.getMessage());
+}
+}
+
+@Test
+public void testPropertyExistsWithNonInterceptedNameCallsIntoFacade() 
throws JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+assertFalse(JmsMessagePropertyIntercepter.propertyExists(message, 
SomeRandomPropertyName));
+Mockito.verify(message).propertyExists(Mockito.anyString());
+}
+
 //-- JMSDestination 
--//
 
 @Test
@@ -755,13 +785,24 @@ public class JmsMessagePropertyIntercepterTest

git commit: Fix issue when setting delivery mode from string, add more tests to cover.

2014-10-09 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 80807b34d - e85c74b46


Fix issue when setting delivery mode from string, add more tests to
cover.

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

Branch: refs/heads/master
Commit: e85c74b4698efcdbc55cf8e6952e1e9e34ca6f72
Parents: 80807b3
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 9 18:57:26 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 9 18:57:26 2014 -0400

--
 .../message/JmsMessagePropertyIntercepter.java  |  46 +--
 .../JmsMessagePropertyIntercepterTest.java  | 363 +--
 2 files changed, 365 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e85c74b4/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 3a4b940..63b6d24 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
@@ -112,26 +112,6 @@ public class JmsMessagePropertyIntercepter {
 STANDARD_HEADERS.add(JMS_EXPIRATION);
 STANDARD_HEADERS.add(JMS_PRIORITY);
 
-PROPERTY_INTERCEPTERS.put(JMSX_DELIVERY_COUNT, new 
PropertyIntercepter() {
-@Override
-public void setProperty(JmsMessageFacade message, Object value) 
throws JMSException {
-Integer rc = (Integer) TypeConversionSupport.convert(value, 
Integer.class);
-if (rc == null) {
-throw new JMSException(Property JMSXDeliveryCount cannot 
be set from a  + value.getClass().getName() + .);
-}
-message.setDeliveryCount(rc.intValue());
-}
-
-@Override
-public Object getProperty(JmsMessageFacade message) throws 
JMSException {
-return Integer.valueOf(message.getDeliveryCount());
-}
-
-@Override
-public boolean propertyExists(JmsMessageFacade message) {
-return true;
-}
-});
 PROPERTY_INTERCEPTERS.put(JMS_DESTINATION, new PropertyIntercepter() {
 @Override
 public void setProperty(JmsMessageFacade message, Object value) 
throws JMSException {
@@ -216,10 +196,12 @@ public class JmsMessagePropertyIntercepter {
 rc = DeliveryMode.PERSISTENT;
 } else if (((String) 
value).equalsIgnoreCase(NON_PERSISTENT)) {
 rc = DeliveryMode.NON_PERSISTENT;
-} else {
-throw nfe;
 }
 }
+
+if (rc == null) {
+throw nfe;
+}
 }
 if (rc == null) {
 Boolean bool = (Boolean) 
TypeConversionSupport.convert(value, Boolean.class);
@@ -361,6 +343,26 @@ public class JmsMessagePropertyIntercepter {
 return message.isRedelivered();
 }
 });
+PROPERTY_INTERCEPTERS.put(JMSX_DELIVERY_COUNT, new 
PropertyIntercepter() {
+@Override
+public void setProperty(JmsMessageFacade message, Object value) 
throws JMSException {
+Integer rc = (Integer) TypeConversionSupport.convert(value, 
Integer.class);
+if (rc == null) {
+throw new JMSException(Property JMSXDeliveryCount cannot 
be set from a  + value.getClass().getName() + .);
+}
+message.setDeliveryCount(rc.intValue());
+}
+
+@Override
+public Object getProperty(JmsMessageFacade message) throws 
JMSException {
+return Integer.valueOf(message.getDeliveryCount());
+}
+
+@Override
+public boolean propertyExists(JmsMessageFacade message) {
+return true;
+}
+});
 PROPERTY_INTERCEPTERS.put(JMSX_GROUPID, new PropertyIntercepter() {
 @Override
 public Object getProperty(JmsMessageFacade message) throws 
JMSException {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e85c74b4/qpid-jms-client/src/test/java/org/apache/qpid/jms/message

git commit: Add additional tests for property intercept on AMQP specific JMS properties.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 5c46a63c3 - ba54a036f


Add additional tests for property intercept on AMQP specific JMS
properties.

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

Branch: refs/heads/master
Commit: ba54a036f62f305e7f997cdfb36cb2da2342fc0e
Parents: 5c46a63
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 09:58:54 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 09:58:54 2014 -0400

--
 .../AmqpJmsMessagePropertyIntercepterTest.java  | 122 +++
 1 file changed, 122 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ba54a036/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
index d835eb5..96c0c79 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
@@ -24,14 +24,45 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import javax.jms.JMSException;
+import javax.jms.MessageFormatException;
 
 import org.junit.Test;
 import org.mockito.Mockito;
 
 public class AmqpJmsMessagePropertyIntercepterTest {
 
+//-- Non-Intercepted 
-//
+
+@Test
+public void testGetPropertyWithNonInterceptedNameCallsIntoFacade() throws 
JMSException {
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, 
SomeRandomPropertyName));
+Mockito.verify(message).getApplicationProperty(Mockito.anyString());
+}
+
+@Test
+public void testSetPropertyWithNonInterceptedNameCallsIntoFacade() throws 
JMSException {
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+AmqpJmsMessagePropertyIntercepter.setProperty(message, 
SomeRandomPropertyName, Something);
+Mockito.doThrow(new 
JMSException(Expected)).when(message).setApplicationProperty(Mockito.anyString(),
 Mockito.anyString());
+try {
+AmqpJmsMessagePropertyIntercepter.setProperty(message, 
SomeRandomPropertyName, Something);
+fail(Should have thrown);
+} catch (JMSException ex) {
+assertEquals(Expected, ex.getMessage());
+}
+}
+
+@Test
+public void testPropertyExistsWithNonInterceptedNameCallsIntoFacade() 
throws JMSException {
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, 
SomeRandomPropertyName));
+Mockito.verify(message).applicationPropertyExists(Mockito.anyString());
+}
+
 // JMS_AMQP_TTL 
--//
 
 @Test
@@ -77,6 +108,30 @@ public class AmqpJmsMessagePropertyIntercepterTest {
 
assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL));
 }
 
+@Test
+public void testJmsAmqpTtlIPropertExistsWhenSet() throws JMSException {
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+Mockito.when(message.hasAmqpTimeToLiveOverride()).thenReturn(true);
+Mockito.when(message.getAmqpTimeToLiveOverride()).thenReturn(65536L);
+assertTrue(AmqpJmsMessagePropertyIntercepter.propertyExists(message, 
JMS_AMQP_TTL));
+}
+
+@Test
+public void testJmsAmqpTtlPropertExistsWhenNotSet() throws JMSException {
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, 
JMS_AMQP_TTL));
+}
+
+@Test
+public void testSetJmsAmqpTtlConversionChecks() throws JMSException {
+AmqpJmsMessageFacade message = 
Mockito.mock(AmqpJmsMessageFacade.class);
+try {
+AmqpJmsMessagePropertyIntercepter.setProperty(message, 
JMS_AMQP_TTL, new byte[1]);
+fail(Should have

git commit: Add some additional tests.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master ba54a036f - 12cb11ef5


Add some additional 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/12cb11ef
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/12cb11ef
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/12cb11ef

Branch: refs/heads/master
Commit: 12cb11ef5a94144af44a0b2f2fefc59fa5aa2370
Parents: ba54a03
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 10:17:44 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 10:17:44 2014 -0400

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


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/12cb11ef/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 250e09f..7346559 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
@@ -59,6 +59,7 @@ import org.apache.qpid.proton.amqp.messaging.Properties;
 import org.apache.qpid.proton.codec.impl.DataImpl;
 import org.apache.qpid.proton.message.Message;
 import org.junit.Test;
+import org.mockito.Mockito;
 
 public class AmqpJmsMessageFacadeTest extends AmqpJmsMessageTypesTestCase  {
 
@@ -1676,4 +1677,21 @@ public class AmqpJmsMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase  {
 assertEquals(1, copy.getPropertyNames().size());
 assertEquals(amqpTtl, 
copy.getProperty(AmqpMessageSupport.JMS_AMQP_TTL));
 }
+
+// == AMQP Message Facade misc tests =
+// ===
+
+@Test
+public void testIsEmpty() {
+AmqpJmsMessageFacade message = createNewMessageFacade();
+assertTrue(message.isEmpty());
+}
+
+@Test
+public void testClearBodyRemoveMessageBody() {
+Message message = Mockito.mock(Message.class);
+JmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+amqpMessageFacade.clearBody();
+Mockito.verify(message).setBody(null);
+}
 }


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



git commit: Remove now unused parts of the interceptor classes and finish up the test coverage.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master d661352c9 - 7dbfa28c2


Remove now unused parts of the interceptor classes and finish up the
test coverage.  

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

Branch: refs/heads/master
Commit: 7dbfa28c2987e2390c6a29f739da7fbf12e00076
Parents: d661352
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 10:55:10 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 10:55:10 2014 -0400

--
 .../message/JmsMessagePropertyIntercepter.java  | 115 ---
 .../AmqpJmsMessagePropertyIntercepter.java  | 115 ---
 .../JmsMessagePropertyIntercepterTest.java  |   5 +
 .../AmqpJmsMessagePropertyIntercepterTest.java  |   5 +
 4 files changed, 10 insertions(+), 230 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/7dbfa28c/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 63b6d24..53bf779 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
@@ -541,119 +541,4 @@ public class JmsMessagePropertyIntercepter {
 }
 return names;
 }
-
-/**
- * Allows for the additional PropertyIntercepter instances to be added to 
the global set.
- *
- * @param propertyName
- *The name of the Message property that will be intercepted.
- * @param getter
- *The PropertyIntercepter instance that should be used for the 
named property.
- */
-public static void addPropertySetter(String propertyName, 
PropertyIntercepter getter) {
-PROPERTY_INTERCEPTERS.put(propertyName, getter);
-}
-
-/**
- * Given a property name, remove the configured intercepter that has been 
assigned to
- * intercept the queries for that property value.
- *
- * @param propertyName
- *The name of the PropertyIntercepter to remove.
- *
- * @return true if a getter was removed from the global set.
- */
-public static boolean removePropertySetter(String propertyName) {
-if (PROPERTY_INTERCEPTERS.remove(propertyName) != null) {
-return true;
-}
-
-return false;
-}
-
-private final String name;
-private final PropertyIntercepter jmsPropertyExpression;
-
-/**
- * Creates an new property getter instance that is assigned to read the 
named value.
- *
- * @param name
- *the property value that this getter is assigned to lookup.
- */
-public JmsMessagePropertyIntercepter(String name) {
-this.name = name;
-this.jmsPropertyExpression = PROPERTY_INTERCEPTERS.get(name);
-}
-
-/**
- * Gets the correct property value from the JmsMessageFacade instance 
based on
- * the predefined property mappings.
- *
- * @param message
- *the JmsMessageFacade whose property is being read.
- *
- * @return the correct value either mapped to an Message attribute of a 
Message property.
- *
- * @throws JMSException if an error occurs while reading the defined 
property.
- */
-public Object get(JmsMessageFacade message) throws JMSException {
-if (jmsPropertyExpression != null) {
-return jmsPropertyExpression.getProperty(message);
-}
-
-return message.getProperty(name);
-}
-
-/**
- * Sets the correct property value from the JmsMessageFacade instance 
based on
- * the predefined property mappings.
- *
- * @param message
- *the JmsMessageFacade whose property is being read.
- * @param value
- *the value to be set on the intercepted JmsMessageFacade property.
- *
- * @throws JMSException if an error occurs while reading the defined 
property.
- */
-public void set(JmsMessageFacade message, Object value) throws 
JMSException {
-if (jmsPropertyExpression != null) {
-jmsPropertyExpression.setProperty(message, value);
-} else {
-message.setProperty(name, value);
-}
-}
-
-/**
- * @return the property name that is being intercepted for the 
JmsMessageFacade.
- */
-public String getName

git commit: Add test for JmsOutboundMessageDispatch

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 7dbfa28c2 - 466975eba


Add test for JmsOutboundMessageDispatch

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

Branch: refs/heads/master
Commit: 466975ebaf56a246e436fa0e51f699f13ceb1a75
Parents: 7dbfa28
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 11:31:30 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 11:31:30 2014 -0400

--
 .../jms/message/JmsOutboundMessageDispatch.java |  4 ++
 .../message/JmsOutboundMessageDispatchTest.java | 71 
 2 files changed, 75 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/466975eb/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatch.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatch.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatch.java
index 44e211f..ac6b949 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatch.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatch.java
@@ -62,6 +62,10 @@ public class JmsOutboundMessageDispatch {
 return sendAsync;
 }
 
+public String getDispatchId() {
+return dispatchId;
+}
+
 public void setDispatchId(String dispatchId) {
 this.dispatchId = dispatchId;
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/466975eb/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatchTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatchTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatchTest.java
new file mode 100644
index 000..d28883d
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsOutboundMessageDispatchTest.java
@@ -0,0 +1,71 @@
+/**
+ * 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.message;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.qpid.jms.JmsTopic;
+import org.apache.qpid.jms.meta.JmsProducerId;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class JmsOutboundMessageDispatchTest {
+
+private JmsOutboundMessageDispatch envelope;
+
+@Before
+public void setUp() {
+envelope = new JmsOutboundMessageDispatch();
+}
+
+@Test
+public void testCreateState() {
+assertFalse(envelope.isSendAsync());
+assertNull(envelope.getDestination());
+assertNull(envelope.getMessage());
+assertNull(envelope.getProducerId());
+assertNull(envelope.getDispatchId());
+
+envelope.setDestination(new JmsTopic(test));
+envelope.setProducerId(new JmsProducerId(ID:test:1:0:1));
+envelope.setDispatchId(DispatchId);
+envelope.setMessage(Mockito.mock(JmsMessage.class));
+envelope.setSendAsync(true);
+
+assertTrue(envelope.isSendAsync());
+assertNotNull(envelope.getDestination());
+assertNotNull(envelope.getMessage());
+assertNotNull(envelope.getProducerId());
+assertNotNull(envelope.getDispatchId());
+}
+
+@Test
+public void testToString() {
+envelope.setDispatchId(TEST:ID);
+
assertTrue(envelope.toString().startsWith(JmsOutboundMessageDispatch));
+assertTrue(envelope.toString().contains(TEST:ID));
+}
+
+@Test
+public void testToStringNullDispatchId

git commit: Finish covering JMS message property handling tests pulling in old tests from previous client work.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 466975eba - 6045f0aee


Finish covering JMS message property handling tests pulling in old tests
from previous client work. 

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

Branch: refs/heads/master
Commit: 6045f0aeea54d9ddece50d1666e9126db043e138
Parents: 466975e
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 12:28:21 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 12:28:21 2014 -0400

--
 .../apache/qpid/jms/message/JmsMessageTest.java | 277 +++
 1 file changed, 277 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6045f0ae/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 42d7b62..8c17dfc 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
@@ -1057,4 +1057,281 @@ public class JmsMessageTest {
 } catch (JMSException e) {
 }
 }
+
+// Test that message property getters throw expected exceptions 
--//
+
+/**
+ * When a property is not set, the behaviour of JMS specifies that it is 
equivalent to a null value,
+ * and the primitive property accessors should behave in the same fashion 
as primitive.valueOf(String).
+ * Test that this is the case.
+ */
+@Test
+public void testGetMissingPrimitivePropertyResultsInExpectedBehaviour() 
throws Exception {
+String propertyName = does_not_exist;
+JmsMessage testMessage = factory.createMessage();
+
+//expect false from Boolean.valueOf(null).
+assertFalse(testMessage.getBooleanProperty(propertyName));
+
+//expect an NFE from the primitive integral type.valueOf(null) 
conversions
+assertGetMissingPropertyThrowsNumberFormatException(testMessage, 
propertyName, Byte.class);
+assertGetMissingPropertyThrowsNumberFormatException(testMessage, 
propertyName, Short.class);
+assertGetMissingPropertyThrowsNumberFormatException(testMessage, 
propertyName, Integer.class);
+assertGetMissingPropertyThrowsNumberFormatException(testMessage, 
propertyName, Long.class);
+
+// expect an NPE from the primitive floating point .valueOf(null)
+// conversions
+try {
+testMessage.getFloatProperty(propertyName);
+fail(expected NPE from Float.valueOf(null) was not thrown);
+} catch (NullPointerException npe) {
+}
+
+try {
+testMessage.getDoubleProperty(propertyName);
+fail(expected NPE from Double.valueOf(null) was not thrown);
+} catch (NullPointerException npe) {
+}
+}
+
+//-- Test Message Properties enforce compliant names 
-//
+
+/**
+ * Property 'identifiers' (i.e. names) must begin with a letter for which
+ * {@link Character#isJavaLetter(char)} is true, as described in
+ * {@link javax.jms.Message}. Verify an IAE is thrown if setting a property
+ * beginning with a non-letter character.
+ */
+@Test
+public void testSetPropertyWithNonLetterAsFirstCharacterThrowsIAE() throws 
Exception {
+String propertyName = 1name;
+JmsMessage testMessage = factory.createMessage();
+try {
+testMessage.setObjectProperty(propertyName, value);
+fail(expected rejection of identifier starting with non-letter 
character);
+} catch (IllegalArgumentException iae) {
+}
+}
+
+/**
+ * Property 'identifiers' (i.e. names) must continue with a letter or digit
+ * for which {@link Character#isJavaLetterOrDigit(char)} is true, as
+ * described in {@link javax.jms.Message}. Verify an IAE is thrown if
+ * setting a property continuing with a non-letter-or-digit character.
+ */
+@Test
+public void testSetPropertyWithNonLetterOrDigitCharacterThrowsIAE() throws 
Exception {
+String propertyName = name-invalid;
+JmsMessage testMessage = factory.createMessage();
+try {
+testMessage.setObjectProperty(propertyName, value);
+fail(expected rejection of identifier starting with non-letter 
character);
+} catch (IllegalArgumentException iae) {
+}
+}
+
+/**
+ * Property

git commit: Removing the isExpired method from JmsMessage. Will need to add something to the message facade later to allow a consumer to check prior to dispatch to ensure that prefetched messages get

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 6045f0aee - 40eb821c6


Removing the isExpired method from JmsMessage.  Will need to add
something to the message facade later to allow a consumer to check prior
to dispatch to ensure that prefetched messages get filtered if they
expired while sitting in the buffer.  Something along
message.getFacade().isExpired()

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

Branch: refs/heads/master
Commit: 40eb821c622f36252dcfbc36d9629a36496eb542
Parents: 6045f0a
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 12:34:44 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 12:34:44 2014 -0400

--
 .../main/java/org/apache/qpid/jms/message/JmsMessage.java   | 5 -
 .../java/org/apache/qpid/jms/message/JmsMessageTest.java| 9 -
 2 files changed, 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/40eb821c/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 9c1cc0e..77ac748 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
@@ -500,11 +500,6 @@ public class JmsMessage implements javax.jms.Message {
 this.connection = connection;
 }
 
-public boolean isExpired() throws JMSException {
-long expireTime = facade.getExpiration();
-return expireTime  0  System.currentTimeMillis()  expireTime;
-}
-
 public JmsMessageFacade getFacade() {
 return this.facade;
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/40eb821c/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 8c17dfc..b3ffc30 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
@@ -1019,15 +1019,6 @@ public class JmsMessageTest {
 }
 
 @Test
-public void testIsExpired() throws JMSException {
-JmsMessage msg = factory.createMessage();
-msg.setJMSExpiration(System.currentTimeMillis() - 1);
-assertTrue(msg.isExpired());
-msg.setJMSExpiration(System.currentTimeMillis() + 1);
-assertFalse(msg.isExpired());
-}
-
-@Test
 public void testAcknowledgeWitNoCallback() throws JMSException {
 JmsMessage msg = factory.createMessage();
 msg.acknowledge();


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



[1/2] git commit: Test the equals and hashCode bits.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 40eb821c6 - 079e6c04d


Test the equals and hashCode bits.

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

Branch: refs/heads/master
Commit: bfd9953b058d0a7795b87cf095a1f6bd14016861
Parents: 40eb821
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 13:38:41 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 13:38:41 2014 -0400

--
 .../qpid/jms/message/JmsBytesMessageTest.java   | 29 
 1 file changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/bfd9953b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsBytesMessageTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsBytesMessageTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsBytesMessageTest.java
index 4420832..60172bd 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsBytesMessageTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsBytesMessageTest.java
@@ -654,4 +654,33 @@ public class JmsBytesMessageTest {
 } catch (MessageNotReadableException e) {
 }
 }
+
+@Test
+public void testHashCode() throws Exception {
+String messageId = ID:SOME-ID:0:1:1;
+JmsBytesMessage message = factory.createBytesMessage();
+message.setJMSMessageID(messageId);
+assertEquals(message.getJMSMessageID().hashCode(), 
messageId.hashCode());
+assertEquals(message.hashCode(), messageId.hashCode());
+}
+
+@Test
+public void testEqualsObject() throws Exception {
+String messageId = ID:SOME-ID:0:1:1;
+JmsBytesMessage message1 = factory.createBytesMessage();
+JmsBytesMessage message2 = factory.createBytesMessage();
+message1.setJMSMessageID(messageId);
+assertTrue(!message1.equals(message2));
+assertTrue(!message2.equals(message1));
+message2.setJMSMessageID(messageId);
+assertTrue(message1.equals(message2));
+assertTrue(message2.equals(message1));
+message2.setJMSMessageID(messageId + More);
+assertTrue(!message1.equals(message2));
+assertTrue(!message2.equals(message1));
+
+assertTrue(message1.equals(message1));
+assertFalse(message1.equals(null));
+assertFalse(message1.equals());
+}
 }


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



[2/2] git commit: Capture and throw correct errors from BytesMessage read and write methods, adds tests to cover these.

2014-10-10 Thread tabish
Capture and throw correct errors from BytesMessage read and write
methods, adds tests to cover these. 

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

Branch: refs/heads/master
Commit: 079e6c04d41b58f0f411ea9f148b40e697db0a93
Parents: bfd9953
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 14:28:48 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 14:28:48 2014 -0400

--
 .../qpid/jms/message/JmsBytesMessage.java   |  44 +--
 .../qpid/jms/message/JmsBytesMessageTest.java   | 279 +++
 2 files changed, 301 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/079e6c04/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
index f5a6cf7..057c91a 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
@@ -81,9 +81,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readBoolean();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e) {
 throw JmsExceptionSupport.createMessageFormatException(e);
 }
 }
@@ -105,9 +105,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readUnsignedByte();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e) {
 throw JmsExceptionSupport.createMessageFormatException(e);
 }
 }
@@ -117,9 +117,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readShort();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e) {
 throw JmsExceptionSupport.createMessageFormatException(e);
 }
 }
@@ -129,9 +129,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readUnsignedShort();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e) {
 throw JmsExceptionSupport.createMessageFormatException(e);
 }
 }
@@ -141,9 +141,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readChar();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e) {
 throw JmsExceptionSupport.createMessageFormatException(e);
 }
 }
@@ -153,9 +153,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readInt();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e) {
 throw JmsExceptionSupport.createMessageFormatException(e);
 }
 }
@@ -165,9 +165,9 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 initializeReading();
 try {
 return this.dataIn.readLong();
-} catch (ArrayIndexOutOfBoundsException e) {
+} catch (EOFException e) {
 throw JmsExceptionSupport.createMessageEOFException(e);
-} catch (Throwable e) {
+} catch (IOException e

git commit: Romve override of setObjectProperty

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 079e6c04d - ea1876982


Romve override of setObjectProperty 

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

Branch: refs/heads/master
Commit: ea1876982bb00f612a4b9691eb2e26e462a0ad03
Parents: 079e6c0
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 14:36:45 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 14:36:45 2014 -0400

--
 .../main/java/org/apache/qpid/jms/message/JmsBytesMessage.java | 6 --
 1 file changed, 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ea187698/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
index 057c91a..84c0559 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsBytesMessage.java
@@ -392,12 +392,6 @@ public class JmsBytesMessage extends JmsMessage implements 
BytesMessage {
 }
 
 @Override
-public void setObjectProperty(String name, Object value) throws 
JMSException {
-initializeWriting();
-super.setObjectProperty(name, value);
-}
-
-@Override
 public String toString() {
 return JmsBytesMessage {  + facade +  };
 }


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



[2/4] git commit: Add additional check to ensure that when the value is null we don't NPE

2014-10-10 Thread tabish
Add additional check to ensure that when the value is null we don't NPE

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

Branch: refs/heads/master
Commit: a7907e0981bc8f0d332c88a1f19e937135bda5d4
Parents: 4b04d69
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 15:55:05 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 15:55:05 2014 -0400

--
 .../qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java| 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a7907e09/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 bee8a92..7acc3d5 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
@@ -141,6 +141,7 @@ public class AmqpJmsMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase  {
 AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
 
 assertFalse(Should not have a ttl override, 
amqpMessageFacade.hasAmqpTimeToLiveOverride());
+assertEquals(0, amqpMessageFacade.getAmqpTimeToLiveOverride());
 
 amqpMessageFacade.setAmqpTimeToLiveOverride(ttl);
 


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



[3/4] git commit: Add some testing and some notes about cleanup of delivery / redelivery count methods in the message facades.

2014-10-10 Thread tabish
Add some testing and some notes about cleanup of delivery / redelivery
count methods in the message facades.

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

Branch: refs/heads/master
Commit: a52e142cabb7f73a54d96e3613e176d1b79eb6bb
Parents: a7907e0
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 16:38:33 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 16:38:33 2014 -0400

--
 .../amqp/message/AmqpJmsMessageFacade.java  |   8 ++
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 119 +++
 2 files changed, 127 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a52e142c/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 e7d017f..84dac97 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
@@ -486,6 +486,14 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 setRedeliveryCount(deliveryCount - 1);
 }
 
+// TODO - We can probably remove these set / get redelivery count and just 
use
+//the delivery count and is / set redelivered bits for the JMS 
mapping.
+//
+// possibly add an increment to make the consumer code more readable when 
doing
+// a recover or rollback if we do local redeliveries.
+//
+//  public void incrementRedeliveryCount()
+
 @Override
 public int getRedeliveryCount() {
 if (message.getHeader() != null) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a52e142c/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 7acc3d5..8faf7e1 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
@@ -201,6 +201,125 @@ public class AmqpJmsMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase  {
 assertEquals(TTL has not been overriden, overrideTtl, 
message.getTtl());
 }
 
+// --- delivery count  ---
+
+@Test
+public void testGetDeliveryCountIs1ForNewMessage() {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+// JMS delivery count starts at one.
+assertEquals(expected delivery count value not found, 1, 
amqpMessageFacade.getDeliveryCount());
+
+// Redelivered state inferred from delivery count
+assertFalse(amqpMessageFacade.isRedelivered());
+assertEquals(0, amqpMessageFacade.getRedeliveryCount());;
+}
+
+@Test
+public void testGetDeliveryCountForReceivedMessageWithNoHeader() {
+Message message = Proton.message();
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+assertNull(expected no header section to exist, message.getHeader());
+// JMS delivery count starts at one.
+assertEquals(expected delivery count value not found, 1, 
amqpMessageFacade.getDeliveryCount());
+
+// Redelivered state inferred from delivery count
+assertFalse(amqpMessageFacade.isRedelivered());
+assertEquals(0, amqpMessageFacade.getRedeliveryCount());;
+}
+
+@Test
+public void 
testGetDeliveryCountForReceivedMessageWithHeaderButNoDeliveryCount() {
+Message message = Proton.message();
+AmqpJmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+
+Header header = new Header();
+message.setHeader(header);
+
+// JMS delivery count starts at one.
+assertEquals(expected delivery count value not found, 1, 
amqpMessageFacade.getDeliveryCount());
+
+// Redelivered state inferred from delivery count
+assertFalse(amqpMessageFacade.isRedelivered());
+assertEquals(0

[4/4] git commit: Cover text message code with tests for isEmpty

2014-10-10 Thread tabish
Cover text message code with tests for isEmpty

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

Branch: refs/heads/master
Commit: df82aeac53def5726ebeaa7d83b07e88ebb19ec7
Parents: a52e142
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 17:22:39 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 17:22:39 2014 -0400

--
 .../amqp/message/AmqpJmsTextMessageFacade.java  |  2 +
 .../message/AmqpJmsTextMessageFacadeTest.java   | 69 ++--
 2 files changed, 67 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/df82aeac/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
index e1da812..6a4850e 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
@@ -160,6 +160,8 @@ public class AmqpJmsTextMessageFacade extends 
AmqpJmsMessageFacade implements Jm
 if (data.getValue() == null || data.getValue().getLength() == 0) {
 return true;
 }
+} else {
+return true;  // This should never happen but report empty in case
 }
 
 return false;

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/df82aeac/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
index d7cecca..e4169eb 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
@@ -80,6 +80,71 @@ public class AmqpJmsTextMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase {
 }
 
 @Test
+public void testMessageWithNullBodyRetportsIsEmpty() throws Exception {
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createNewTextMessageFacade();
+amqpTextMessageFacade.getAmqpMessage().setBody(null);
+assertTrue(amqpTextMessageFacade.isEmpty());
+}
+
+@Test
+public void testIsEmptyUsingReceivedMessageWithZeroLengthDataSection() 
throws Exception {
+org.apache.qpid.proton.codec.Data payloadData = new DataImpl();
+payloadData.putDescribedType(new DataDescribedType(new Binary(new 
byte[0])));
+Binary b = payloadData.encode();
+
+Message message = Message.Factory.create();
+int decoded = message.decode(b.getArray(), b.getArrayOffset(), 
b.getLength());
+assertEquals(decoded, b.getLength());
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+
+assertTrue(amqpTextMessageFacade.isEmpty());
+}
+
+@Test
+public void testMessageWithEmptyDataRetportsIsEmpty() throws Exception {
+Message message = Message.Factory.create();
+message.setBody(new Data(null));
+
+// This shouldn't happen with actual received messages, since Data 
sections can't really
+// have a null value in them, they would have an empty byte array, but 
just in case...
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+
+assertTrue(amqpTextMessageFacade.isEmpty());
+}
+
+@Test
+public void testMessageWithEmptyDataBinaryRetportsIsEmpty() throws 
Exception {
+Message message = Message.Factory.create();
+message.setBody(new Data(new Binary(new byte[0])));
+AmqpJmsTextMessageFacade amqpTextMessageFacade = 
createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+assertTrue(amqpTextMessageFacade.isEmpty());
+}
+
+@Test
+public void testMessageWithNonEmptyDataBinaryRetportsIsEmpty() throws 
Exception {
+Message message = Message.Factory.create();
+message.setBody(new Data(new Binary(new byte[1

[1/4] git commit: Add test for setType / getType and fix setType to remove the annotation if the value applied is null.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master ea1876982 - df82aeac5


Add test for setType / getType and fix setType to remove the annotation
if the value applied is 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/4b04d693
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/4b04d693
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/4b04d693

Branch: refs/heads/master
Commit: 4b04d693abcdd336021903bc8cd56ab5588e503d
Parents: ea18769
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 15:36:48 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 15:36:48 2014 -0400

--
 .../amqp/message/AmqpJmsMessageFacade.java  |  6 ++-
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 51 
 2 files changed, 56 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4b04d693/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 1fd1048..e7d017f 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
@@ -534,7 +534,11 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 
 @Override
 public void setType(String type) {
-setMessageAnnotation(JMS_TYPE, type);
+if (type != null) {
+setMessageAnnotation(JMS_TYPE, type);
+} else {
+removeMessageAnnotation(JMS_TYPE);
+}
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4b04d693/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 7346559..bee8a92 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
@@ -58,6 +58,7 @@ import 
org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
 import org.apache.qpid.proton.amqp.messaging.Properties;
 import org.apache.qpid.proton.codec.impl.DataImpl;
 import org.apache.qpid.proton.message.Message;
+import org.apache.qpid.proton.message.impl.MessageImpl;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -1448,6 +1449,56 @@ public class AmqpJmsMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase  {
 assertNull(underlying.getMessageAnnotations());
 }
 
+// == Type ===
+
+@Test
+public void testGetJMSTypeIsNullOnNewMessage() throws Exception {
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+assertNull(did not expect a JMSType value to be present, 
amqpMessageFacade.getType());
+}
+
+@Test
+public void testSetJMSTypeSetsUnderlyingMessageAnnotation() throws 
Exception {
+String jmsType = myJMSType;
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+amqpMessageFacade.setType(jmsType);
+
+assertTrue(MessageAnnotation should exist to hold JMSType value,
+
amqpMessageFacade.messageAnnotationExists(AmqpMessageSupport.JMS_TYPE));
+assertEquals(MessageAnnotation should be set to the provded JMSType 
string, jmsType,
+
amqpMessageFacade.getMessageAnnotation(AmqpMessageSupport.JMS_TYPE));
+}
+
+@Test
+public void testSetTypeNullClearsExistingValue() throws Exception {
+String jmsType = myJMSType;
+AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+amqpMessageFacade.setType(jmsType);
+assertTrue(MessageAnnotation should exist to hold JMSType value,
+
amqpMessageFacade.messageAnnotationExists(AmqpMessageSupport.JMS_TYPE));
+amqpMessageFacade.setType(null);
+assertNull(JMSType value was not as expected, 
amqpMessageFacade.getType());
+assertFalse(MessageAnnotation should exist to hold JMSType value,
+
amqpMessageFacade.messageAnnotationExists(AmqpMessageSupport.JMS_TYPE));
+}
+
+/**
+ * Test that {@link MessageImpl#getJMSType()} returns

git commit: Started adding in the clear bits to the AMQP intercetper also.

2014-10-10 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 2c1e2b29a - 94febc97f


Started adding in the clear bits to the AMQP intercetper also. 

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

Branch: refs/heads/master
Commit: 94febc97fc7609f0d419f653af54940dde839cd9
Parents: 2c1e2b2
Author: Timothy Bish tabish...@gmail.com
Authored: Fri Oct 10 19:34:51 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Fri Oct 10 19:34:51 2014 -0400

--
 .../AmqpJmsMessagePropertyIntercepter.java  | 42 
 1 file changed, 42 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/94febc97/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
index 1a676de..8b354c1 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
@@ -82,6 +82,18 @@ public class AmqpJmsMessagePropertyIntercepter {
  */
 boolean propertyExists(AmqpJmsMessageFacade message);
 
+/**
+ * Request that the intercepted property be cleared.  For properties 
that
+ * cannot be cleared the value should be set to the default value for 
that
+ * property.
+ *
+ * @param message
+ *the target message object whose property should be cleared.
+ *
+ * @throws JMSException if an error occurs clearing the property.
+ */
+void clearProperty(AmqpJmsMessageFacade message) throws JMSException;
+
 }
 
 static {
@@ -107,6 +119,11 @@ public class AmqpJmsMessagePropertyIntercepter {
 public boolean propertyExists(AmqpJmsMessageFacade message) {
 return message.hasAmqpTimeToLiveOverride();
 }
+
+@Override
+public void clearProperty(AmqpJmsMessageFacade message) throws 
JMSException {
+message.setAmqpTimeToLiveOverride(0);
+}
 });
 PROPERTY_INTERCEPTERS.put(JMS_AMQP_REPLY_TO_GROUP_ID, new 
PropertyIntercepter() {
 @Override
@@ -128,6 +145,11 @@ public class AmqpJmsMessagePropertyIntercepter {
 String replyToGroupId = message.getReplyToGroupId();
 return replyToGroupId != null  !replyToGroupId.equals();
 }
+
+@Override
+public void clearProperty(AmqpJmsMessageFacade message) throws 
JMSException {
+message.setReplyToGroupId(null);
+}
 });
 PROPERTY_INTERCEPTERS.put(JMS_AMQP_TYPED_ENCODING, new 
PropertyIntercepter() {
 @Override
@@ -161,6 +183,11 @@ public class AmqpJmsMessagePropertyIntercepter {
 
 return false;
 }
+
+@Override
+public void clearProperty(AmqpJmsMessageFacade message) throws 
JMSException {
+// TODO - Should we leave encoding intact or change to the 
default.
+}
 });
 }
 
@@ -263,4 +290,19 @@ public class AmqpJmsMessagePropertyIntercepter {
 }
 return names;
 }
+
+/**
+ * For each of the currently configured message property intercepter 
instances clear or
+ * reset the value to its default.
+ *
+ * @param message
+ *the AmqpJmsMessageFacade instance to read from
+ *
+ * @throws JMSException if an error occurs while validating the defined 
property.
+ */
+public static void clearProperties(AmqpJmsMessageFacade message) throws 
JMSException {
+for (EntryString, PropertyIntercepter entry : 
PROPERTY_INTERCEPTERS.entrySet()) {
+entry.getValue().clearProperty(message);
+}
+}
 }


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



[2/2] git commit: Add tests for new clear calls.

2014-10-13 Thread tabish
Add tests for new clear calls.

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

Branch: refs/heads/master
Commit: f2900222ef4764c4809e7e912cbcebe84b89f09e
Parents: cee0c34
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 13 14:16:40 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 13 14:16:40 2014 -0400

--
 .../JmsMessagePropertyIntercepterTest.java  | 132 +++
 1 file changed, 132 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f2900222/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 c786622..4a54d06 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
@@ -164,6 +164,16 @@ public class JmsMessagePropertyIntercepterTest {
 }
 }
 
+@Test
+public void testJMSDestinationClearedWhenRequested() throws JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+Mockito.when(message.getDestination()).thenReturn(null);
+JmsMessagePropertyIntercepter.clearProperties(message, true);
+Mockito.verify(message, Mockito.never()).setDestination(null);
+JmsMessagePropertyIntercepter.clearProperties(message, false);
+Mockito.verify(message).setDestination(null);
+}
+
 //-- JMSReplyTo 
--//
 
 @Test
@@ -247,6 +257,15 @@ public class JmsMessagePropertyIntercepterTest {
 }
 }
 
+@Test
+public void testJMSRepltyToClearedWhenRequested() throws JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+JmsMessagePropertyIntercepter.clearProperties(message, true);
+Mockito.verify(message, Mockito.never()).setReplyTo(null);
+JmsMessagePropertyIntercepter.clearProperties(message, false);
+Mockito.verify(message).setReplyTo(null);
+}
+
 //-- JMSType 
-//
 
 @Test
@@ -326,6 +345,15 @@ public class JmsMessagePropertyIntercepterTest {
 }
 }
 
+@Test
+public void testJMSTypeClearedWhenRequested() throws JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+JmsMessagePropertyIntercepter.clearProperties(message, true);
+Mockito.verify(message, Mockito.never()).setType(null);
+JmsMessagePropertyIntercepter.clearProperties(message, false);
+Mockito.verify(message).setType(null);
+}
+
 //-- JMSDeliveryMode 
-//
 
 @Test
@@ -426,6 +454,20 @@ public class JmsMessagePropertyIntercepterTest {
 fail(Should have thrown an exception for this call);
 } catch (NumberFormatException e) {
 }
+try {
+JmsMessagePropertyIntercepter.setProperty(message, 
JMS_DELIVERY_MODE, null);
+fail(Should have thrown an exception for this call);
+} catch (NumberFormatException e) {
+}
+}
+
+@Test
+public void testJMSDeliveryModeClearedWhenRequested() throws JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+JmsMessagePropertyIntercepter.clearProperties(message, true);
+Mockito.verify(message, Mockito.never()).setPersistent(true);
+JmsMessagePropertyIntercepter.clearProperties(message, false);
+Mockito.verify(message).setPersistent(true);
 }
 
 //-- JMSPriority -//
@@ -503,6 +545,15 @@ public class JmsMessagePropertyIntercepterTest {
 }
 }
 
+@Test
+public void testJMSPriorityClearedWhenRequested() throws JMSException {
+JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+JmsMessagePropertyIntercepter.clearProperties(message, true);
+Mockito.verify(message, Mockito.never()).setPriority(4);
+JmsMessagePropertyIntercepter.clearProperties(message, false);
+Mockito.verify(message).setPriority(4);
+}
+
 //-- JMSMessageID -//
 
 @Test
@@ -582,6

[1/2] git commit: Finish work on refactoring the Amqp message property intercepter and updated tests to mock out the needed bits.

2014-10-13 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 94febc97f - f2900222e


Finish work on refactoring the Amqp message property intercepter and
updated tests to mock out the needed bits.  

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

Branch: refs/heads/master
Commit: cee0c3419666dfa69bb265eb175609db9c80d450
Parents: 94febc9
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 13 13:47:03 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 13 13:47:03 2014 -0400

--
 .../jms/message/facade/JmsMessageFacade.java|  2 +-
 .../amqp/message/AmqpJmsMessageFacade.java  | 48 ++-
 .../AmqpJmsMessagePropertyIntercepter.java  |  7 +-
 .../amqp/message/AmqpJmsMessageFacadeTest.java  |  2 +-
 .../AmqpJmsMessagePropertyIntercepterTest.java  | 89 +---
 5 files changed, 93 insertions(+), 55 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/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 20b912c..78130fb 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
@@ -123,7 +123,7 @@ public interface JmsMessageFacade {
  *
  * @throws JMSException if an error occurs while accessing the message 
properties.
  */
-void clearProperties();
+void clearProperties() throws JMSException;
 
 /**
  * Create a new instance and perform a deep copy of this object's

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/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 ed4e0ae..c34ab87 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
@@ -169,11 +169,15 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
  */
 @Override
 public SetString getPropertyNames() {
-SetString properties = 
AmqpJmsMessagePropertyIntercepter.getPropertyNames(this);
+return AmqpJmsMessagePropertyIntercepter.getPropertyNames(this);
+}
+
+public SetString getApplicationPropertyNames(SetString propertyNames) {
 if (applicationPropertiesMap != null) {
-properties.addAll(applicationPropertiesMap.keySet());
+propertyNames.addAll(applicationPropertiesMap.keySet());
 }
-return properties;
+
+return propertyNames;
 }
 
 @Override
@@ -247,9 +251,8 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 }
 
 @Override
-public void clearProperties() {
-clearAllApplicationProperties();
-//TODO: should we clear some/all of those intercepted by 
AmqpJmsMessagePropertyIntercepter?
+public void clearProperties() throws JMSException {
+AmqpJmsMessagePropertyIntercepter.clearProperties(this);
 }
 
 @Override
@@ -616,14 +619,20 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
  * based on the expiration value when sending the underlying AMQP message. 
A value of 0
  * means to clear the ttl field rather than set it to anything.
  *
- * @param ttl the value to use, in range 0 = x = 2^32 - 1
+ * @param ttl
+ *the value to use, in range 0 = x = 2^32 - 1
+ *
  * @throws MessageFormatException
  */
-public void setAmqpTimeToLiveOverride(long ttl) throws 
MessageFormatException {
-if (ttl = 0  ttl = UINT_MAX) {
-userSpecifiedTTL = ttl;
+public void setAmqpTimeToLiveOverride(Long ttl) throws 
MessageFormatException {
+if (ttl != null) {
+if (ttl = 0  ttl = UINT_MAX) {
+userSpecifiedTTL = ttl;
+} else {
+throw new MessageFormatException(JMS_AMQP_TTL +  must be a 
long with value in range 0 to 2^32 - 1);
+}
 } else

[2/2] git commit: Add some additional test cases to ensure errors are trapped. Remove unneeded check for null.

2014-10-13 Thread tabish
Add some additional test cases to ensure errors are trapped.  Remove
unneeded check for 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/95941245
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/95941245
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/95941245

Branch: refs/heads/master
Commit: 95941245ade051d81093ac5b3cc46651a31160de
Parents: fff5e96
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 13 16:31:10 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 13 16:31:10 2014 -0400

--
 .../amqp/message/AmqpJmsBytesMessageFacade.java |   3 +-
 .../message/AmqpJmsBytesMessageFacadeTest.java  | 107 +++
 2 files changed, 108 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/95941245/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 1fe5e26..8e9aca9 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
@@ -103,8 +103,7 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
 
 @Override
 public boolean isEmpty() {
-Binary payload = getBinaryFromBody();
-return payload == null || payload.getLength() == 0;
+return getBinaryFromBody().getLength() == 0;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/95941245/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacadeTest.java
index b07ba29..fd110ee 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacadeTest.java
@@ -20,13 +20,19 @@ import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_B
 import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_MSG_TYPE;
 import static 
org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.getSymbol;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
 
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Map;
@@ -40,6 +46,7 @@ import 
org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
 import org.apache.qpid.proton.amqp.messaging.Section;
 import org.apache.qpid.proton.message.Message;
 import org.junit.Test;
+import org.mockito.Mockito;
 
 /**
  * Tests for class AmqpJmsBytesMessageFacade
@@ -266,6 +273,7 @@ public class AmqpJmsBytesMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase {
 AmqpJmsBytesMessageFacade amqpBytesMessageFacade = 
createReceivedBytesMessageFacade(createMockAmqpConsumer(), message);
 
 assertEquals(Message reports unexpected length, length, 
amqpBytesMessageFacade.getBodyLength());
+assertFalse(amqpBytesMessageFacade.isEmpty());
 }
 
 @Test
@@ -285,6 +293,7 @@ public class AmqpJmsBytesMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase {
 AmqpJmsBytesMessageFacade amqpBytesMessageFacade = 
createReceivedBytesMessageFacade(createMockAmqpConsumer(), message);
 
 assertEquals(Message reports unexpected length, 0, 
amqpBytesMessageFacade.getBodyLength());
+assertTrue(amqpBytesMessageFacade.isEmpty());
 }
 
 @Test
@@ -390,6 +399,24 @@ public class AmqpJmsBytesMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase {
 }
 }
 
+@Test
+public void testIsEmpty() throws Exception {
+Message message = Message.Factory.create();
+message.setBody(new Data

[1/2] git commit: Fix the test case.

2014-10-13 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master f2900222e - 95941245a


Fix the test case.

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

Branch: refs/heads/master
Commit: fff5e965364be51d1cc9d2104789957a0d582181
Parents: f290022
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 13 16:04:10 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 13 16:04:10 2014 -0400

--
 .../qpid/jms/message/JmsMessagePropertyIntercepterTest.java | 5 -
 1 file changed, 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fff5e965/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 4a54d06..69e2aed 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
@@ -454,11 +454,6 @@ public class JmsMessagePropertyIntercepterTest {
 fail(Should have thrown an exception for this call);
 } catch (NumberFormatException e) {
 }
-try {
-JmsMessagePropertyIntercepter.setProperty(message, 
JMS_DELIVERY_MODE, null);
-fail(Should have thrown an exception for this call);
-} catch (NumberFormatException e) {
-}
 }
 
 @Test


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



git commit: Add some initial support for gathing connection capabilities and properties into a config object. Start on real anonymous producer support.

2014-10-13 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 95941245a - e3039f140


Add some initial support for gathing connection capabilities and
properties into a config object.  Start on real anonymous producer
support.

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

Branch: refs/heads/master
Commit: e3039f140e10d5f427e25fb4d0de92133667468b
Parents: 9594124
Author: Timothy Bish tabish...@gmail.com
Authored: Mon Oct 13 18:50:11 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Mon Oct 13 18:50:11 2014 -0400

--
 .../qpid/jms/provider/amqp/AmqpConnection.java  | 16 +
 .../provider/amqp/AmqpConnectionProperties.java | 69 
 .../jms/provider/amqp/AmqpFixedProducer.java| 16 +++--
 .../qpid/jms/provider/amqp/AmqpSession.java |  5 +-
 4 files changed, 97 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e3039f14/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
index e53d5da..97118d7 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
@@ -49,6 +49,7 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 private boolean connected;
 private AmqpSaslAuthenticator authenticator;
 private final AmqpSession connectionSession;
+private AmqpConnectionProperties properties;
 
 private String queuePrefix;
 private String topicPrefix;
@@ -114,6 +115,10 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 
 if (!connected  isOpen()) {
 connected = true;
+
+this.properties = new AmqpConnectionProperties(
+endpoint.getRemoteOfferedCapabilities(), 
endpoint.getRemoteProperties());
+
 connectionSession.open(new AsyncResult() {
 
 @Override
@@ -329,6 +334,17 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 return this.amqpMessageFactory;
 }
 
+/**
+ * Returns the connection properties for an established connection which 
defines the various
+ * capabilities and configuration options of the remote connection.  Prior 
to the establishment
+ * of a connection this method returns null.
+ *
+ * @return the properties available for this connection or null if not 
connected.
+ */
+public AmqpConnectionProperties getProperties() {
+return properties;
+}
+
 @Override
 public String toString() {
 return AmqpConnection {  + getConnectionInfo().getConnectionId() +  
};

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e3039f14/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionProperties.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionProperties.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionProperties.java
new file mode 100644
index 000..add4d72
--- /dev/null
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionProperties.java
@@ -0,0 +1,69 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp;
+
+import java.util.Map;
+
+import org.apache.qpid.proton.amqp.Symbol;
+
+/**
+ * Class used to examine the capabilities and connection properties of the
+ * remote connection and provide that information

git commit: Start work on testing and improving the JMS transformation utility which handles conversions of foreign messages and destinations.

2014-10-14 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master e3039f140 - a0f228bad


Start work on testing and improving the JMS transformation utility which
handles conversions of foreign messages and destinations.

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

Branch: refs/heads/master
Commit: a0f228bad6a1c3117ab66c25a1d425db1c7e213f
Parents: e3039f1
Author: Timothy Bish tabish...@gmail.com
Authored: Tue Oct 14 18:46:13 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Tue Oct 14 18:46:13 2014 -0400

--
 .../jms/message/JmsMessageTransformation.java   |  17 +-
 .../message/JmsMessageTransformationTest.java   | 216 +++
 2 files changed, 229 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a0f228ba/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
index 404cabd..c160cc8 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
@@ -45,9 +45,6 @@ import org.apache.qpid.jms.JmsTopic;
  */
 public final class JmsMessageTransformation {
 
-private JmsMessageTransformation() {
-}
-
 /**
  * Creates a an available JMS message from another provider.
  *
@@ -63,9 +60,19 @@ public final class JmsMessageTransformation {
 JmsDestination result = null;
 
 if (destination != null) {
+
 if (destination instanceof JmsDestination) {
 return (JmsDestination) destination;
-
+} else if (destination instanceof Queue  destination instanceof 
Topic) {
+String queueName = ((Queue) destination).getQueueName();
+String topicName = ((Topic) destination).getTopicName();
+if (queueName != null  topicName == null) {
+return new JmsQueue(queueName);
+} else if (queueName == null  topicName != null) {
+return new JmsTopic(topicName);
+} else {
+throw new JMSException(Could not transform destination:  
+ destination);
+}
 } else {
 if (destination instanceof TemporaryQueue) {
 result = new JmsTemporaryQueue(((TemporaryQueue) 
destination).getQueueName());
@@ -75,6 +82,8 @@ public final class JmsMessageTransformation {
 result = new JmsQueue(((Queue) 
destination).getQueueName());
 } else if (destination instanceof Topic) {
 result = new JmsTopic(((Topic) 
destination).getTopicName());
+} else {
+throw new JMSException(Could not transform destination:  
+ destination);
 }
 }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a0f228ba/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
new file mode 100644
index 000..3904439
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
@@ -0,0 +1,216 @@
+/**
+ * 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.message;
+
+import static org.junit.Assert.assertEquals;
+import static

[3/3] git commit: start testing the message transformation bits.

2014-10-15 Thread tabish
start testing the message transformation bits.

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

Branch: refs/heads/master
Commit: a088d99805ef6ede9eb321009324ad3441d2c6ab
Parents: a757bab
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 11:45:48 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 11:45:48 2014 -0400

--
 .../message/JmsMessageTransformationTest.java   | 35 
 1 file changed, 35 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a088d998/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
index 84c294f..8dc485b 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
@@ -19,6 +19,7 @@ package org.apache.qpid.jms.message;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
@@ -34,6 +35,7 @@ import javax.jms.Topic;
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.JmsTopic;
+import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFacade;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -49,6 +51,39 @@ public class JmsMessageTransformationTest {
 new JmsMessageTransformation();
 }
 
+//-- Test Message Transformation 
-//
+
+@Test
+public void testTransformJmsMessageCopies() throws JMSException {
+JmsMessage source = new JmsMessage(new JmsDefaultMessageFacade());
+
+source.setJMSMessageID(ID:CONNECTION:1:1);
+
+JmsMessage copy = 
JmsMessageTransformation.transformMessage(createMockJmsConnection(), source);
+assertNotNull(copy.getJMSMessageID());
+assertEquals(source, copy);
+assertNotSame(source, copy);
+}
+
+//-- Test Generic Property Copy 
--//
+
+@Test
+public void testJMSMessagePropertiesAreCopied() throws JMSException {
+JmsMessage source = new JmsMessage(new JmsDefaultMessageFacade());
+JmsMessage target = new JmsMessage(new JmsDefaultMessageFacade());
+
+source.setJMSType(text/test);
+
+source.setBooleanProperty(boolValue, true);
+source.setStringProperty(stringValue, foo);
+
+JmsMessageTransformation.copyProperties(createMockJmsConnection(), 
source, target);
+
+assertEquals(true, target.getBooleanProperty(boolValue));
+assertEquals(foo, target.getStringProperty(stringValue));
+assertEquals(text/test, target.getJMSType());
+}
+
 //-- Test Destination Transformation 
-//
 
 @Test


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



[1/3] git commit: Complete path coverage of destination transformation method.

2014-10-15 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master a0f228bad - a088d9980


Complete path coverage of destination transformation method.

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

Branch: refs/heads/master
Commit: 4d3ea7a1422bf710440f9a291832d05c7f871335
Parents: a0f228b
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 09:43:04 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 09:43:04 2014 -0400

--
 .../message/JmsMessageTransformationTest.java   | 89 +---
 1 file changed, 76 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4d3ea7a1/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
index 3904439..84c294f 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
@@ -19,6 +19,7 @@ package org.apache.qpid.jms.message;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -51,6 +52,12 @@ public class JmsMessageTransformationTest {
 //-- Test Destination Transformation 
-//
 
 @Test
+public void testTransformNullDestinationNoExceptions() throws JMSException 
{
+JmsDestination transformed = 
JmsMessageTransformation.transformDestination(createMockJmsConnection(), null);
+assertNull(transformed);
+}
+
+@Test
 public void testPlainDestinationThrowsJMSEx() throws JMSException {
 ForeignDestination destination = new 
ForeignDestination(DESTINATION_NAME);
 try {
@@ -71,6 +78,43 @@ public class JmsMessageTransformationTest {
 }
 
 @Test
+public void testCompositeTopicAndQueueDestinationNoNameThrowsJMSEx() 
throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(DESTINATION_NAME);
+destination.setReturnQueueName(false);
+destination.setReturnTopicName(false);
+
+try {
+
JmsMessageTransformation.transformDestination(createMockJmsConnection(), 
destination);
+fail(Should have thrown an JMSException);
+} catch (JMSException ex) {
+}
+}
+
+@Test
+public void testTransformCompositeDestinationFromForeignTopic() throws 
JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(DESTINATION_NAME);
+destination.setReturnQueueName(false);
+
+JmsDestination transformed = 
JmsMessageTransformation.transformDestination(createMockJmsConnection(), 
destination);
+assertNotNull(transformed);
+assertTrue(transformed.isTopic());
+assertFalse(transformed.isTemporary());
+assertEquals(DESTINATION_NAME, transformed.getName());
+}
+
+@Test
+public void testTransformCompositeDestinationFromForeignQueue() throws 
JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(DESTINATION_NAME);
+destination.setReturnTopicName(false);
+
+JmsDestination transformed = 
JmsMessageTransformation.transformDestination(createMockJmsConnection(), 
destination);
+assertNotNull(transformed);
+assertTrue(transformed.isQueue());
+assertFalse(transformed.isTemporary());
+assertEquals(DESTINATION_NAME, transformed.getName());
+}
+
+@Test
 public void testJmsDestinationIsNotTransformed() throws JMSException {
 JmsDestination destination = new JmsTopic(DESTINATION_NAME);
 JmsDestination transformed = 
JmsMessageTransformation.transformDestination(createMockJmsConnection(), 
destination);
@@ -164,53 +208,72 @@ public class JmsMessageTransformationTest {
 }
 }
 
-private class ForeignTopicAndQueue extends ForeignDestination implements 
Queue, Topic {
+private class ForeignTemporaryQueue extends ForeignQueue implements 
TemporaryQueue {
 
-public ForeignTopicAndQueue(String name) {
+public ForeignTemporaryQueue(String name) {
 super(name

[2/3] git commit: Create a raw Message type, not a TextMessage

2014-10-15 Thread tabish
Create a raw Message type, not a TextMessage

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

Branch: refs/heads/master
Commit: a757bab4ca103ad6bc3887ebe47a21bbbede6be4
Parents: 4d3ea7a
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 11:45:23 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 11:45:23 2014 -0400

--
 .../java/org/apache/qpid/jms/message/JmsMessageTransformation.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a757bab4/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
index c160cc8..cb82492 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
@@ -165,7 +165,7 @@ public final class JmsMessageTransformation {
 msg.setText(textMsg.getText());
 activeMessage = msg;
 } else {
-activeMessage = factory.createTextMessage();
+activeMessage = factory.createMessage();
 }
 
 copyProperties(connection, message, activeMessage);


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



git commit: Clean up comments and API documentation.

2014-10-15 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master a088d9980 - c6618625d


Clean up comments and API documentation.

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

Branch: refs/heads/master
Commit: c6618625d22927bd27902229ff6dccd8d6ff49e6
Parents: a088d99
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 12:59:59 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 12:59:59 2014 -0400

--
 .../jms/message/JmsMessageTransformation.java   | 63 +++-
 1 file changed, 34 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c6618625/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
index cb82492..9dfd85b 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
@@ -97,12 +97,14 @@ public final class JmsMessageTransformation {
  * provider.
  *
  * @param message
- *- Message to be converted into Jms's implementation.
+ *Message to be converted into Jms's implementation.
  * @param connection
- * @return JmsMessage - Jms's implementation object of the
- * message.
- * @throws JMSException
- * if an error occurs
+ *The JmsConnection where this transformation is being initiated.
+ *
+ * @return JmsMessage
+ * The client's implementation object for the incoming message.
+ *
+ * @throws JMSException if an error occurs during the copy.
  */
 public static JmsMessage transformMessage(JmsConnection connection, 
Message message) throws JMSException {
 if (message instanceof JmsMessage) {
@@ -117,12 +119,11 @@ public final class JmsMessageTransformation {
 JmsBytesMessage msg = factory.createBytesMessage();
 try {
 for (;;) {
-// Reads a byte from the message stream until the 
stream
-// is empty
+// Reads a byte from the message stream until the 
stream is empty
 msg.writeByte(bytesMsg.readByte());
 }
 } catch (MessageEOFException e) {
-// if an end of message stream as expected
+// Indicates all the bytes have been read from the source.
 } catch (JMSException e) {
 }
 
@@ -154,7 +155,7 @@ public final class JmsMessageTransformation {
 msg.writeObject(obj);
 }
 } catch (MessageEOFException e) {
-// if an end of message stream as expected
+// Indicates all the stream values have been read from the 
source.
 } catch (JMSException e) {
 }
 
@@ -175,33 +176,37 @@ public final class JmsMessageTransformation {
 }
 
 /**
- * Copies the standard JMS and user defined properties from the givem
- * message to the specified message
+ * Copies the standard JMS and user defined properties from the given 
source
+ * message to the specified target message.  The copy can only handle the 
JMS
+ * specific message properties and known JMS Headers, any headers that are
+ * specific to the foreign message may be lost if not returned directly via
+ * the codepropertyNames/code method.
  *
- * @param fromMessage
+ * @param source
  *the message to take the properties from
- * @param toMessage
+ * @param target
  *the message to add the properties to
- * @throws JMSException
+ *
+ * @throws JMSException if an error occurs during the copy of message 
properties.
  */
-public static void copyProperties(JmsConnection connection, Message 
fromMessage, Message toMessage) throws JMSException {
-toMessage.setJMSMessageID(fromMessage.getJMSMessageID());
-toMessage.setJMSCorrelationID(fromMessage.getJMSCorrelationID());
-toMessage.setJMSReplyTo(transformDestination(connection, 
fromMessage.getJMSReplyTo()));
-toMessage.setJMSDestination(transformDestination(connection, 
fromMessage.getJMSDestination

[1/2] git commit: Add a set of JMS Message implementations that can be used to test support for Foreign JMS Types.

2014-10-15 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master c6618625d - 6a221b168


Add a set of JMS Message implementations that can be used to test
support for Foreign JMS Types. 

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

Branch: refs/heads/master
Commit: 12cc2f37c03984817213ce1c9d03a0ceb2c7eca8
Parents: c661862
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 15:12:32 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 15:12:32 2014 -0400

--
 .../message/JmsMessageTransformationTest.java   |  13 +
 .../message/foreign/ForeignJmsBytesMessage.java | 171 
 .../message/foreign/ForeignJmsMapMessage.java   | 163 +++
 .../jms/message/foreign/ForeignJmsMessage.java  | 268 +++
 .../foreign/ForeignJmsObjectMessage.java|  48 
 .../foreign/ForeignJmsStreamMessage.java| 156 +++
 .../message/foreign/ForeignJmsTextMessage.java  |  46 
 7 files changed, 865 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/12cc2f37/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
index 8dc485b..9893946 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
@@ -36,6 +36,8 @@ import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.JmsTopic;
 import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFacade;
+import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFactory;
+import org.apache.qpid.jms.message.foreign.ForeignJmsMessage;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -65,6 +67,15 @@ public class JmsMessageTransformationTest {
 assertNotSame(source, copy);
 }
 
+@Test
+public void testBasicMessageTransformCreateNewMessage() throws 
JMSException {
+ForeignJmsMessage foreignMessage = new ForeignJmsMessage();
+
+JmsMessage transformed = 
JmsMessageTransformation.transformMessage(createMockJmsConnection(), 
foreignMessage);
+assertNotSame(foreignMessage, transformed);
+assertFalse(transformed.equals(foreignMessage));
+}
+
 //-- Test Generic Property Copy 
--//
 
 @Test
@@ -205,6 +216,8 @@ public class JmsMessageTransformationTest {
 private JmsConnection createMockJmsConnection() {
 JmsConnection connection = Mockito.mock(JmsConnection.class);
 
+Mockito.when(connection.getMessageFactory()).thenReturn(new 
JmsDefaultMessageFactory());
+
 return connection;
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/12cc2f37/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/foreign/ForeignJmsBytesMessage.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/foreign/ForeignJmsBytesMessage.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/foreign/ForeignJmsBytesMessage.java
new file mode 100644
index 000..d8ea4be
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/foreign/ForeignJmsBytesMessage.java
@@ -0,0 +1,171 @@
+/**
+ * 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.message.foreign;
+
+import javax.jms.BytesMessage;
+import javax.jms.JMSException;
+
+import org.apache.qpid.jms.message.JmsBytesMessage;
+import

[2/2] git commit: Test and cleanup the transformation of Foreign messages.

2014-10-15 Thread tabish
Test and cleanup the transformation of Foreign messages.

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

Branch: refs/heads/master
Commit: 6a221b1686f454cbeb35092ae0baf9909faaca4e
Parents: 12cc2f3
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 17:24:29 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 17:24:29 2014 -0400

--
 .../jms/message/JmsMessageTransformation.java   |   2 -
 .../message/JmsMessageTransformationTest.java   | 199 ++-
 2 files changed, 198 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6a221b16/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
index 9dfd85b..896bc6a 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageTransformation.java
@@ -124,7 +124,6 @@ public final class JmsMessageTransformation {
 }
 } catch (MessageEOFException e) {
 // Indicates all the bytes have been read from the source.
-} catch (JMSException e) {
 }
 
 activeMessage = msg;
@@ -156,7 +155,6 @@ public final class JmsMessageTransformation {
 }
 } catch (MessageEOFException e) {
 // Indicates all the stream values have been read from the 
source.
-} catch (JMSException e) {
 }
 
 activeMessage = msg;

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6a221b16/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
index 9893946..f974e03 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTransformationTest.java
@@ -27,6 +27,7 @@ import static org.junit.Assert.fail;
 
 import javax.jms.Destination;
 import javax.jms.JMSException;
+import javax.jms.MessageEOFException;
 import javax.jms.Queue;
 import javax.jms.TemporaryQueue;
 import javax.jms.TemporaryTopic;
@@ -37,7 +38,12 @@ import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.JmsTopic;
 import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFacade;
 import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFactory;
+import org.apache.qpid.jms.message.foreign.ForeignJmsBytesMessage;
+import org.apache.qpid.jms.message.foreign.ForeignJmsMapMessage;
 import org.apache.qpid.jms.message.foreign.ForeignJmsMessage;
+import org.apache.qpid.jms.message.foreign.ForeignJmsObjectMessage;
+import org.apache.qpid.jms.message.foreign.ForeignJmsStreamMessage;
+import org.apache.qpid.jms.message.foreign.ForeignJmsTextMessage;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -68,7 +74,7 @@ public class JmsMessageTransformationTest {
 }
 
 @Test
-public void testBasicMessageTransformCreateNewMessage() throws 
JMSException {
+public void testForeignMessageTransformCreateNewMessage() throws 
JMSException {
 ForeignJmsMessage foreignMessage = new ForeignJmsMessage();
 
 JmsMessage transformed = 
JmsMessageTransformation.transformMessage(createMockJmsConnection(), 
foreignMessage);
@@ -76,6 +82,197 @@ public class JmsMessageTransformationTest {
 assertFalse(transformed.equals(foreignMessage));
 }
 
+@Test
+public void testEmptyForeignBytesMessageTransformCreateNewMessage() throws 
JMSException {
+ForeignJmsBytesMessage foreignMessage = new ForeignJmsBytesMessage();
+
+JmsMessage transformed = 
JmsMessageTransformation.transformMessage(createMockJmsConnection(), 
foreignMessage);
+assertNotSame(foreignMessage, transformed);
+assertFalse(transformed.equals(foreignMessage));
+
+assertTrue(transformed instanceof JmsBytesMessage);
+JmsBytesMessage message = (JmsBytesMessage) transformed;
+message.reset

git commit: Add the ability for adding in a custom intercepter to manage conversion of foreign destination types that we don't know how to convert ourselves. Default implementation will look for isTop

2014-10-15 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 6a221b168 - 3fc2d8b1a


Add the ability for adding in a custom intercepter to manage conversion
of foreign destination types that we don't know how to convert
ourselves.  Default implementation will look for isTopic or isQueue
method in the class before giving up.  Add some tests around this.

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

Branch: refs/heads/master
Commit: 3fc2d8b1a1e879a092a881f083cd33b256dff7ac
Parents: 6a221b1
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 18:28:07 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 18:28:07 2014 -0400

--
 ...DefaultUnresolvedDestinationTransformer.java | 77 
 .../jms/message/JmsMessageTransformation.java   | 25 +--
 .../JmsUnresolvedDestinationTransformer.java| 56 ++
 .../message/JmsMessageTransformationTest.java   | 41 +++
 4 files changed, 194 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/3fc2d8b1/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
new file mode 100644
index 000..1d90cd0
--- /dev/null
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
@@ -0,0 +1,77 @@
+/**
+ * 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.message;
+
+import java.lang.reflect.Method;
+
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.apache.qpid.jms.JmsTopic;
+
+/**
+ * Default Destination resolver that will try and find a way to convert an 
unknown foreign
+ * JMS Destination object by looking for method in the object to identify the 
true type.
+ *
+ * For a String destination this class will always return a Queue.
+ */
+public class JmsDefaultUnresolvedDestinationTransformer implements 
JmsUnresolvedDestinationTransformer {
+
+@Override
+public JmsDestination transform(Destination destination) throws 
JMSException {
+
+String queueName = null;
+String topicName = null;
+
+if (destination instanceof Queue) {
+queueName = ((Queue) destination).getQueueName();
+}
+
+if (destination instanceof Topic) {
+topicName = ((Topic) destination).getTopicName();
+}
+
+if (queueName == null  topicName == null) {
+throw new JMSException(Unresolvable destination: Both queue and 
topic names are null:  + destination);
+}
+
+try {
+Method isQueueMethod = destination.getClass().getMethod(isQueue);
+Method isTopicMethod = destination.getClass().getMethod(isTopic);
+Boolean isQueue = (Boolean) isQueueMethod.invoke(destination);
+Boolean isTopic = (Boolean) isTopicMethod.invoke(destination);
+if (isQueue) {
+return new JmsQueue(queueName);
+} else if (isTopic) {
+return new JmsTopic(topicName);
+} else {
+throw new JMSException(Unresolvable destination: Neither 
Queue nor Topic:  + destination);
+}
+} catch (Exception e)  {
+throw new JMSException(Unresolvable destination:   + 
e.getMessage() + :  + destination);
+}
+}
+
+@Override
+public JmsDestination transform(String destination) throws JMSException

git commit: Throw JMSException is the destinatio name is null.

2014-10-15 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 3fc2d8b1a - bec6b5cec


Throw JMSException is the destinatio name is 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/bec6b5ce
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/bec6b5ce
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/bec6b5ce

Branch: refs/heads/master
Commit: bec6b5cec175dcdcd9a478dbb074bc202d7274fe
Parents: 3fc2d8b
Author: Timothy Bish tabish...@gmail.com
Authored: Wed Oct 15 18:45:09 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Wed Oct 15 18:45:09 2014 -0400

--
 .../jms/message/JmsDefaultUnresolvedDestinationTransformer.java  | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/bec6b5ce/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
index 1d90cd0..1193686 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformer.java
@@ -72,6 +72,10 @@ public class JmsDefaultUnresolvedDestinationTransformer 
implements JmsUnresolved
 
 @Override
 public JmsDestination transform(String destination) throws JMSException {
+if (destination == null) {
+throw new JMSException(Destination objects cannot have a null 
name value);
+}
+
 return new JmsQueue(destination);
 }
 }


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



git commit: Add some additional tests for handling unresolved foreign destination types.

2014-10-16 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master bec6b5cec - 7525ab93e


Add some additional tests for handling unresolved foreign destination
types. 

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

Branch: refs/heads/master
Commit: 7525ab93e2802be8d35120dad1585821dc859533
Parents: bec6b5c
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 09:59:51 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 09:59:51 2014 -0400

--
 ...ultUnresolvedDestinationTransformerTest.java | 178 +++
 1 file changed, 178 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/7525ab93/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
new file mode 100644
index 000..89d1391
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
@@ -0,0 +1,178 @@
+/**
+ * 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.message;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.apache.qpid.jms.JmsTopic;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class JmsDefaultUnresolvedDestinationTransformerTest {
+
+private final JmsDefaultUnresolvedDestinationTransformer transformer = new 
JmsDefaultUnresolvedDestinationTransformer();
+
+@Test
+public void testTransformDestinationDestinationWithNoNameThrowsJMSEx() 
throws JMSException {
+Destination destination = Mockito.mock(Destination.class);
+try {
+transformer.transform(destination);
+fail(Should throw a JMSException here);
+} catch (JMSException ex) {
+}
+}
+
+@Test
+public void testTransformDestinationDestinationWithoutTypeThrowsJMSEx() 
throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setTopic(false);
+destination.setQueue(false);
+
+try {
+transformer.transform(destination);
+fail(Should throw a JMSException here);
+} catch (JMSException ex) {
+}
+}
+
+@Test
+public void testTopicTypeIsDetectedFromComposite() throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setQueue(false);
+
+JmsDestination result = transformer.transform(destination);
+
+assertNotNull(result);
+assertTrue(result instanceof JmsTopic);
+}
+
+@Test
+public void testQueueTypeIsDetectedFromComposite() throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setTopic(false);
+
+JmsDestination result = transformer.transform(destination);
+
+assertNotNull(result);
+assertTrue(result instanceof JmsQueue);
+}
+
+@Test
+public void testTopicTypeIsDetectedFromCompositeMisMatchedNameAndType() 
throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setQueue(false);
+destination.setReturnTopicName(false);
+
+JmsDestination result = transformer.transform(destination

[1/2] git commit: Enable honoring of the disable message ID value in producer, broker will generate an ID for incoming messages without one.

2014-10-16 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 437a74fb9 - 0b4311225


Enable honoring of the disable message ID value in producer, broker will
generate an ID for incoming messages without one.  

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

Branch: refs/heads/master
Commit: 29f2dcda176c2e878563f215035b7c2420791820
Parents: 437a74f
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 12:17:27 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 12:17:27 2014 -0400

--
 .../amqp/message/AmqpJmsMessageFacade.java  |  2 +-
 .../jms/producer/JmsMessageProducerTest.java| 30 
 2 files changed, 31 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/29f2dcda/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 8a6a20b..b767632 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
@@ -231,7 +231,7 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 if (disableMsgId) {
 // TODO - ActiveMQ will synthesize a message Id, but I don't think 
it has been
 //really well tested, so we should investigate before 
enabling this.
-// setMessageId(null);
+setMessageId(null);
 }
 
 if (disableTimestamp) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/29f2dcda/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
--
diff --git 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
index ceb2d53..254015f 100644
--- 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
+++ 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
@@ -144,6 +144,36 @@ public class JmsMessageProducerTest extends 
AmqpTestSupport {
 assertEquals(0, message.getJMSExpiration());
 }
 
+@Test
+public void testProducerWithNoMessageIdCanBeConsumed() throws Exception {
+connection = createAmqpConnection();
+assertNotNull(connection);
+connection.start();
+
+Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+assertNotNull(session);
+Queue queue = session.createQueue(name.getMethodName());
+MessageProducer producer = session.createProducer(queue);
+producer.setDisableMessageID(true);
+
+QueueViewMBean proxy = getProxyToQueue(name.getMethodName());
+assertEquals(0, proxy.getQueueSize());
+
+for (int i = 0; i  10; ++i) {
+Message message = session.createMessage();
+producer.send(message);
+}
+
+assertEquals(10, proxy.getQueueSize());
+
+MessageConsumer consumer = session.createConsumer(queue);
+for (int i = 0; i  10; i++) {
+Message message = consumer.receive(5000);
+assertNotNull(message);
+assertEquals(0, message.getJMSExpiration());
+}
+}
+
 private String createLargeString(int sizeInBytes) {
 byte[] base = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
 StringBuilder builder = new StringBuilder();


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



[2/2] git commit: Add tests for some behaviors of onSend

2014-10-16 Thread tabish
Add tests for some behaviors of onSend

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

Branch: refs/heads/master
Commit: 0b431122506f28145e707822af8f14d0b830f1c3
Parents: 29f2dcd
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 13:55:52 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 13:55:52 2014 -0400

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


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0b431122/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 016ad86..1966ced 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
@@ -1855,6 +1855,23 @@ public class AmqpJmsMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase  {
 // ===
 
 @Test
+public void testOnSendWithDisableMessageIdClearsMessageID() throws 
JMSException {
+Message message = Mockito.mock(Message.class);
+JmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+amqpMessageFacade.onSend(true, false, 0);
+Mockito.verify(message).setMessageId(null);
+}
+
+@Test
+public void testOnSendWithDisableTimestampClearsTimestamp() throws 
JMSException {
+AmqpJmsMessageFacade message = createNewMessageFacade();
+message.setTimestamp(MAX_UINT);
+assertEquals(MAX_UINT, message.getTimestamp());
+message.onSend(false, true, 0);
+assertEquals(0, message.getTimestamp());
+}
+
+@Test
 public void testIsEmpty() {
 AmqpJmsMessageFacade message = createNewMessageFacade();
 assertTrue(message.isEmpty());


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



[2/3] git commit: Create a specialized session object used soley by the connection to provide a place for things like durable unsubscribe, etc.

2014-10-16 Thread tabish
Create a specialized session object used soley by the connection to
provide a place for things like durable unsubscribe, etc. 

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

Branch: refs/heads/master
Commit: 1ec8e2ca8521819b982b1ba853859a12b32014a5
Parents: 49db0e5
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 16:51:25 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 16:51:25 2014 -0400

--
 .../qpid/jms/provider/amqp/AmqpConnection.java  |  8 ++-
 .../provider/amqp/AmqpConnectionSession.java| 51 
 .../qpid/jms/provider/amqp/AmqpProvider.java|  2 +-
 3 files changed, 58 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1ec8e2ca/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
index 97118d7..f3d09b0 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
@@ -48,7 +48,7 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 private final AmqpProvider provider;
 private boolean connected;
 private AmqpSaslAuthenticator authenticator;
-private final AmqpSession connectionSession;
+private final AmqpConnectionSession connectionSession;
 private AmqpConnectionProperties properties;
 
 private String queuePrefix;
@@ -83,7 +83,7 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 JmsSessionInfo sessionInfo = new JmsSessionInfo(this.info, -1);
 sessionInfo.setAcknowledgementMode(Session.AUTO_ACKNOWLEDGE);
 
-this.connectionSession = new AmqpSession(this, sessionInfo);
+this.connectionSession = new AmqpConnectionSession(this, sessionInfo);
 }
 
 @Override
@@ -106,6 +106,10 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 return temporary;
 }
 
+public void unsubscribe(String subscriptionName, AsyncResult request) {
+connectionSession.unsubscribe(subscriptionName, request);
+}
+
 /**
  * Called on receiving an event from Proton indicating a state change on 
the remote
  * side of the Connection.

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1ec8e2ca/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
new file mode 100644
index 000..341893e
--- /dev/null
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp;
+
+import org.apache.qpid.jms.meta.JmsSessionInfo;
+import org.apache.qpid.jms.provider.AsyncResult;
+
+/**
+ * Subclass of the standard session object used solely by AmqpConnection to
+ * aid in managing connection resources that require a persistent session.
+ */
+public class AmqpConnectionSession extends AmqpSession {
+
+/**
+ * Create a new instance of a Connection owned Session object.
+ *
+ * @param connection
+ *the connection that owns this session.
+ * @param info
+ *the codeJmsSessionInfo/code for the Session to create.
+ */
+public

[3/3] git commit: Do some cleanup and renaming to make things more consistent.

2014-10-16 Thread tabish
Do some cleanup and renaming to make things more consistent.  

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

Branch: refs/heads/master
Commit: ec13a0d50f121a71280f9f074a1a6e94e61bbfd1
Parents: 1ec8e2c
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 18:52:38 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 18:52:38 2014 -0400

--
 .../jms/provider/amqp/AbstractAmqpResource.java | 242 ---
 .../jms/provider/amqp/AmqpAbstractResource.java | 240 ++
 .../qpid/jms/provider/amqp/AmqpConnection.java  |  14 +-
 .../qpid/jms/provider/amqp/AmqpConsumer.java|  40 +--
 .../jms/provider/amqp/AmqpFixedProducer.java|   6 +-
 .../qpid/jms/provider/amqp/AmqpProducer.java|   6 +-
 .../jms/provider/amqp/AmqpQueueBrowser.java |   6 +-
 .../qpid/jms/provider/amqp/AmqpSession.java |  18 +-
 .../provider/amqp/AmqpTemporaryDestination.java |  20 +-
 .../provider/amqp/AmqpTransactionContext.java   |   6 +-
 10 files changed, 298 insertions(+), 300 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ec13a0d5/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
deleted file mode 100644
index 1175b34..000
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the License); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.qpid.jms.provider.amqp;
-
-import java.io.IOException;
-
-import javax.jms.JMSException;
-import javax.jms.JMSSecurityException;
-
-import org.apache.qpid.jms.meta.JmsResource;
-import org.apache.qpid.jms.provider.AsyncResult;
-import org.apache.qpid.proton.amqp.Symbol;
-import org.apache.qpid.proton.amqp.transport.AmqpError;
-import org.apache.qpid.proton.amqp.transport.ErrorCondition;
-import org.apache.qpid.proton.engine.Endpoint;
-import org.apache.qpid.proton.engine.EndpointState;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract base for all AmqpResource implementations to extend.
- *
- * This abstract class wraps up the basic state management bits so that the 
concrete
- * object don't have to reproduce it.  Provides hooks for the subclasses to 
initialize
- * and shutdown.
- */
-public abstract class AbstractAmqpResourceR extends JmsResource, E extends 
Endpoint implements AmqpResource {
-
-private static final Logger LOG = 
LoggerFactory.getLogger(AbstractAmqpResource.class);
-
-protected AsyncResult openRequest;
-protected AsyncResult closeRequest;
-
-protected E endpoint;
-protected R info;
-
-/**
- * Creates a new AbstractAmqpResource instance with the JmsResource 
provided, and
- * sets the Endpoint to null.
- *
- * @param info
- *The JmsResource instance that this AmqpResource is managing.
- */
-public AbstractAmqpResource(R info) {
-this(info, null);
-}
-
-/**
- * Creates a new AbstractAmqpResource instance with the JmsResource 
provided, and
- * sets the Endpoint to the given value.
- *
- * @param info
- *The JmsResource instance that this AmqpResource is managing.
- * @param endpoint
- *The Proton Endpoint instance that this object maps to.
- */
-public AbstractAmqpResource(R info, E endpoint) {
-this.info = info;
-this.endpoint = endpoint;
-}
-
-@Override
-public void open(AsyncResult request) {
-this.openRequest = request;
-doOpen();
-this.endpoint.setContext(this);
-this.endpoint.open

  1   2   3   4   5   6   7   8   9   10   >