Repository: qpid-jms Updated Branches: refs/heads/master 9482e9a08 -> 8bcad7f2f
https://issues.apache.org/jira/browse/QPIDJMS-37 Remove workarounds that were put in place pending upgrade to Proton-J 0.9 and enable ignored tests that are now working post upgrade. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/8bcad7f2 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/8bcad7f2 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/8bcad7f2 Branch: refs/heads/master Commit: 8bcad7f2f5bc30fe885248bf4a8b637e29ff0bf9 Parents: 9482e9a Author: Timothy Bish <[email protected]> Authored: Wed May 6 12:03:46 2015 -0400 Committer: Timothy Bish <[email protected]> Committed: Wed May 6 12:03:46 2015 -0400 ---------------------------------------------------------------------- .../jms/provider/amqp/AmqpAbstractResource.java | 22 ++------------- .../qpid/jms/provider/amqp/AmqpConsumer.java | 10 ++----- .../jms/provider/amqp/AmqpFixedProducer.java | 5 +--- .../jms/integration/SessionIntegrationTest.java | 5 ---- .../qpid/jms/test/testpeer/TestAmqpPeer.java | 29 ++------------------ 5 files changed, 10 insertions(+), 61 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bcad7f2/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAbstractResource.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAbstractResource.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAbstractResource.java index 5216276..29b479c 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAbstractResource.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpAbstractResource.java @@ -33,7 +33,6 @@ import org.apache.qpid.proton.amqp.transport.ConnectionError; import org.apache.qpid.proton.amqp.transport.ErrorCondition; import org.apache.qpid.proton.engine.Endpoint; import org.apache.qpid.proton.engine.EndpointState; -import org.apache.qpid.proton.engine.Link; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -134,17 +133,8 @@ public abstract class AmqpAbstractResource<R extends JmsResource, E extends Endp @Override public void closed() { - if (endpoint instanceof Link) { - // TODO: Workaround for PROTON-833. Remove when upgrading to 0.9 - Link l = ((Link) endpoint); - if (l.getSession().getLocalState() != EndpointState.CLOSED) { - endpoint.close(); - endpoint.free(); - } - } else { - endpoint.close(); - endpoint.free(); - } + endpoint.close(); + endpoint.free(); if (this.closeRequest != null) { this.closeRequest.onSuccess(); @@ -182,13 +172,7 @@ public abstract class AmqpAbstractResource<R extends JmsResource, E extends Endp error = new IOException("Remote has closed without error information"); } - if (endpoint instanceof Link) { - // TODO: Workaround for PROTON-833. Remove when upgrading to 0.9 - Link l = ((Link) endpoint); - if (l.getSession().getLocalState() != EndpointState.CLOSED) { - endpoint.close(); - } - } else if (endpoint != null) { + if (endpoint != null) { // TODO: if this is a producer/consumer link then we may only be detached, // rather than fully closed, and should respond appropriately. endpoint.close(); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bcad7f2/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 1c0a639..8ffc5d9 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 @@ -47,6 +47,7 @@ import org.apache.qpid.proton.amqp.DescribedType; import org.apache.qpid.proton.amqp.Symbol; import org.apache.qpid.proton.amqp.messaging.Accepted; import org.apache.qpid.proton.amqp.messaging.Modified; +import org.apache.qpid.proton.amqp.messaging.Rejected; import org.apache.qpid.proton.amqp.messaging.Released; import org.apache.qpid.proton.amqp.messaging.Source; import org.apache.qpid.proton.amqp.messaging.Target; @@ -73,11 +74,6 @@ public class AmqpConsumer extends AmqpAbstractResource<JmsConsumerInfo, Receiver protected static final Symbol JMS_SELECTOR_SYMBOL = Symbol.valueOf("jms-selector"); private static final int INITIAL_BUFFER_CAPACITY = 1024 * 128; - //TODO: Use constants available from Proton 0.9 - private static final Symbol ACCEPTED_DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:accepted:list"); - private static final Symbol REJECTED_DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:rejected:list"); - private static final Symbol MODIFIED_DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:modified:list"); - private static final Symbol RELEASED_DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:released:list"); protected final AmqpSession session; protected final Map<JmsInboundMessageDispatch, Delivery> delivered = new LinkedHashMap<JmsInboundMessageDispatch, Delivery>(); @@ -214,8 +210,8 @@ public class AmqpConsumer extends AmqpAbstractResource<JmsConsumerInfo, Receiver protected void configureSource(Source source) { Map<Symbol, DescribedType> filters = new HashMap<Symbol, DescribedType>(); - Symbol[] outcomes = new Symbol[]{ACCEPTED_DESCRIPTOR_SYMBOL, REJECTED_DESCRIPTOR_SYMBOL, - RELEASED_DESCRIPTOR_SYMBOL, MODIFIED_DESCRIPTOR_SYMBOL}; + Symbol[] outcomes = new Symbol[]{ Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, + Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL }; if (resource.getSubscriptionName() != null && !resource.getSubscriptionName().isEmpty()) { source.setExpiryPolicy(TerminusExpiryPolicy.NEVER); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bcad7f2/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 8ff6b9c..42578c3 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 @@ -60,9 +60,6 @@ public class AmqpFixedProducer extends AmqpProducer { private static final Logger LOG = LoggerFactory.getLogger(AmqpFixedProducer.class); private static final byte[] EMPTY_BYTE_ARRAY = new byte[] {}; - //TODO: Use constants available from Proton 0.9 - private static final Symbol ACCEPTED_DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:accepted:list"); - private static final Symbol REJECTED_DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:rejected:list"); private final AmqpTransferTagGenerator tagGenerator = new AmqpTransferTagGenerator(true); private final Set<Delivery> pending = new LinkedHashSet<Delivery>(); @@ -248,7 +245,7 @@ public class AmqpFixedProducer extends AmqpProducer { JmsDestination destination = resource.getDestination(); String targetAddress = AmqpDestinationHelper.INSTANCE.getDestinationAddress(destination, session.getConnection()); - Symbol[] outcomes = new Symbol[]{ACCEPTED_DESCRIPTOR_SYMBOL, REJECTED_DESCRIPTOR_SYMBOL}; + Symbol[] outcomes = new Symbol[]{ Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL }; String sourceAddress = getProducerId().toString(); Source source = new Source(); source.setAddress(sourceAddress); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bcad7f2/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java index 3cbf6db..fb2f8da 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java @@ -80,7 +80,6 @@ import org.apache.qpid.jms.test.testpeer.matchers.types.EncodedAmqpValueMatcher; import org.apache.qpid.proton.amqp.Binary; import org.apache.qpid.proton.amqp.Symbol; import org.apache.qpid.proton.amqp.UnsignedInteger; -import org.junit.Ignore; import org.junit.Test; public class SessionIntegrationTest extends QpidJmsTestCase { @@ -456,7 +455,6 @@ public class SessionIntegrationTest extends QpidJmsTestCase { } } - @Ignore // TODO: The *test* needs Proton 0.9, enable when upgrading. @Test(timeout = 5000) public void testCreateAnonymousProducerTargetContainsNoTypeCapabilityWhenAnonymousRelayNodeIsSupported() throws Exception { try (TestAmqpPeer testPeer = new TestAmqpPeer();) { @@ -648,7 +646,6 @@ public class SessionIntegrationTest extends QpidJmsTestCase { } } - @Ignore // TODO: The *test* needs Proton 0.9, enable when upgrading. @Test(timeout = 5000) public void testCreateAnonymousProducerWhenAnonymousRelayNodeIsSupported() throws Exception { try (TestAmqpPeer testPeer = new TestAmqpPeer();) { @@ -697,13 +694,11 @@ public class SessionIntegrationTest extends QpidJmsTestCase { } } - @Ignore // TODO: The *test* needs Proton 0.9, enable when upgrading. @Test(timeout = 5000) public void testCreateAnonymousProducerFailsWhenAnonymousRelayNodeIsSupportedButLinkRefusedAndAttachResponseWriteIsNotDeferred() throws Exception { doCreateAnonymousProducerFailsWhenAnonymousRelayNodeIsSupportedButLinkRefusedTestImpl(false); } - @Ignore // TODO: The *test* needs Proton 0.9, enable when upgrading. @Test(timeout = 5000) public void testCreateAnonymousProducerFailsWhenAnonymousRelayNodeIsSupportedButLinkRefusedAndAttachResponseWriteIsDeferred() throws Exception { doCreateAnonymousProducerFailsWhenAnonymousRelayNodeIsSupportedButLinkRefusedTestImpl(true); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bcad7f2/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java index 7824b47..6869b8e 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java @@ -653,7 +653,6 @@ public class TestAmqpPeer implements AutoCloseable if (!refuseLink) { Target t = (Target) createTargetObjectFromDescribedType(attachMatcher.getReceivedTarget()); t.setAddress(dynamicAddress); - trimTargetCapabilities(t); attachResponse.setTarget(t); } else { attachResponse.setTarget(null); @@ -767,11 +766,11 @@ public class TestAmqpPeer implements AutoCloseable attachResponseSender.setChannel(attachMatcher.getActualChannel()); attachResponse.setHandle(receivedHandle); attachResponse.setName(attachMatcher.getReceivedName()); - attachResponse.setSource(trimSourceOutcomesCapabilities(createSourceObjectFromDescribedType(attachMatcher.getReceivedSource()))); + attachResponse.setSource(createSourceObjectFromDescribedType(attachMatcher.getReceivedSource())); if(refuseLink) { attachResponse.setTarget(null); } else { - attachResponse.setTarget(trimTargetCapabilities(createTargetObjectFromDescribedType(attachMatcher.getReceivedTarget()))); + attachResponse.setTarget(createTargetObjectFromDescribedType(attachMatcher.getReceivedTarget())); } _lastInitiatedLinkHandle = (UnsignedInteger) receivedHandle; @@ -881,7 +880,7 @@ public class TestAmqpPeer implements AutoCloseable if(refuseLink) { attachResponse.setSource(null); } else { - attachResponse.setSource(trimSourceOutcomesCapabilities(createSourceObjectFromDescribedType(attachMatcher.getReceivedSource()))); + attachResponse.setSource(createSourceObjectFromDescribedType(attachMatcher.getReceivedSource())); } _lastInitiatedLinkHandle = (UnsignedInteger) receivedHandle; @@ -1281,28 +1280,6 @@ public class TestAmqpPeer implements AutoCloseable return new Source(sourceFields.toArray()); } - private Source trimSourceOutcomesCapabilities(final Source source) { - // TODO: this is a workaround for Proton 0.8 compatibility for the tests. - // Remove method and update callers when upgrading to 0.9. - source.setOutcomes(null); - source.setCapabilities(null); - return source; - } - - private Object trimTargetCapabilities(final Object target) { - // TODO: this is a workaround for Proton 0.8 compatibility for the tests. - // Remove method and update callers when upgrading to 0.9. - if (target instanceof Target) { - ((Target) target).setCapabilities(null); - } else if (target instanceof Coordinator) { - ((Coordinator) target).setCapabilities(null); - } else { - throw new IllegalArgumentException("Unexpected object type: " + target.getClass()); - } - - return target; - } - public void remotelyEndLastOpenedSession(boolean expectEndResponse) { remotelyEndLastOpenedSession(expectEndResponse, 0, null, null); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
