You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2015/09/18 04:13:35 UTC

[1/2] activemq-artemis git commit: ARTEMIS-225 validate clientID is set for durable sub

Repository: activemq-artemis
Updated Branches:
  refs/heads/master bb2c89080 -> 0a3ec0f4d


ARTEMIS-225 validate clientID is set for durable sub


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/1c933cfb
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/1c933cfb
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/1c933cfb

Branch: refs/heads/master
Commit: 1c933cfbaeae6518e2fcf55bcb58f3b714f04370
Parents: bb2c890
Author: jbertram <jb...@apache.org>
Authored: Thu Sep 17 15:46:18 2015 -0500
Committer: jbertram <jb...@apache.org>
Committed: Thu Sep 17 15:46:18 2015 -0500

----------------------------------------------------------------------
 .../ra/inflow/ActiveMQActivationSpec.java       |  5 ++
 .../ra/ActiveMQMessageHandlerTest.java          | 59 ++++++++++++++++++++
 2 files changed, 64 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1c933cfb/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
----------------------------------------------------------------------
diff --git a/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java b/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
index f80342b..0b46b20 100644
--- a/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
+++ b/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
@@ -696,6 +696,11 @@ public class ActiveMQActivationSpec extends ConnectionFactoryProperties implemen
             propsNotSet.add(new PropertyDescriptor("subscriptionName", ActiveMQActivationSpec.class));
             errorMessages.add("If subscription is durable then subscription name must be specified.");
          }
+
+         if ((isSubscriptionDurable() && getClientID() == null) || (isSubscriptionDurable() && getClientID() != null && getClientID().length() == 0)) {
+            propsNotSet.add(new PropertyDescriptor("clientID", ActiveMQActivationSpec.class));
+            errorMessages.add("If subscription is durable then clientID must be specified.");
+         }
       }
       catch (IntrospectionException e) {
          e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1c933cfb/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
index a5636cf..7f94f81 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
@@ -715,6 +715,65 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase {
    }
 
    @Test
+   public void testNullClientID() throws Exception {
+      ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
+      MyBootstrapContext ctx = new MyBootstrapContext();
+      qResourceAdapter.start(ctx);
+
+      ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
+      spec.setResourceAdapter(qResourceAdapter);
+      spec.setUseJNDI(false);
+      spec.setDestination("mdbTopic");
+      spec.setSubscriptionDurability("Durable");
+      spec.setSubscriptionName("sub");
+      spec.setSetupAttempts(1);
+      spec.setShareSubscriptions(true);
+      spec.setMaxSession(1);
+
+      CountDownLatch latch = new CountDownLatch(5);
+      DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
+      DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
+      try {
+         qResourceAdapter.endpointActivation(endpointFactory, spec);
+         fail();
+      }
+      catch (Exception e) {
+         assertTrue(e instanceof InvalidPropertyException);
+         assertEquals("clientID", ((InvalidPropertyException) e).getInvalidPropertyDescriptors()[0].getName());
+      }
+   }
+
+   @Test
+   public void testEmptyClientID() throws Exception {
+      ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
+      MyBootstrapContext ctx = new MyBootstrapContext();
+      qResourceAdapter.start(ctx);
+
+      ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
+      spec.setResourceAdapter(qResourceAdapter);
+      spec.setUseJNDI(false);
+      spec.setDestination("mdbTopic");
+      spec.setSubscriptionDurability("Durable");
+      spec.setSubscriptionName("sub");
+      spec.setClientID("");
+      spec.setSetupAttempts(1);
+      spec.setShareSubscriptions(true);
+      spec.setMaxSession(1);
+
+      CountDownLatch latch = new CountDownLatch(5);
+      DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
+      DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
+      try {
+         qResourceAdapter.endpointActivation(endpointFactory, spec);
+         fail();
+      }
+      catch (Exception e) {
+         assertTrue(e instanceof InvalidPropertyException);
+         assertEquals("clientID", ((InvalidPropertyException) e).getInvalidPropertyDescriptors()[0].getName());
+      }
+   }
+
+   @Test
    public void testBadDestinationType() throws Exception {
       ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
       MyBootstrapContext ctx = new MyBootstrapContext();


[2/2] activemq-artemis git commit: This closes #171

Posted by cl...@apache.org.
This closes #171


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/0a3ec0f4
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/0a3ec0f4
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/0a3ec0f4

Branch: refs/heads/master
Commit: 0a3ec0f4dad45da81238d98c30b3dc9045736fca
Parents: bb2c890 1c933cf
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Sep 17 22:13:25 2015 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Sep 17 22:13:25 2015 -0400

----------------------------------------------------------------------
 .../ra/inflow/ActiveMQActivationSpec.java       |  5 ++
 .../ra/ActiveMQMessageHandlerTest.java          | 59 ++++++++++++++++++++
 2 files changed, 64 insertions(+)
----------------------------------------------------------------------