MAILBOX-367 Factorise RabbitMQ constants

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0502ae1f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0502ae1f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0502ae1f

Branch: refs/heads/master
Commit: 0502ae1fbbecefec9bd16fcf3172c8467229058f
Parents: 31ed391
Author: datph <dphamho...@linagora.com>
Authored: Mon Jan 7 09:24:26 2019 +0700
Committer: Benoit Tellier <btell...@linagora.com>
Committed: Tue Jan 8 14:47:47 2019 +0700

----------------------------------------------------------------------
 .../james/backend/rabbitmq/Constants.java       | 41 ++++++++++++++++++++
 .../backend/rabbitmq/RabbitMQClusterTest.java   | 20 +++++-----
 .../james/backend/rabbitmq/RabbitMQFixture.java | 30 ++++++--------
 .../james/backend/rabbitmq/RabbitMQTest.java    | 18 ++++-----
 .../james/queue/rabbitmq/RabbitClient.java      | 24 ++++++------
 5 files changed, 82 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/0502ae1f/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/Constants.java
----------------------------------------------------------------------
diff --git 
a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/Constants.java
 
b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/Constants.java
new file mode 100644
index 0000000..4fc2410
--- /dev/null
+++ 
b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/Constants.java
@@ -0,0 +1,41 @@
+/****************************************************************
+ * 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.james.backend.rabbitmq;
+
+import com.google.common.collect.ImmutableMap;
+import com.rabbitmq.client.AMQP;
+
+public interface Constants {
+    boolean DURABLE = true;
+    boolean AUTO_DELETE = true;
+    boolean EXCLUSIVE = true;
+
+    boolean AUTO_ACK = true;
+    boolean MULTIPLE = true;
+
+    String EMPTY_ROUTING_KEY = "";
+    boolean REQUEUE = true;
+
+    String DIRECT_EXCHANGE = "direct";
+
+    AMQP.BasicProperties NO_PROPERTIES = new AMQP.BasicProperties();
+
+    ImmutableMap<String, Object> NO_ARGUMENTS = ImmutableMap.of();
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/0502ae1f/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQClusterTest.java
----------------------------------------------------------------------
diff --git 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQClusterTest.java
 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQClusterTest.java
index 1b2496d..348d3ff 100644
--- 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQClusterTest.java
+++ 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQClusterTest.java
@@ -18,12 +18,12 @@
  ****************************************************************/
 package org.apache.james.backend.rabbitmq;
 
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.AUTO_DELETE;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.DIRECT;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.DURABLE;
+import static org.apache.james.backend.rabbitmq.Constants.AUTO_DELETE;
+import static org.apache.james.backend.rabbitmq.Constants.DIRECT_EXCHANGE;
+import static org.apache.james.backend.rabbitmq.Constants.DURABLE;
+import static org.apache.james.backend.rabbitmq.Constants.EXCLUSIVE;
+import static org.apache.james.backend.rabbitmq.Constants.NO_PROPERTIES;
 import static org.apache.james.backend.rabbitmq.RabbitMQFixture.EXCHANGE_NAME;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.EXCLUSIVE;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.NO_PROPERTIES;
 import static org.apache.james.backend.rabbitmq.RabbitMQFixture.ROUTING_KEY;
 import static 
org.apache.james.backend.rabbitmq.RabbitMQFixture.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -120,7 +120,7 @@ class RabbitMQClusterTest {
 
         @Test
         void queuesShouldBeShared() throws Exception {
-            node1Channel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+            node1Channel.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
             node1Channel.queueDeclare(QUEUE, DURABLE, !EXCLUSIVE, 
!AUTO_DELETE, ImmutableMap.of()).getQueue();
             node1Channel.queueBind(QUEUE, EXCHANGE_NAME, ROUTING_KEY);
 
@@ -142,7 +142,7 @@ class RabbitMQClusterTest {
 
         @Test
         void queuesShouldBeDeclarableOnAnotherNode() throws Exception {
-            node1Channel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+            node1Channel.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
             node2Channel.queueDeclare(QUEUE, DURABLE, !EXCLUSIVE, 
!AUTO_DELETE, ImmutableMap.of()).getQueue();
             node2Channel.queueBind(QUEUE, EXCHANGE_NAME, ROUTING_KEY);
 
@@ -191,7 +191,7 @@ class RabbitMQClusterTest {
             "See https://github.com/rabbitmq/rabbitmq-server/issues/959";)
         @Test
         void nodeKillingWhenProducing(DockerRabbitMQCluster cluster) throws 
Exception {
-            resilientChannel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+            resilientChannel.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
             resilientChannel.queueDeclare(QUEUE, DURABLE, !EXCLUSIVE, 
!AUTO_DELETE, ImmutableMap.of()).getQueue();
             resilientChannel.queueBind(QUEUE, EXCHANGE_NAME, ROUTING_KEY);
 
@@ -241,7 +241,7 @@ class RabbitMQClusterTest {
             try (Connection connection = 
node3ConnectionFactory.newConnection(clusterAddresses);
                  Channel channel = connection.createChannel()) {
 
-                channel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+                channel.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
                 channel.queueDeclare(QUEUE, DURABLE, !EXCLUSIVE, !AUTO_DELETE, 
ImmutableMap.of()).getQueue();
                 channel.queueBind(QUEUE, EXCHANGE_NAME, ROUTING_KEY);
 
@@ -266,7 +266,7 @@ class RabbitMQClusterTest {
             "This test have roughly 4% chance to fail")
         @Test
         void nodeKillingWhenConsuming(DockerRabbitMQCluster cluster) throws 
Exception {
-            resilientChannel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+            resilientChannel.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
             resilientChannel.queueDeclare(QUEUE, DURABLE, !EXCLUSIVE, 
!AUTO_DELETE, ImmutableMap.of()).getQueue();
             resilientChannel.queueBind(QUEUE, EXCHANGE_NAME, ROUTING_KEY);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/0502ae1f/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQFixture.java
----------------------------------------------------------------------
diff --git 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQFixture.java
 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQFixture.java
index afa0cfe..2920513 100644
--- 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQFixture.java
+++ 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQFixture.java
@@ -26,30 +26,22 @@ import org.awaitility.Awaitility;
 import org.awaitility.Duration;
 import org.awaitility.core.ConditionFactory;
 
-import com.rabbitmq.client.AMQP;
+public interface RabbitMQFixture {
+    String EXCHANGE_NAME = "exchangeName";
+    String ROUTING_KEY = "routingKey";
+    String WORK_QUEUE = "workQueue";
 
-public class RabbitMQFixture {
-    public static final boolean DURABLE = true;
-    public static final boolean AUTO_ACK = true;
-    public static final AMQP.BasicProperties NO_PROPERTIES = null;
-    public static final String EXCHANGE_NAME = "exchangeName";
-    public static final String ROUTING_KEY = "routingKey";
-    public static final String DIRECT = "direct";
-    public static final boolean EXCLUSIVE = true;
-    public static final boolean AUTO_DELETE = true;
-    public static final String WORK_QUEUE = "workQueue";
+    String DEFAULT_USER = "guest";
+    String DEFAULT_PASSWORD_STRING = "guest";
+    char[] DEFAULT_PASSWORD = DEFAULT_PASSWORD_STRING.toCharArray();
+    RabbitMQConfiguration.ManagementCredentials DEFAULT_MANAGEMENT_CREDENTIAL 
= new RabbitMQConfiguration.ManagementCredentials(DEFAULT_USER, 
DEFAULT_PASSWORD);
 
-    static final String DEFAULT_USER = "guest";
-    static final String DEFAULT_PASSWORD_STRING = "guest";
-    static final char[] DEFAULT_PASSWORD = 
DEFAULT_PASSWORD_STRING.toCharArray();
-    public static final RabbitMQConfiguration.ManagementCredentials 
DEFAULT_MANAGEMENT_CREDENTIAL = new 
RabbitMQConfiguration.ManagementCredentials(DEFAULT_USER, DEFAULT_PASSWORD);
-
-    public static Duration slowPacedPollInterval = ONE_HUNDRED_MILLISECONDS;
-    public static ConditionFactory calmlyAwait = Awaitility.with()
+    Duration slowPacedPollInterval = ONE_HUNDRED_MILLISECONDS;
+    ConditionFactory calmlyAwait = Awaitility.with()
         .pollInterval(slowPacedPollInterval)
         .and()
         .with()
         .pollDelay(slowPacedPollInterval)
         .await();
-    public static ConditionFactory awaitAtMostOneMinute = 
calmlyAwait.atMost(ONE_MINUTE);
+    ConditionFactory awaitAtMostOneMinute = calmlyAwait.atMost(ONE_MINUTE);
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/0502ae1f/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQTest.java
----------------------------------------------------------------------
diff --git 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQTest.java
 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQTest.java
index f4dc1bd..412340c 100644
--- 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQTest.java
+++ 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQTest.java
@@ -18,13 +18,13 @@
  ****************************************************************/
 package org.apache.james.backend.rabbitmq;
 
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.AUTO_ACK;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.AUTO_DELETE;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.DIRECT;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.DURABLE;
+import static org.apache.james.backend.rabbitmq.Constants.AUTO_ACK;
+import static org.apache.james.backend.rabbitmq.Constants.AUTO_DELETE;
+import static org.apache.james.backend.rabbitmq.Constants.DIRECT_EXCHANGE;
+import static org.apache.james.backend.rabbitmq.Constants.DURABLE;
+import static org.apache.james.backend.rabbitmq.Constants.EXCLUSIVE;
+import static org.apache.james.backend.rabbitmq.Constants.NO_PROPERTIES;
 import static org.apache.james.backend.rabbitmq.RabbitMQFixture.EXCHANGE_NAME;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.EXCLUSIVE;
-import static org.apache.james.backend.rabbitmq.RabbitMQFixture.NO_PROPERTIES;
 import static org.apache.james.backend.rabbitmq.RabbitMQFixture.ROUTING_KEY;
 import static org.apache.james.backend.rabbitmq.RabbitMQFixture.WORK_QUEUE;
 import static 
org.apache.james.backend.rabbitmq.RabbitMQFixture.awaitAtMostOneMinute;
@@ -137,7 +137,7 @@ class RabbitMQTest {
         }
 
         private String createQueue(Channel channel) throws IOException {
-            channel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+            channel.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, DURABLE);
             String queueName = channel.queueDeclare().getQueue();
             channel.queueBind(queueName, EXCHANGE_NAME, ROUTING_KEY);
             return queueName;
@@ -204,7 +204,7 @@ class RabbitMQTest {
             @Test
             void rabbitMQShouldSupportTheBroadcastCase() throws Exception {
                 // Declare a single exchange and three queues attached to it.
-                channel1.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+                channel1.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
 
                 String queue2 = channel2.queueDeclare().getQueue();
                 channel2.queueBind(queue2, EXCHANGE_NAME, ROUTING_KEY);
@@ -292,7 +292,7 @@ class RabbitMQTest {
                 String conversation4 = "c4";
 
                 // Declare the exchange and a single queue attached to it.
-                channel1.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
+                channel1.exchangeDeclare(EXCHANGE_NAME, DIRECT_EXCHANGE, 
DURABLE);
 
                 String queue1 = channel1.queueDeclare().getQueue();
                 // 1 will follow conversation 1 and 2

http://git-wip-us.apache.org/repos/asf/james-project/blob/0502ae1f/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitClient.java
----------------------------------------------------------------------
diff --git 
a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitClient.java
 
b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitClient.java
index 1a12ac2..d6d0618 100644
--- 
a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitClient.java
+++ 
b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitClient.java
@@ -19,6 +19,15 @@
 
 package org.apache.james.queue.rabbitmq;
 
+import static org.apache.james.backend.rabbitmq.Constants.AUTO_ACK;
+import static org.apache.james.backend.rabbitmq.Constants.AUTO_DELETE;
+import static org.apache.james.backend.rabbitmq.Constants.DURABLE;
+import static org.apache.james.backend.rabbitmq.Constants.EMPTY_ROUTING_KEY;
+import static org.apache.james.backend.rabbitmq.Constants.EXCLUSIVE;
+import static org.apache.james.backend.rabbitmq.Constants.MULTIPLE;
+import static org.apache.james.backend.rabbitmq.Constants.NO_ARGUMENTS;
+import static org.apache.james.backend.rabbitmq.Constants.REQUEUE;
+
 import java.io.IOException;
 import java.util.Optional;
 
@@ -27,21 +36,10 @@ import javax.inject.Inject;
 import org.apache.james.backend.rabbitmq.RabbitMQChannelPool;
 import org.apache.james.queue.api.MailQueue;
 
-import com.google.common.collect.ImmutableMap;
 import com.rabbitmq.client.AMQP;
 import com.rabbitmq.client.GetResponse;
 
 class RabbitClient {
-
-    private static final boolean AUTO_ACK = true;
-    private static final boolean AUTO_DELETE = true;
-    private static final boolean DURABLE = true;
-    private static final boolean EXCLUSIVE = true;
-    private static final boolean MULTIPLE = true;
-    private static final ImmutableMap<String, Object> NO_ARGUMENTS = 
ImmutableMap.of();
-    private static final String ROUTING_KEY = "";
-    public static final boolean REQUEUE = true;
-
     private final RabbitMQChannelPool channelPool;
 
     @Inject
@@ -54,7 +52,7 @@ class RabbitClient {
             try {
                 
channel.exchangeDeclare(name.toRabbitExchangeName().asString(), "direct", 
DURABLE);
                 channel.queueDeclare(name.toWorkQueueName().asString(), 
DURABLE, !EXCLUSIVE, !AUTO_DELETE, NO_ARGUMENTS);
-                channel.queueBind(name.toWorkQueueName().asString(), 
name.toRabbitExchangeName().asString(), ROUTING_KEY);
+                channel.queueBind(name.toWorkQueueName().asString(), 
name.toRabbitExchangeName().asString(), EMPTY_ROUTING_KEY);
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
@@ -64,7 +62,7 @@ class RabbitClient {
     void publish(MailQueueName name, byte[] message) throws 
MailQueue.MailQueueException {
         channelPool.execute(channel -> {
             try {
-                channel.basicPublish(name.toRabbitExchangeName().asString(), 
ROUTING_KEY, new AMQP.BasicProperties(), message);
+                channel.basicPublish(name.toRabbitExchangeName().asString(), 
EMPTY_ROUTING_KEY, new AMQP.BasicProperties(), message);
             } catch (IOException e) {
                 throw new MailQueue.MailQueueException("Unable to publish to 
RabbitMQ", e);
             }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to