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.