You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/05/04 15:42:08 UTC

svn commit: r399701 - in /incubator/activemq/trunk/activemq-ra/src: main/java/org/apache/activemq/ra/ActiveMQActivationSpec.java test/java/org/apache/activemq/ra/ActiveMQActivationSpecTest.java

Author: chirino
Date: Thu May  4 06:42:06 2006
New Revision: 399701

URL: http://svn.apache.org/viewcvs?rev=399701&view=rev
Log:
Applied John Sission's patch: https://issues.apache.org/activemq/browse/AMQ-705 Thanks John!

Modified:
    incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQActivationSpec.java
    incubator/activemq/trunk/activemq-ra/src/test/java/org/apache/activemq/ra/ActiveMQActivationSpecTest.java

Modified: incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQActivationSpec.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQActivationSpec.java?rev=399701&r1=399700&r2=399701&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQActivationSpec.java (original)
+++ incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQActivationSpec.java Thu May  4 06:42:06 2006
@@ -381,6 +381,13 @@
     }
 
     private boolean isValidSubscriptionDurability(List errorMessages) {
+        // subscriptionDurability only applies to Topics
+        if ( DURABLE_SUBSCRIPTION.equals(subscriptionDurability) &&
+             getDestinationType() != null && !Topic.class.getName().equals(getDestinationType())) {
+            errorMessages.add("subscriptionDurability cannot be set to: "+DURABLE_SUBSCRIPTION+" when destinationType is set to "+
+                Queue.class.getName()+" as it is only valid when destinationType is set to "+Topic.class.getName()+".");
+            return false;
+        }
         if (NON_DURABLE_SUBSCRIPTION.equals(subscriptionDurability) || DURABLE_SUBSCRIPTION.equals(subscriptionDurability))
             return true;
         errorMessages.add("subscriptionDurability must be set to: "+NON_DURABLE_SUBSCRIPTION+" or "+DURABLE_SUBSCRIPTION+".");

Modified: incubator/activemq/trunk/activemq-ra/src/test/java/org/apache/activemq/ra/ActiveMQActivationSpecTest.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-ra/src/test/java/org/apache/activemq/ra/ActiveMQActivationSpecTest.java?rev=399701&r1=399700&r2=399701&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-ra/src/test/java/org/apache/activemq/ra/ActiveMQActivationSpecTest.java (original)
+++ incubator/activemq/trunk/activemq-ra/src/test/java/org/apache/activemq/ra/ActiveMQActivationSpecTest.java Thu May  4 06:42:06 2006
@@ -197,14 +197,25 @@
 
 //----------- durable subscriber tests    
     public void testValidDurableSubscriber() {
+        activationSpec.setDestinationType(Topic.class.getName());
         activationSpec.setSubscriptionDurability(ActiveMQActivationSpec.DURABLE_SUBSCRIPTION);
         activationSpec.setClientId("foobar");
         activationSpec.setSubscriptionName("foobar");
         assertActivationSpecValid();        
         assertTrue(activationSpec.isDurableSubscription());
     }
+
+    public void testDurableSubscriberWithQueueDestinationTypeFailure() {
+        activationSpec.setDestinationType(Queue.class.getName());
+        activationSpec.setSubscriptionDurability(ActiveMQActivationSpec.DURABLE_SUBSCRIPTION);
+        activationSpec.setClientId("foobar");
+        activationSpec.setSubscriptionName("foobar");
+        PropertyDescriptor[] expected = {subscriptionDurabilityProperty};
+        assertActivationSpecInvalid(expected);
+    }
     
     public void testDurableSubscriberNoClientIdNoSubscriptionNameFailure() {
+        activationSpec.setDestinationType(Topic.class.getName());
         activationSpec.setSubscriptionDurability(ActiveMQActivationSpec.DURABLE_SUBSCRIPTION);
         activationSpec.setClientId(null);
         assertNull(activationSpec.getClientId());
@@ -215,6 +226,7 @@
     }    
     
     public void testDurableSubscriberEmptyClientIdEmptySubscriptionNameFailure() {
+        activationSpec.setDestinationType(Topic.class.getName());
         activationSpec.setSubscriptionDurability(ActiveMQActivationSpec.DURABLE_SUBSCRIPTION);
         activationSpec.setClientId(EMPTY_STRING);
         assertNull(activationSpec.getClientId());