You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/01/15 03:21:41 UTC

[06/30] james-project git commit: MAILBOX-367 Expose Exchange APIs to RabbitMQManagementAPI

MAILBOX-367 Expose Exchange APIs to RabbitMQManagementAPI


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

Branch: refs/heads/master
Commit: 914262497df2b71222a04538afb83efcb002d82c
Parents: 90cabdd
Author: datph <dp...@linagora.com>
Authored: Thu Jan 10 09:27:47 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 09:56:28 2019 +0700

----------------------------------------------------------------------
 .../backend/rabbitmq/RabbitMQManagementAPI.java | 95 +++++++++++++++++++-
 1 file changed, 94 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/91426249/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
----------------------------------------------------------------------
diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
index 13a1c45..d8ad7bb 100644
--- a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
@@ -1,4 +1,3 @@
-
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -22,8 +21,10 @@ package org.apache.james.backend.rabbitmq;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.MoreObjects;
 
 import feign.Feign;
 import feign.Logger;
@@ -46,9 +47,98 @@ public interface RabbitMQManagementAPI {
         @JsonProperty("vhost")
         String vhost;
 
+        @JsonProperty("auto_delete")
+        boolean autoDelete;
+
+        @JsonProperty("durable")
+        boolean durable;
+
+        @JsonProperty("exclusive")
+        boolean exclusive;
+
+        @JsonProperty("arguments")
+        Map<String, String> arguments;
+
+        public String getName() {
+            return name;
+        }
+
+        public String getVhost() {
+            return vhost;
+        }
+
+        public boolean isAutoDelete() {
+            return autoDelete;
+        }
+
+        public boolean isDurable() {
+            return durable;
+        }
+
+        public boolean isExclusive() {
+            return exclusive;
+        }
+
+        public Map<String, String> getArguments() {
+            return arguments;
+        }
+    }
+
+    class Exchange {
+
+        @JsonProperty("name")
+        String name;
+
+        @JsonProperty("type")
+        String type;
+
+        @JsonProperty("auto_delete")
+        boolean autoDelete;
+
+        @JsonProperty("durable")
+        boolean durable;
+
+        @JsonProperty("internal")
+        boolean internal;
+
+        @JsonProperty("arguments")
+        Map<String, String> arguments;
+
         public String getName() {
             return name;
         }
+
+        public String getType() {
+            return type;
+        }
+
+        public boolean isAutoDelete() {
+            return autoDelete;
+        }
+
+        public boolean isDurable() {
+            return durable;
+        }
+
+        public boolean isInternal() {
+            return internal;
+        }
+
+        public Map<String, String> getArguments() {
+            return arguments;
+        }
+
+        @Override
+        public String toString() {
+            return MoreObjects.toStringHelper(this)
+                .add("name", name)
+                .add("type", type)
+                .add("autoDelete", autoDelete)
+                .add("durable", durable)
+                .add("internal", internal)
+                .add("arguments", arguments)
+                .toString();
+        }
     }
 
     static RabbitMQManagementAPI from(RabbitMQConfiguration configuration) {
@@ -76,4 +166,7 @@ public interface RabbitMQManagementAPI {
 
     @RequestLine(value = "DELETE /api/queues/{vhost}/{name}", decodeSlash = false)
     void deleteQueue(@Param("vhost") String vhost, @Param("name") String name);
+
+    @RequestLine("GET /api/exchanges")
+    List<Exchange> listExchanges();
 }
\ No newline at end of file


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