You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/03/29 21:10:14 UTC

[incubator-pulsar] branch master updated: Add admin v2 support for clusters, brokers, and resources quotas. (#1471)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 6d108d8  Add admin v2 support for clusters, brokers, and resources quotas. (#1471)
6d108d8 is described below

commit 6d108d820698cbc831dfa246e13e08f2bed9c5b2
Author: cckellogg <cc...@gmail.com>
AuthorDate: Thu Mar 29 14:10:11 2018 -0700

    Add admin v2 support for clusters, brokers, and resources quotas. (#1471)
---
 .../pulsar/client/admin/internal/BrokersImpl.java  |  2 +-
 .../pulsar/client/admin/internal/ClustersImpl.java |  3 +--
 .../client/admin/internal/ResourceQuotasImpl.java  | 28 +++++++++++++---------
 3 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokersImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokersImpl.java
index f5c5b3d..52270d3 100644
--- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokersImpl.java
+++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokersImpl.java
@@ -37,7 +37,7 @@ public class BrokersImpl extends BaseResource implements Brokers {
 
     public BrokersImpl(WebTarget web, Authentication auth) {
         super(auth);
-        adminBrokers = web.path("/admin/brokers");
+        adminBrokers = web.path("/admin/v2/brokers");
     }
 
     @Override
diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ClustersImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ClustersImpl.java
index 9bf8e6b..562fbee 100644
--- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ClustersImpl.java
+++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ClustersImpl.java
@@ -39,11 +39,10 @@ import org.apache.pulsar.common.policies.data.NamespaceIsolationData;
 public class ClustersImpl extends BaseResource implements Clusters {
 
     private final WebTarget adminClusters;
-    //private final WebTarget clusters;
 
     public ClustersImpl(WebTarget web, Authentication auth) {
         super(auth);
-        adminClusters = web.path("/admin/clusters");
+        adminClusters = web.path("/admin/v2/clusters");
     }
 
     @Override
diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ResourceQuotasImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ResourceQuotasImpl.java
index bd53694..d96b643 100644
--- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ResourceQuotasImpl.java
+++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ResourceQuotasImpl.java
@@ -32,15 +32,17 @@ import org.apache.pulsar.common.policies.data.ResourceQuota;
 public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas {
 
     private final WebTarget adminQuotas;
+    private final WebTarget adminV2Quotas;
 
     public ResourceQuotasImpl(WebTarget web, Authentication auth) {
         super(auth);
         adminQuotas = web.path("/admin/resource-quotas");
+        adminV2Quotas = web.path("/admin/v2/resource-quotas");
     }
 
     public ResourceQuota getDefaultResourceQuota() throws PulsarAdminException {
         try {
-            return request(adminQuotas).get(ResourceQuota.class);
+            return request(adminV2Quotas).get(ResourceQuota.class);
         } catch (Exception e) {
             throw getApiException(e);
         }
@@ -48,7 +50,7 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas {
 
     public void setDefaultResourceQuota(ResourceQuota quota) throws PulsarAdminException {
         try {
-            request(adminQuotas).post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class);
+            request(adminV2Quotas).post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class);
         } catch (Exception e) {
             throw getApiException(e);
         }
@@ -57,9 +59,8 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas {
     public ResourceQuota getNamespaceBundleResourceQuota(String namespace, String bundle) throws PulsarAdminException {
         try {
             NamespaceName ns = NamespaceName.get(namespace);
-            return request(
-                    adminQuotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle))
-                    .get(ResourceQuota.class);
+            WebTarget path = namespacePath(ns, bundle);
+            return request(path).get(ResourceQuota.class);
         } catch (Exception e) {
             throw getApiException(e);
         }
@@ -69,9 +70,8 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas {
             throws PulsarAdminException {
         try {
             NamespaceName ns = NamespaceName.get(namespace);
-            request(
-                    adminQuotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle))
-                    .post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class);
+            WebTarget path = namespacePath(ns, bundle);
+            request(path).post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class);
         } catch (Exception e) {
             throw getApiException(e);
         }
@@ -80,12 +80,18 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas {
     public void resetNamespaceBundleResourceQuota(String namespace, String bundle) throws PulsarAdminException {
         try {
             NamespaceName ns = NamespaceName.get(namespace);
-            request(
-                    adminQuotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle))
-                    .delete();
+            WebTarget path = namespacePath(ns, bundle);
+            request(path).delete();
         } catch (Exception e) {
             throw getApiException(e);
         }
     }
+
+    private WebTarget namespacePath(NamespaceName namespace, String... parts) {
+        final WebTarget base = namespace.isV2() ? adminV2Quotas : adminQuotas;
+        WebTarget namespacePath = base.path(namespace.toString());
+        namespacePath = WebTargets.addParts(namespacePath, parts);
+        return namespacePath;
+    }
 }
 

-- 
To stop receiving notification emails like this one, please contact
mmerli@apache.org.