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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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
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
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
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.
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.
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.
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.
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
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.
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
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
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.
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.
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
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.
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
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
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.
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.
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
Repository: qpid-jms Updated Branches: refs/heads/master 6973cb51d - 6ed98ed91 Add unit test Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/6ed98ed9 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6ed98ed9 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6ed98ed9 Branch: refs/heads/master Commit: 6ed98ed91055cc6c67a3dddb88257f1b7d7b153f Parents: 6973cb5 Author: Timothy Bish tabish...@gmail.com Authored: Tue Oct 7 16:15:06 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Tue Oct 7 16:15:06 2014 -0400 -- .../org/apache/qpid/jms/util/StopWatchTest.java | 73 1 file changed, 73 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6ed98ed9/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java new file mode 100644 index 000..09e51fa --- /dev/null +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/StopWatchTest.java @@ -0,0 +1,73 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.qpid.jms.util; + +import junit.framework.TestCase; + +/** + * + */ +public class StopWatchTest extends TestCase { + +public void testStopWatch() throws Exception { +StopWatch watch = new StopWatch(); +Thread.sleep(200); +long taken = watch.stop(); + +assertEquals(taken, watch.taken()); +assertTrue(Should take approx 200 millis, was: + taken, taken 150); +} + +public void testStopWatchNotStarted() throws Exception { +StopWatch watch = new StopWatch(false); +long taken = watch.stop(); +assertEquals(0, taken); + +watch.restart(); +Thread.sleep(200); +taken = watch.stop(); + +assertEquals(taken, watch.taken()); +assertTrue(Should take approx 200 millis, was: + taken, taken 150); +} + +public void testStopWatchRestart() throws Exception { +StopWatch watch = new StopWatch(); +Thread.sleep(200); +long taken = watch.stop(); + +assertEquals(taken, watch.taken()); +assertTrue(Should take approx 200 millis, was: + taken, taken 150); + +watch.restart(); +Thread.sleep(100); +taken = watch.stop(); + +assertEquals(taken, watch.taken()); +assertTrue(Should take approx 100 millis, was: + taken, taken 50); +} + +public void testStopWatchTaken() throws Exception { +StopWatch watch = new StopWatch(); +Thread.sleep(100); +long taken = watch.taken(); +Thread.sleep(100); +long taken2 = watch.taken(); +assertNotSame(taken, taken2); +assertTrue(taken2 taken); +} +} \ No newline at end of file - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
git commit: More unit tests for util classes
Repository: qpid-jms Updated Branches: refs/heads/master 6ed98ed91 - e5fbb3b27 More unit tests for util classes Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/e5fbb3b2 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/e5fbb3b2 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/e5fbb3b2 Branch: refs/heads/master Commit: e5fbb3b27dd685af1b42bb21214092e45220cb34 Parents: 6ed98ed Author: Timothy Bish tabish...@gmail.com Authored: Tue Oct 7 16:37:43 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Tue Oct 7 16:37:43 2014 -0400 -- .../qpid/jms/util/IOExceptionSupportTest.java | 60 .../org/apache/qpid/jms/util/LRUCacheTest.java | 8 +++ 2 files changed, 68 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e5fbb3b2/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java new file mode 100644 index 000..1bf6b08 --- /dev/null +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IOExceptionSupportTest.java @@ -0,0 +1,60 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.qpid.jms.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; + +import java.io.IOException; + +import org.junit.Test; + +/** + * + */ +public class IOExceptionSupportTest { + +@Test +public void test() { +new IOExceptionSupport(); +} + +@Test +public void testPassthrough() { +IOException cause = new IOException(); +assertSame(cause, IOExceptionSupport.create(cause)); +} + +@Test +public void testCreateWithMessage() { +IOException ex = IOExceptionSupport.create(new RuntimeException(error)); +assertEquals(error, ex.getMessage()); +} + +@Test +public void testCreateWithoutMessage() { +IOException ex = IOExceptionSupport.create(new RuntimeException()); +assertNotNull(ex.getMessage()); +} + +@Test +public void testCreateWithEmptyMessage() { +IOException ex = IOExceptionSupport.create(new RuntimeException()); +assertNotNull(ex.getMessage()); +} +} http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e5fbb3b2/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java index ce3b08e..43fd146 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/LRUCacheTest.java @@ -32,6 +32,14 @@ public class LRUCacheTest { protected static final Logger LOG = LoggerFactory.getLogger(LRUCacheTest.class); @Test +public void testLRUCache() { +LRUCacheLong, Long underTest = new LRUCacheLong, Long(); +assertEquals(1, underTest.getMaxCacheSize()); +underTest.setMaxCacheSize(1000); +assertEquals(1000, underTest.getMaxCacheSize()); +} + +@Test public void testResize() throws Exception { LRUCacheLong, Long underTest = new LRUCacheLong, Long(1000); - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
git commit: Additional tests for dequeue
Repository: qpid-jms Updated Branches: refs/heads/master e5fbb3b27 - cbded4573 Additional tests for dequeue Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/cbded457 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/cbded457 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/cbded457 Branch: refs/heads/master Commit: cbded4573339e004a35e9f979a5a3b8eeac8a7de Parents: e5fbb3b Author: Timothy Bish tabish...@gmail.com Authored: Tue Oct 7 17:12:03 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Tue Oct 7 17:12:03 2014 -0400 -- .../qpid/jms/util/PriorityMessageQueueTest.java | 67 1 file changed, 67 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbded457/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java index ee0b4b9..e0fee32 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java @@ -98,6 +98,28 @@ public class PriorityMessageQueueTest { } @Test +public void testDequeueWhenQueueIsNotEmpty() throws InterruptedException { +JmsInboundMessageDispatch message = createEnvelope(); +queue.enqueueFirst(message); +assertFalse(queue.isEmpty()); +assertSame(message, queue.dequeue(1L)); +} + +@Test +public void testDequeueZeroWhenQueueIsNotEmpty() throws InterruptedException { +JmsInboundMessageDispatch message = createEnvelope(); +queue.enqueueFirst(message); +assertFalse(queue.isEmpty()); +assertSame(message, queue.dequeue(0)); +} + +@Test +public void testDequeueZeroWhenQueueIsEmpty() throws InterruptedException { +assertTrue(queue.isEmpty()); +assertSame(null, queue.dequeue(0)); +} + +@Test public void testDequeueWhenQueueIsStopped() throws InterruptedException { JmsInboundMessageDispatch message = createEnvelope(); queue.enqueueFirst(message); @@ -271,6 +293,51 @@ public class PriorityMessageQueueTest { assertSame(message, queue.dequeue(-1)); } +@Test +public void testDequeueTimedWaitsUntilMessageArrives() throws InterruptedException { +final JmsInboundMessageDispatch message = createEnvelope(); +Thread runner = new Thread(new Runnable() { + +@Override +public void run() { +try { +TimeUnit.SECONDS.sleep(2); +} catch (InterruptedException e) { +} +queue.enqueueFirst(message); +} +}); +runner.start(); + +assertSame(message, queue.dequeue(1)); +} + +@Test +public void testDequeueWaitsUntilMessageArrivesWhenLockNotified() throws InterruptedException { +final JmsInboundMessageDispatch message = createEnvelope(); +Thread runner = new Thread(new Runnable() { + +@Override +public void run() { +try { +TimeUnit.SECONDS.sleep(2); +} catch (InterruptedException e) { +} +synchronized (queue.getLock()) { +queue.getLock().notify(); +} +try { +TimeUnit.SECONDS.sleep(1); +} catch (InterruptedException e) { +} +queue.enqueueFirst(message); +} +}); +runner.start(); + +assertSame(message, queue.dequeue(-1)); +} + private ListJmsInboundMessageDispatch createFullRangePrioritySet() { ListJmsInboundMessageDispatch messages = new ArrayListJmsInboundMessageDispatch(); for (int i = 0; i 10; ++i) { - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[3/3] git commit: Add basic test of JmsConnection using mocked provider to test the basic contracts of the object are honored.
Add basic test of JmsConnection using mocked provider to test the basic contracts of the object are honored. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/f315bd30 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/f315bd30 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/f315bd30 Branch: refs/heads/master Commit: f315bd30948e8facd4e1ec553a084a6cd7a64494 Parents: b53f965 Author: Timothy Bish tabish...@gmail.com Authored: Tue Oct 7 18:46:45 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Tue Oct 7 18:46:45 2014 -0400 -- .../org/apache/qpid/jms/JmsConnectionTest.java | 97 1 file changed, 97 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f315bd30/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java new file mode 100644 index 000..b5700be --- /dev/null +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java @@ -0,0 +1,97 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.qpid.jms; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.net.URI; + +import javax.jms.JMSException; + +import org.apache.qpid.jms.message.JmsInboundMessageDispatch; +import org.apache.qpid.jms.provider.Provider; +import org.apache.qpid.jms.util.IdGenerator; +import org.junit.Test; +import org.mockito.Mockito; + +/** + * Test basic functionality around JmsConnection + */ +public class JmsConnectionTest { + +private final Provider provider = Mockito.mock(Provider.class); +private final IdGenerator clientIdGenerator = new IdGenerator(); + +@Test(expected=JMSException.class) +public void testJmsConnectionThrowsJMSExceptionProviderStartFails() throws JMSException, IllegalStateException, IOException { +Mockito.doThrow(IOException.class).when(provider).start(); +new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +} + +@Test +public void testGetProvider() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +assertSame(provider, connection.getProvider()); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testSetClientIdWithNull() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.setClientID(null); +} + +@Test +public void testGetConnectionId() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +assertEquals(ID:TEST:1, connection.getConnectionId().toString()); +} + +@Test +public void testAddConnectionListener() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +JmsConnectionListener listener = new JmsConnectionListener() { + +@Override +public void onMessage(JmsInboundMessageDispatch envelope) { +} + +@Override +public void onConnectionRestored(URI remoteURI) { +} + +@Override +public void onConnectionInterrupted(URI remoteURI) { +} + +@Override +public void onConnectionFailure(Throwable error) { +} + +@Override +public void onConnectionEstablished(URI remoteURI) { +} +}; + +assertFalse(connection.removeConnectionListener(listener)); +connection.addConnectionListener(listener); +assertTrue
[1/3] git commit: Cover some additional code paths.
Repository: qpid-jms Updated Branches: refs/heads/master cbded4573 - f315bd309 Cover some additional code paths. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/936098ec Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/936098ec Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/936098ec Branch: refs/heads/master Commit: 936098ec5ebc8f577d5fd5c29150fddae9d7dff6 Parents: cbded45 Author: Timothy Bish tabish...@gmail.com Authored: Tue Oct 7 17:58:32 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Tue Oct 7 17:58:32 2014 -0400 -- .../apache/qpid/jms/util/PropertyUtilTest.java | 76 +++- 1 file changed, 73 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/936098ec/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java index feb14a7..38bb946 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PropertyUtilTest.java @@ -65,7 +65,7 @@ public class PropertyUtilTest { private URI uriValue; private SSLContext context; -private final Embedded embedded = new Embedded(); +private Embedded embedded = new Embedded(); public Options() { } @@ -115,28 +115,49 @@ public class PropertyUtilTest { return booleanValue; } -public URI getUriValue() { +public URI getURIValue() { return uriValue; } -public URL getUrlValue() { +public void setURIValue(URI uriValue) { +this.uriValue = uriValue; +} + +public URL getURLValue() { return urlValue; } +public void setURLValue(URL urlValue) { +this.urlValue = urlValue; +} + public SSLContext getSSLContext() { return context; } +public void setSSLContext(SSLContext context) { +this.context = context; +} + public Embedded getEmbedded() { return embedded; } +public void setEmbedded(Embedded embedded) { +this.embedded = embedded; +} + public void setNotReadable(String value) { this.notReadable = value; } } @Test +public void test() { +new PropertyUtil(); +} + +@Test public void testReplaceQueryUsingMap() throws URISyntaxException { URI original = new URI(http://www.example.com?option=true;); @@ -426,6 +447,48 @@ public class PropertyUtilTest { } @Test +public void testGetPropertiesHandlesURIs() throws Exception { +Options configObject = new Options(foo, bar); + +configObject.setURIValue(new URI(test://test)); + +MapString, String properties = PropertyUtil.getProperties(configObject); + +assertFalse(properties.isEmpty()); +assertEquals(foo, properties.get(firstName)); +assertEquals(bar, properties.get(lastName)); +assertEquals(test://test, properties.get(URIValue)); +} + +@Test +public void testGetPropertiesHandlesURLs() throws Exception { +Options configObject = new Options(foo, bar); + +configObject.setURLValue(new URL(http://www.domain.com;)); + +MapString, String properties = PropertyUtil.getProperties(configObject); + +assertFalse(properties.isEmpty()); +assertEquals(foo, properties.get(firstName)); +assertEquals(bar, properties.get(lastName)); +assertEquals(http://www.domain.com;, properties.get(URLValue)); +} + +@Test +public void testGetPropertiesIgnoresSSLContext() throws Exception { +Options configObject = new Options(foo, bar); + +configObject.setSSLContext(SSLContext.getDefault()); +MapString, String properties = PropertyUtil.getProperties(configObject); + +assertFalse(properties.isEmpty()); +assertEquals(foo, properties.get(firstName)); +assertEquals(bar, properties.get(lastName)); + +assertFalse(properties.containsKey(sslContext)); +} + +@Test public void testGetProperty() throws Exception { Options configObject = new Options(foo, bar); Object result = PropertyUtil.getProperty(configObject, firstName); @@ -456,6 +519,13 @@ public class PropertyUtilTest { } @Test +public void testSetPropertyOfURI() throws Exception { +Options configObject = new Options
[2/3] git commit: Fix method name to match the add variant.
Fix method name to match the add variant. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/b53f9658 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/b53f9658 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/b53f9658 Branch: refs/heads/master Commit: b53f9658da2599b8901662f60ef8d246e37d27c7 Parents: 936098e Author: Timothy Bish tabish...@gmail.com Authored: Tue Oct 7 18:40:00 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Tue Oct 7 18:40:00 2014 -0400 -- .../src/main/java/org/apache/qpid/jms/JmsConnection.java | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b53f9658/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java index 2d49c48..8164049 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java @@ -796,9 +796,11 @@ public class JmsConnection implements Connection, TopicConnection, QueueConnecti * * @param listener *the listener to remove from the collection. + * + * @return true if the given listener was removed from the current set. */ -public void removeTransportListener(JmsConnectionListener listener) { -this.connectionListeners.remove(listener); +public boolean removeConnectionListener(JmsConnectionListener listener) { +return this.connectionListeners.remove(listener); } public boolean isForceAsyncSend() { - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
git commit: Test and fix for Prefetch policy object.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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()
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.
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
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.
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()
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
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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