You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/05/23 17:22:42 UTC
qpid-jms git commit: https://issues.apache.org/jira/browse/QPIDJMS-177
Repository: qpid-jms
Updated Branches:
refs/heads/master df2d911d4 -> 0251ae8ce
https://issues.apache.org/jira/browse/QPIDJMS-177
Adds some unit tests and fixes or improves a few minor things exposed in
the 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/0251ae8c
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/0251ae8c
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/0251ae8c
Branch: refs/heads/master
Commit: 0251ae8ce8cfea35d088fe60b89320cf3247f769
Parents: df2d911
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon May 23 13:22:27 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon May 23 13:22:27 2016 -0400
----------------------------------------------------------------------
.../jms/policy/JmsDefaultPresettlePolicy.java | 76 ++-
.../apache/qpid/jms/JmsPrefetchPolicyTest.java | 139 ------
.../apache/qpid/jms/JmsTemporaryQueueTest.java | 1 -
.../apache/qpid/jms/JmsTemporaryTopicTest.java | 1 -
.../policy/JmsDefaultPrefetchPolicyTest.java | 139 ++++++
.../policy/JmsDefaultPresettlePolicyTest.java | 459 +++++++++++++++++++
.../policy/JmsDefaultRedeliveryPolicyTest.java | 83 ++++
7 files changed, 746 insertions(+), 152 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicy.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicy.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicy.java
index 95ca57c..8560750 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicy.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicy.java
@@ -57,10 +57,9 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
@Override
public boolean isConsumerPresttled(JmsSession session, JmsDestination destination) {
-
if (session.isTransacted()) {
return false;
- } else if (presettleAll || presettleConsumers) {
+ } else if (destination != null && (presettleAll || presettleConsumers)) {
return true;
} else if (destination != null && destination.isQueue() && presettleQueueConsumers) {
return true;
@@ -73,10 +72,9 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
@Override
public boolean isProducerPresttled(JmsSession session, JmsDestination destination) {
-
if (presettleAll || presettleProducers) {
return true;
- } else if (session.isTransacted() && presettleTransactedProducers) {
+ } else if (destination != null && session.isTransacted() && presettleTransactedProducers) {
return true;
} else if (destination != null && destination.isQueue() && presettleQueueProducers) {
return true;
@@ -109,7 +107,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleProducers setting for this policy.
*/
public boolean isPresettleProducers() {
- return presettleProducers;
+ return presettleAll || presettleProducers;
}
/**
@@ -127,7 +125,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleTopicProducers setting for this policy
*/
public boolean isPresettleTopicProducers() {
- return presettleTopicProducers;
+ return presettleAll || presettleProducers || presettleTopicProducers;
}
/**
@@ -147,7 +145,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleQueueSends setting for this policy
*/
public boolean isPresettleQueueProducers() {
- return presettleQueueProducers;
+ return presettleAll || presettleProducers || presettleQueueProducers;
}
/**
@@ -167,7 +165,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleTransactedSends setting for this policy
*/
public boolean isPresettleTransactedProducers() {
- return presettleTransactedProducers;
+ return presettleAll || presettleProducers || presettleTransactedProducers;
}
/**
@@ -184,7 +182,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleConsumers configuration value for this policy.
*/
public boolean isPresettleConsumers() {
- return presettleConsumers;
+ return presettleAll || presettleConsumers;
}
/**
@@ -202,7 +200,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleTopicConsumers setting for this policy.
*/
public boolean isPresettleTopicConsumers() {
- return presettleTopicConsumers;
+ return presettleAll || presettleConsumers || presettleTopicConsumers;
}
/**
@@ -220,7 +218,7 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
* @return the presettleQueueConsumers setting for this policy.
*/
public boolean isPresettleQueueConsumers() {
- return presettleQueueConsumers;
+ return presettleAll || presettleConsumers || presettleQueueConsumers;
}
/**
@@ -233,4 +231,60 @@ public class JmsDefaultPresettlePolicy implements JmsPresettlePolicy {
public void setPresettleQueueConsumers(boolean presettleQueueConsumers) {
this.presettleQueueConsumers = presettleQueueConsumers;
}
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (presettleAll ? 1231 : 1237);
+ result = prime * result + (presettleConsumers ? 1231 : 1237);
+ result = prime * result + (presettleProducers ? 1231 : 1237);
+ result = prime * result + (presettleQueueConsumers ? 1231 : 1237);
+ result = prime * result + (presettleQueueProducers ? 1231 : 1237);
+ result = prime * result + (presettleTopicConsumers ? 1231 : 1237);
+ result = prime * result + (presettleTopicProducers ? 1231 : 1237);
+ result = prime * result + (presettleTransactedProducers ? 1231 : 1237);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+
+ JmsDefaultPresettlePolicy other = (JmsDefaultPresettlePolicy) obj;
+ if (presettleAll != other.presettleAll) {
+ return false;
+ }
+ if (presettleConsumers != other.presettleConsumers) {
+ return false;
+ }
+ if (presettleProducers != other.presettleProducers) {
+ return false;
+ }
+ if (presettleQueueConsumers != other.presettleQueueConsumers) {
+ return false;
+ }
+ if (presettleQueueProducers != other.presettleQueueProducers) {
+ return false;
+ }
+ if (presettleTopicConsumers != other.presettleTopicConsumers) {
+ return false;
+ }
+ if (presettleTopicProducers != other.presettleTopicProducers) {
+ return false;
+ }
+ if (presettleTransactedProducers != other.presettleTransactedProducers) {
+ return false;
+ }
+
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/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
deleted file mode 100644
index 79c8c74..0000000
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsPrefetchPolicyTest.java
+++ /dev/null
@@ -1,139 +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;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
-import org.apache.qpid.jms.policy.JmsPrefetchPolicy;
-import org.junit.Test;
-
-/**
- *
- */
-public class JmsPrefetchPolicyTest {
-
- @Test
- public void testHashCode() {
- JmsPrefetchPolicy policy1 = new JmsDefaultPrefetchPolicy();
- JmsPrefetchPolicy policy2 = new JmsDefaultPrefetchPolicy();
-
- assertTrue(policy1.hashCode() != 0);
- assertEquals(policy1.hashCode(), policy1.hashCode());
- assertEquals(policy2.hashCode(), policy2.hashCode());
- }
-
- @Test
- public void testJmsPrefetchPolicy() {
- JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
-
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_TOPIC_PREFETCH, policy.getTopicPrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH, policy.getDurableTopicPrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_PREFETCH, policy.getQueuePrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH, policy.getQueueBrowserPrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.MAX_PREFETCH_SIZE, policy.getMaxPrefetchSize());
- }
-
- @Test
- public void testJmsPrefetchPolicyJmsPrefetchPolicy() {
- JmsDefaultPrefetchPolicy policy1 = new JmsDefaultPrefetchPolicy();
- policy1.setTopicPrefetch(10);
- policy1.setDurableTopicPrefetch(20);
- policy1.setQueueBrowserPrefetch(30);
- policy1.setQueuePrefetch(40);
- policy1.setMaxPrefetchSize(100);
-
- JmsDefaultPrefetchPolicy policy2 = new JmsDefaultPrefetchPolicy(policy1);
-
- assertEquals(policy1.getTopicPrefetch(), policy2.getTopicPrefetch());
- assertEquals(policy1.getDurableTopicPrefetch(), policy2.getDurableTopicPrefetch());
- assertEquals(policy1.getQueuePrefetch(), policy2.getQueuePrefetch());
- assertEquals(policy1.getQueueBrowserPrefetch(), policy2.getQueueBrowserPrefetch());
- assertEquals(policy1.getMaxPrefetchSize(), policy2.getMaxPrefetchSize());
- }
-
- @Test
- public void testGetMaxPrefetchSize() {
- JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
- assertEquals(JmsDefaultPrefetchPolicy.MAX_PREFETCH_SIZE, policy.getMaxPrefetchSize());
- policy.setMaxPrefetchSize(10);
- assertEquals(10, policy.getMaxPrefetchSize());
- }
-
- @Test
- public void testMaxPrefetchSizeIsHonored() {
- JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
- assertEquals(JmsDefaultPrefetchPolicy.MAX_PREFETCH_SIZE, policy.getMaxPrefetchSize());
- policy.setMaxPrefetchSize(42);
- assertEquals(42, policy.getMaxPrefetchSize());
-
- policy.setTopicPrefetch(100);
- policy.setDurableTopicPrefetch(100);
- policy.setQueueBrowserPrefetch(100);
- policy.setQueuePrefetch(100);
-
- assertEquals(42, policy.getTopicPrefetch());
- assertEquals(42, policy.getDurableTopicPrefetch());
- assertEquals(42, policy.getQueuePrefetch());
- assertEquals(42, policy.getQueueBrowserPrefetch());
- }
-
- @Test
- public void testSetAll() {
- JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
-
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_TOPIC_PREFETCH, policy.getTopicPrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH, policy.getDurableTopicPrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_PREFETCH, policy.getQueuePrefetch());
- assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH, policy.getQueueBrowserPrefetch());
-
- policy.setAll(42);
-
- assertEquals(42, policy.getTopicPrefetch());
- assertEquals(42, policy.getDurableTopicPrefetch());
- assertEquals(42, policy.getQueuePrefetch());
- assertEquals(42, policy.getQueueBrowserPrefetch());
- }
-
- @Test
- public void testEqualsObject() {
- JmsPrefetchPolicy policy1 = new JmsDefaultPrefetchPolicy();
- JmsPrefetchPolicy policy2 = new JmsDefaultPrefetchPolicy();
-
- assertEquals(policy1, policy1);
- assertEquals(policy1, policy2);
-
- JmsDefaultPrefetchPolicy policy3 = new JmsDefaultPrefetchPolicy();
- policy3.setTopicPrefetch(10);
- JmsDefaultPrefetchPolicy policy4 = new JmsDefaultPrefetchPolicy();
- policy4.setQueuePrefetch(10);
- JmsDefaultPrefetchPolicy policy5 = new JmsDefaultPrefetchPolicy();
- policy5.setDurableTopicPrefetch(10);
- JmsDefaultPrefetchPolicy policy6 = new JmsDefaultPrefetchPolicy();
- policy6.setQueueBrowserPrefetch(10);
-
- assertFalse(policy1.equals(policy3));
- assertFalse(policy1.equals(policy4));
- assertFalse(policy1.equals(policy5));
- assertFalse(policy1.equals(policy6));
-
- assertFalse(policy1.equals(null));
- assertFalse(policy1.equals(""));
- }
-}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java
index 93ae0ea..6d86c23 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java
@@ -145,7 +145,6 @@ public class JmsTemporaryQueueTest extends QpidJmsTestCase {
String unusedValue = "unusedValue";
JmsQueue queue = new JmsQueue();
-
Map<String, String> props = new HashMap<String, String>();
props.put(NAME_PROP, name);
props.put(unusedKey, unusedValue);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java
index 5cd0be1..01138dd 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java
@@ -145,7 +145,6 @@ public class JmsTemporaryTopicTest extends QpidJmsTestCase {
String unusedValue = "unusedValue";
JmsTopic topic = new JmsTopic();
-
Map<String, String> props = new HashMap<String, String>();
props.put(NAME_PROP, name);
props.put(unusedKey, unusedValue);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicyTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicyTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicyTest.java
new file mode 100644
index 0000000..ed2620b
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicyTest.java
@@ -0,0 +1,139 @@
+/*
+ * 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.policy;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
+import org.apache.qpid.jms.policy.JmsPrefetchPolicy;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class JmsDefaultPrefetchPolicyTest {
+
+ @Test
+ public void testHashCode() {
+ JmsPrefetchPolicy policy1 = new JmsDefaultPrefetchPolicy();
+ JmsPrefetchPolicy policy2 = new JmsDefaultPrefetchPolicy();
+
+ assertTrue(policy1.hashCode() != 0);
+ assertEquals(policy1.hashCode(), policy1.hashCode());
+ assertEquals(policy2.hashCode(), policy2.hashCode());
+ }
+
+ @Test
+ public void testJmsPrefetchPolicy() {
+ JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
+
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_TOPIC_PREFETCH, policy.getTopicPrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH, policy.getDurableTopicPrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_PREFETCH, policy.getQueuePrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH, policy.getQueueBrowserPrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.MAX_PREFETCH_SIZE, policy.getMaxPrefetchSize());
+ }
+
+ @Test
+ public void testJmsPrefetchPolicyJmsPrefetchPolicy() {
+ JmsDefaultPrefetchPolicy policy1 = new JmsDefaultPrefetchPolicy();
+ policy1.setTopicPrefetch(10);
+ policy1.setDurableTopicPrefetch(20);
+ policy1.setQueueBrowserPrefetch(30);
+ policy1.setQueuePrefetch(40);
+ policy1.setMaxPrefetchSize(100);
+
+ JmsDefaultPrefetchPolicy policy2 = new JmsDefaultPrefetchPolicy(policy1);
+
+ assertEquals(policy1.getTopicPrefetch(), policy2.getTopicPrefetch());
+ assertEquals(policy1.getDurableTopicPrefetch(), policy2.getDurableTopicPrefetch());
+ assertEquals(policy1.getQueuePrefetch(), policy2.getQueuePrefetch());
+ assertEquals(policy1.getQueueBrowserPrefetch(), policy2.getQueueBrowserPrefetch());
+ assertEquals(policy1.getMaxPrefetchSize(), policy2.getMaxPrefetchSize());
+ }
+
+ @Test
+ public void testGetMaxPrefetchSize() {
+ JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
+ assertEquals(JmsDefaultPrefetchPolicy.MAX_PREFETCH_SIZE, policy.getMaxPrefetchSize());
+ policy.setMaxPrefetchSize(10);
+ assertEquals(10, policy.getMaxPrefetchSize());
+ }
+
+ @Test
+ public void testMaxPrefetchSizeIsHonored() {
+ JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
+ assertEquals(JmsDefaultPrefetchPolicy.MAX_PREFETCH_SIZE, policy.getMaxPrefetchSize());
+ policy.setMaxPrefetchSize(42);
+ assertEquals(42, policy.getMaxPrefetchSize());
+
+ policy.setTopicPrefetch(100);
+ policy.setDurableTopicPrefetch(100);
+ policy.setQueueBrowserPrefetch(100);
+ policy.setQueuePrefetch(100);
+
+ assertEquals(42, policy.getTopicPrefetch());
+ assertEquals(42, policy.getDurableTopicPrefetch());
+ assertEquals(42, policy.getQueuePrefetch());
+ assertEquals(42, policy.getQueueBrowserPrefetch());
+ }
+
+ @Test
+ public void testSetAll() {
+ JmsDefaultPrefetchPolicy policy = new JmsDefaultPrefetchPolicy();
+
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_TOPIC_PREFETCH, policy.getTopicPrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH, policy.getDurableTopicPrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_PREFETCH, policy.getQueuePrefetch());
+ assertEquals(JmsDefaultPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH, policy.getQueueBrowserPrefetch());
+
+ policy.setAll(42);
+
+ assertEquals(42, policy.getTopicPrefetch());
+ assertEquals(42, policy.getDurableTopicPrefetch());
+ assertEquals(42, policy.getQueuePrefetch());
+ assertEquals(42, policy.getQueueBrowserPrefetch());
+ }
+
+ @Test
+ public void testEqualsObject() {
+ JmsPrefetchPolicy policy1 = new JmsDefaultPrefetchPolicy();
+ JmsPrefetchPolicy policy2 = new JmsDefaultPrefetchPolicy();
+
+ assertEquals(policy1, policy1);
+ assertEquals(policy1, policy2);
+
+ JmsDefaultPrefetchPolicy policy3 = new JmsDefaultPrefetchPolicy();
+ policy3.setTopicPrefetch(10);
+ JmsDefaultPrefetchPolicy policy4 = new JmsDefaultPrefetchPolicy();
+ policy4.setQueuePrefetch(10);
+ JmsDefaultPrefetchPolicy policy5 = new JmsDefaultPrefetchPolicy();
+ policy5.setDurableTopicPrefetch(10);
+ JmsDefaultPrefetchPolicy policy6 = new JmsDefaultPrefetchPolicy();
+ policy6.setQueueBrowserPrefetch(10);
+
+ assertFalse(policy1.equals(policy3));
+ assertFalse(policy1.equals(policy4));
+ assertFalse(policy1.equals(policy5));
+ assertFalse(policy1.equals(policy6));
+
+ assertFalse(policy1.equals(null));
+ assertFalse(policy1.equals(""));
+ }
+}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicyTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicyTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicyTest.java
new file mode 100644
index 0000000..8d8cb27
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultPresettlePolicyTest.java
@@ -0,0 +1,459 @@
+/*
+ * 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.policy;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.apache.qpid.jms.JmsSession;
+import org.apache.qpid.jms.JmsTopic;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+/**
+ * Test basic behavior of the JmsDefaultPresettlePolicy
+ */
+public class JmsDefaultPresettlePolicyTest {
+
+ @Test
+ public void testIsConsumerPresettledPresettleAll() {
+ JmsDestination destination = new JmsQueue("test");
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isConsumerPresttled(session, destination));
+ assertFalse(policy.isProducerPresttled(session, null));
+
+ policy.setPresettleAll(true);
+ assertTrue(policy.isConsumerPresttled(session, destination));
+ assertFalse(policy.isConsumerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsProducerPresettledPresettleAll() {
+ JmsDestination destination = new JmsQueue("test");
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isProducerPresttled(session, destination));
+ assertFalse(policy.isProducerPresttled(session, null));
+
+ policy.setPresettleAll(true);
+ assertTrue(policy.isProducerPresttled(session, destination));
+ assertTrue(policy.isProducerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsConsumerPresettledPresettleConsumer() {
+ JmsDestination destination = new JmsQueue("test");
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isConsumerPresttled(session, destination));
+ assertFalse(policy.isConsumerPresttled(session, null));
+
+ policy.setPresettleConsumers(true);
+ assertTrue(policy.isConsumerPresttled(session, destination));
+ assertFalse(policy.isConsumerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsProducerPresettledPresettleProducers() {
+ JmsDestination destination = new JmsQueue("test");
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isProducerPresttled(session, destination));
+ assertFalse(policy.isProducerPresttled(session, null));
+
+ policy.setPresettleProducers(true);
+ assertTrue(policy.isProducerPresttled(session, destination));
+ assertTrue(policy.isProducerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsConsumerPresettledPresettleTopicConsumer() {
+ JmsDestination queue = new JmsQueue("test");
+ JmsDestination topic = new JmsTopic("test");
+
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isConsumerPresttled(session, queue));
+ assertFalse(policy.isConsumerPresttled(session, topic));
+ assertFalse(policy.isConsumerPresttled(session, null));
+
+ policy.setPresettleTopicConsumers(true);
+ assertFalse(policy.isConsumerPresttled(session, queue));
+ assertTrue(policy.isConsumerPresttled(session, topic));
+ assertFalse(policy.isConsumerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsConsumerPresettledPresettleQueueConsumer() {
+ JmsDestination queue = new JmsQueue("test");
+ JmsDestination topic = new JmsTopic("test");
+
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isConsumerPresttled(session, queue));
+ assertFalse(policy.isConsumerPresttled(session, topic));
+ assertFalse(policy.isConsumerPresttled(session, null));
+
+ policy.setPresettleQueueConsumers(true);
+ assertTrue(policy.isConsumerPresttled(session, queue));
+ assertFalse(policy.isConsumerPresttled(session, topic));
+ assertFalse(policy.isConsumerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsProducerPresettledPresettleTopicProducers() {
+ JmsDestination queue = new JmsQueue("test");
+ JmsDestination topic = new JmsTopic("test");
+
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isProducerPresttled(session, queue));
+ assertFalse(policy.isProducerPresttled(session, topic));
+ assertFalse(policy.isProducerPresttled(session, null));
+
+ policy.setPresettleTopicProducers(true);
+ assertFalse(policy.isProducerPresttled(session, queue));
+ assertTrue(policy.isProducerPresttled(session, topic));
+ assertFalse(policy.isProducerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsProducerPresettledPresettleQueueProducers() {
+ JmsDestination queue = new JmsQueue("test");
+ JmsDestination topic = new JmsTopic("test");
+
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isProducerPresttled(session, queue));
+ assertFalse(policy.isProducerPresttled(session, topic));
+ assertFalse(policy.isProducerPresttled(session, null));
+
+ policy.setPresettleQueueProducers(true);
+ assertTrue(policy.isProducerPresttled(session, queue));
+ assertFalse(policy.isProducerPresttled(session, topic));
+ assertFalse(policy.isProducerPresttled(session, null));
+ }
+
+ @Test
+ public void testIsProducerPresettledPresettleTransactedProducers() {
+ JmsDestination queue = new JmsQueue("test");
+ JmsDestination topic = new JmsTopic("test");
+
+ JmsSession session = Mockito.mock(JmsSession.class);
+ Mockito.when(session.isTransacted()).thenReturn(false);
+
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isProducerPresttled(session, queue));
+ assertFalse(policy.isProducerPresttled(session, topic));
+ assertFalse(policy.isProducerPresttled(session, null));
+
+ Mockito.when(session.isTransacted()).thenReturn(true);
+
+ policy.setPresettleTransactedProducers(true);
+ assertTrue(policy.isProducerPresttled(session, queue));
+ assertTrue(policy.isProducerPresttled(session, topic));
+ assertFalse(policy.isProducerPresttled(session, null));
+ }
+
+ @Test
+ public void testPresettleAll() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+
+ assertFalse(policy.isPresettleAll());
+ policy.setPresettleAll(true);
+ assertTrue(policy.isPresettleAll());
+
+ assertTrue(policy.isPresettleConsumers());
+ assertTrue(policy.isPresettleQueueConsumers());
+ assertTrue(policy.isPresettleTopicConsumers());
+ assertTrue(policy.isPresettleProducers());
+ assertTrue(policy.isPresettleQueueProducers());
+ assertTrue(policy.isPresettleTopicProducers());
+ assertTrue(policy.isPresettleTransactedProducers());
+
+ policy.setPresettleAll(false);
+
+ assertFalse(policy.isPresettleConsumers());
+ assertFalse(policy.isPresettleProducers());
+ assertFalse(policy.isPresettleQueueConsumers());
+ assertFalse(policy.isPresettleQueueProducers());
+ assertFalse(policy.isPresettleTopicConsumers());
+ assertFalse(policy.isPresettleTopicProducers());
+ assertFalse(policy.isPresettleTransactedProducers());
+ }
+
+ @Test
+ public void testPresettleConsumers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+
+ assertFalse(policy.isPresettleConsumers());
+
+ policy.setPresettleConsumers(true);
+
+ assertTrue(policy.isPresettleConsumers());
+ assertTrue(policy.isPresettleQueueConsumers());
+ assertTrue(policy.isPresettleTopicConsumers());
+
+ policy.setPresettleConsumers(false);
+
+ assertFalse(policy.isPresettleConsumers());
+ assertFalse(policy.isPresettleQueueConsumers());
+ assertFalse(policy.isPresettleTopicConsumers());
+ }
+
+ @Test
+ public void testPresettleProducers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+
+ assertFalse(policy.isPresettleProducers());
+
+ policy.setPresettleProducers(true);
+
+ assertTrue(policy.isPresettleProducers());
+ assertTrue(policy.isPresettleQueueProducers());
+ assertTrue(policy.isPresettleTopicProducers());
+
+ policy.setPresettleProducers(false);
+
+ assertFalse(policy.isPresettleProducers());
+ assertFalse(policy.isPresettleQueueProducers());
+ assertFalse(policy.isPresettleTopicProducers());
+ }
+
+ @Test
+ public void testPresettleQueueProducers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isPresettleQueueProducers());
+
+ policy.setPresettleQueueProducers(true);
+ assertTrue(policy.isPresettleQueueProducers());
+
+ policy.setPresettleQueueProducers(false);
+ assertFalse(policy.isPresettleQueueProducers());
+ }
+
+ @Test
+ public void testPresettleTopicProducers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isPresettleTopicProducers());
+
+ policy.setPresettleTopicProducers(true);
+ assertTrue(policy.isPresettleTopicProducers());
+
+ policy.setPresettleTopicProducers(false);
+ assertFalse(policy.isPresettleTopicProducers());
+ }
+
+ @Test
+ public void testPresettleTransactedProducers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isPresettleTransactedProducers());
+
+ policy.setPresettleTransactedProducers(true);
+ assertTrue(policy.isPresettleTransactedProducers());
+
+ policy.setPresettleTransactedProducers(false);
+ assertFalse(policy.isPresettleTransactedProducers());
+ }
+
+ @Test
+ public void testPresettleTopicConsumers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isPresettleTopicConsumers());
+
+ policy.setPresettleTopicConsumers(true);
+ assertTrue(policy.isPresettleTopicConsumers());
+
+ policy.setPresettleTopicConsumers(false);
+ assertFalse(policy.isPresettleTopicConsumers());
+ }
+
+ @Test
+ public void testPresettleQueueConsumers() {
+ JmsDefaultPresettlePolicy policy = new JmsDefaultPresettlePolicy();
+ assertFalse(policy.isPresettleQueueConsumers());
+
+ policy.setPresettleQueueConsumers(true);
+ assertTrue(policy.isPresettleQueueConsumers());
+
+ policy.setPresettleQueueConsumers(false);
+ assertFalse(policy.isPresettleQueueConsumers());
+ }
+
+ @Test
+ public void testEquals() {
+ JmsDefaultPresettlePolicy policy1 = new JmsDefaultPresettlePolicy();
+ JmsDefaultPresettlePolicy policy2 = new JmsDefaultPresettlePolicy();
+
+ assertTrue(policy1.equals(policy1));
+ assertTrue(policy1.equals(policy2));
+ assertTrue(policy2.equals(policy1));
+ assertFalse(policy1.equals(null));
+ assertFalse(policy1.equals("test"));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleAll(true);
+
+ assertFalse(policy1.equals(policy2));
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(true);
+
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(true);
+
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(true);
+
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(true);
+
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(false);
+ policy1.setPresettleTopicProducers(true);
+
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(false);
+ policy1.setPresettleTopicProducers(false);
+ policy1.setPresettleQueueProducers(true);
+
+ assertFalse(policy2.equals(policy1));
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(false);
+ policy1.setPresettleTopicProducers(false);
+ policy1.setPresettleQueueProducers(false);
+ policy1.setPresettleTransactedProducers(true);
+
+ assertFalse(policy2.equals(policy1));
+ }
+
+ @Test
+ public void testHashCode() {
+ JmsDefaultPresettlePolicy policy1 = new JmsDefaultPresettlePolicy();
+ JmsDefaultPresettlePolicy policy2 = new JmsDefaultPresettlePolicy();
+
+ assertEquals(policy1.hashCode(), policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy2.setPresettleAll(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(false);
+ policy1.setPresettleTopicProducers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(false);
+ policy1.setPresettleTopicProducers(false);
+ policy1.setPresettleQueueProducers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+
+ policy1.setPresettleAll(false);
+ policy1.setPresettleProducers(false);
+ policy2.setPresettleConsumers(false);
+ policy2.setPresettleTopicConsumers(false);
+ policy2.setPresettleQueueConsumers(false);
+ policy1.setPresettleTopicProducers(false);
+ policy1.setPresettleQueueProducers(false);
+ policy1.setPresettleTransactedProducers(true);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+ }
+}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0251ae8c/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultRedeliveryPolicyTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultRedeliveryPolicyTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultRedeliveryPolicyTest.java
new file mode 100644
index 0000000..d80a18e
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/policy/JmsDefaultRedeliveryPolicyTest.java
@@ -0,0 +1,83 @@
+/*
+ * 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.policy;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.junit.Test;
+
+/**
+ * Test for the Default Redelivery Policy object.
+ */
+public class JmsDefaultRedeliveryPolicyTest {
+
+ @Test
+ public void testDefaults() {
+ JmsDestination destination = new JmsQueue("test");
+ JmsDefaultRedeliveryPolicy policy = new JmsDefaultRedeliveryPolicy();
+
+ assertEquals(JmsDefaultRedeliveryPolicy.DEFAULT_MAX_REDELIVERIES, policy.getMaxRedeliveries(destination));
+ }
+
+ @Test
+ public void testSetMaxRedeliveries() {
+ JmsDestination destination = new JmsQueue("test");
+ JmsDefaultRedeliveryPolicy policy = new JmsDefaultRedeliveryPolicy();
+
+ policy.setMaxRedeliveries(JmsDefaultRedeliveryPolicy.DEFAULT_MAX_REDELIVERIES + 1);
+
+ assertFalse(JmsDefaultRedeliveryPolicy.DEFAULT_MAX_REDELIVERIES == policy.getMaxRedeliveries(destination));
+
+ assertEquals(JmsDefaultRedeliveryPolicy.DEFAULT_MAX_REDELIVERIES + 1, policy.getMaxRedeliveries());
+ assertEquals(JmsDefaultRedeliveryPolicy.DEFAULT_MAX_REDELIVERIES + 1, policy.getMaxRedeliveries(destination));
+ }
+
+ @Test
+ public void testEquals() {
+ JmsDefaultRedeliveryPolicy policy1 = new JmsDefaultRedeliveryPolicy();
+ JmsDefaultRedeliveryPolicy policy2 = new JmsDefaultRedeliveryPolicy();
+
+ assertTrue(policy1.equals(policy1));
+ assertTrue(policy1.equals(policy2));
+ assertTrue(policy2.equals(policy1));
+ assertFalse(policy1.equals(null));
+ assertFalse(policy1.equals("test"));
+
+ policy1.setMaxRedeliveries(5);
+ policy2.setMaxRedeliveries(6);
+
+ assertFalse(policy1.equals(policy2));
+ assertFalse(policy2.equals(policy1));
+ }
+
+ @Test
+ public void testHashCode() {
+ JmsDefaultRedeliveryPolicy policy1 = new JmsDefaultRedeliveryPolicy();
+ JmsDefaultRedeliveryPolicy policy2 = new JmsDefaultRedeliveryPolicy();
+
+ assertEquals(policy1.hashCode(), policy2.hashCode());
+
+ policy1.setMaxRedeliveries(5);
+ policy2.setMaxRedeliveries(6);
+
+ assertFalse(policy1.hashCode() == policy2.hashCode());
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org