This is an automated email from the ASF dual-hosted git repository. sijie 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 cad2039 Prepare admin client to support v2 api. (#1384) cad2039 is described below commit cad20399f410eb274029614e571fd543975e3656 Author: cckellogg <cckell...@gmail.com> AuthorDate: Thu Mar 15 00:10:59 2018 -0700 Prepare admin client to support v2 api. (#1384) * Prepare admin client to support v2 api. * Fix admin with functions. --- .../apache/pulsar/broker/admin/AdminApiTest.java | 2 +- .../apache/pulsar/client/admin/PulsarAdmin.java | 25 ++--- .../client/admin/internal/BrokerStatsImpl.java | 18 ++-- .../pulsar/client/admin/internal/BrokersImpl.java | 16 ++-- .../pulsar/client/admin/internal/ClustersImpl.java | 37 ++++---- .../client/admin/internal/NamespacesImpl.java | 105 +++++++++++---------- .../admin/internal/NonPersistentTopicsImpl.java | 18 ++-- .../admin/internal/PersistentTopicsImpl.java | 62 ++++++------ .../client/admin/internal/PropertiesImpl.java | 18 ++-- .../client/admin/internal/ResourceQuotasImpl.java | 14 +-- .../client/admin/PulsarAdminWithFunctions.java | 2 +- .../client/admin/internal/FunctionsImpl.java | 2 +- 12 files changed, 166 insertions(+), 153 deletions(-) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java index 90d6691..fe89a32 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java @@ -1649,7 +1649,7 @@ public class AdminApiTest extends MockedPulsarServiceBaseTest { pulsarClient.newConsumer().topic(topic1).subscriptionName("my-subscriber-name").subscribe(); PersistentTopicsImpl persistent = (PersistentTopicsImpl) admin.persistentTopics(); - Field field = PersistentTopicsImpl.class.getDeclaredField("persistentTopics"); + Field field = PersistentTopicsImpl.class.getDeclaredField("adminPersistentTopics"); field.setAccessible(true); WebTarget persistentTopics = (WebTarget) field.get(persistent); diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/PulsarAdmin.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/PulsarAdmin.java index 547ea79..4355480 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/PulsarAdmin.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/PulsarAdmin.java @@ -73,10 +73,12 @@ public class PulsarAdmin implements Closeable { private final Client client; private final URL serviceUrl; - protected final WebTarget web; private final Lookup lookups; + protected final WebTarget root; protected final Authentication auth; + + static { /** * The presence of slf4j-jdk14.jar, that is the jul binding for SLF4J, will force SLF4J calls to be delegated to @@ -169,17 +171,16 @@ public class PulsarAdmin implements Closeable { this.client = clientBuilder.build(); this.serviceUrl = serviceUrl; - WebTarget root = client.target(serviceUrl.toString()); - web = root.path("/admin"); - - this.clusters = new ClustersImpl(web, auth); - this.brokers = new BrokersImpl(web, auth); - this.brokerStats = new BrokerStatsImpl(web, auth); - this.properties = new PropertiesImpl(web, auth); - this.namespaces = new NamespacesImpl(web, auth); - this.persistentTopics = new PersistentTopicsImpl(web, auth); - this.nonPersistentTopics = new NonPersistentTopicsImpl(web, auth); - this.resourceQuotas = new ResourceQuotasImpl(web, auth); + root = client.target(serviceUrl.toString()); + + this.clusters = new ClustersImpl(root, auth); + this.brokers = new BrokersImpl(root, auth); + this.brokerStats = new BrokerStatsImpl(root, auth); + this.properties = new PropertiesImpl(root, auth); + this.namespaces = new NamespacesImpl(root, auth); + this.persistentTopics = new PersistentTopicsImpl(root, auth); + this.nonPersistentTopics = new NonPersistentTopicsImpl(root, auth); + this.resourceQuotas = new ResourceQuotasImpl(root, auth); this.lookups = new LookupImpl(root, auth, pulsarConfig.isUseTls()); } diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokerStatsImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokerStatsImpl.java index 82e1722..6dbe20e 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokerStatsImpl.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/BrokerStatsImpl.java @@ -38,17 +38,17 @@ import com.google.gson.JsonObject; */ public class BrokerStatsImpl extends BaseResource implements BrokerStats { - private final WebTarget brokerStats; + private final WebTarget adminBrokerStats; public BrokerStatsImpl(WebTarget target, Authentication auth) { super(auth); - brokerStats = target.path("/broker-stats"); + adminBrokerStats = target.path("/admin/broker-stats"); } @Override public JsonArray getMetrics() throws PulsarAdminException { try { - String json = request(brokerStats.path("/metrics")).get(String.class); + String json = request(adminBrokerStats.path("/metrics")).get(String.class); return new Gson().fromJson(json, JsonArray.class); } catch (Exception e) { throw getApiException(e); @@ -58,7 +58,7 @@ public class BrokerStatsImpl extends BaseResource implements BrokerStats { @Override public AllocatorStats getAllocatorStats(String allocatorName) throws PulsarAdminException { try { - return request(brokerStats.path("/allocator-stats").path(allocatorName)).get(AllocatorStats.class); + return request(adminBrokerStats.path("/allocator-stats").path(allocatorName)).get(AllocatorStats.class); } catch (Exception e) { throw getApiException(e); } @@ -67,7 +67,7 @@ public class BrokerStatsImpl extends BaseResource implements BrokerStats { @Override public JsonArray getMBeans() throws PulsarAdminException { try { - String json = request(brokerStats.path("/mbeans")).get(String.class); + String json = request(adminBrokerStats.path("/mbeans")).get(String.class); return new Gson().fromJson(json, JsonArray.class); } catch (Exception e) { throw getApiException(e); @@ -77,7 +77,7 @@ public class BrokerStatsImpl extends BaseResource implements BrokerStats { @Override public JsonObject getTopics() throws PulsarAdminException { try { - String json = request(brokerStats.path("/destinations")).get(String.class); + String json = request(adminBrokerStats.path("/destinations")).get(String.class); return new Gson().fromJson(json, JsonObject.class); } catch (Exception e) { throw getApiException(e); @@ -87,7 +87,7 @@ public class BrokerStatsImpl extends BaseResource implements BrokerStats { @Override public LoadManagerReport getLoadReport() throws PulsarAdminException { try { - return request(brokerStats.path("/load-report")).get(LocalBrokerData.class); + return request(adminBrokerStats.path("/load-report")).get(LocalBrokerData.class); } catch (Exception e) { throw getApiException(e); } @@ -96,7 +96,7 @@ public class BrokerStatsImpl extends BaseResource implements BrokerStats { @Override public JsonObject getPendingBookieOpsStats() throws PulsarAdminException { try { - String json = request(brokerStats.path("/bookieops")).get(String.class); + String json = request(adminBrokerStats.path("/bookieops")).get(String.class); return new Gson().fromJson(json, JsonObject.class); } catch (Exception e) { throw getApiException(e); @@ -107,7 +107,7 @@ public class BrokerStatsImpl extends BaseResource implements BrokerStats { throws PulsarAdminException { try { String json = request( - brokerStats.path("/broker-resource-availability").path(property).path(cluster).path(namespace)) + adminBrokerStats.path("/broker-resource-availability").path(property).path(cluster).path(namespace)) .get(String.class); return new Gson().fromJson(json, JsonObject.class); } catch (Exception e) { 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 096666b..f5c5b3d 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 @@ -33,17 +33,17 @@ import org.apache.pulsar.common.policies.data.ErrorData; import org.apache.pulsar.common.policies.data.NamespaceOwnershipStatus; public class BrokersImpl extends BaseResource implements Brokers { - private final WebTarget brokers; + private final WebTarget adminBrokers; public BrokersImpl(WebTarget web, Authentication auth) { super(auth); - brokers = web.path("/brokers"); + adminBrokers = web.path("/admin/brokers"); } @Override public List<String> getActiveBrokers(String cluster) throws PulsarAdminException { try { - return request(brokers.path(cluster)).get(new GenericType<List<String>>() { + return request(adminBrokers.path(cluster)).get(new GenericType<List<String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -54,7 +54,7 @@ public class BrokersImpl extends BaseResource implements Brokers { public Map<String, NamespaceOwnershipStatus> getOwnedNamespaces(String cluster, String brokerUrl) throws PulsarAdminException { try { - return request(brokers.path(cluster).path(brokerUrl).path("ownedNamespaces")).get( + return request(adminBrokers.path(cluster).path(brokerUrl).path("ownedNamespaces")).get( new GenericType<Map<String, NamespaceOwnershipStatus>>() { }); } catch (Exception e) { @@ -65,7 +65,7 @@ public class BrokersImpl extends BaseResource implements Brokers { @Override public void updateDynamicConfiguration(String configName, String configValue) throws PulsarAdminException { try { - request(brokers.path("/configuration/").path(configName).path(configValue)).post(Entity.json(""), + request(adminBrokers.path("/configuration/").path(configName).path(configValue)).post(Entity.json(""), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -75,7 +75,7 @@ public class BrokersImpl extends BaseResource implements Brokers { @Override public Map<String, String> getAllDynamicConfigurations() throws PulsarAdminException { try { - return request(brokers.path("/configuration/").path("values")).get(new GenericType<Map<String, String>>() { + return request(adminBrokers.path("/configuration/").path("values")).get(new GenericType<Map<String, String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -85,7 +85,7 @@ public class BrokersImpl extends BaseResource implements Brokers { @Override public List<String> getDynamicConfigurationNames() throws PulsarAdminException { try { - return request(brokers.path("/configuration")).get(new GenericType<List<String>>() { + return request(adminBrokers.path("/configuration")).get(new GenericType<List<String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -95,7 +95,7 @@ public class BrokersImpl extends BaseResource implements Brokers { @Override public InternalConfigurationData getInternalConfigurationData() throws PulsarAdminException { try { - return request(brokers.path("/internal-configuration")).get(InternalConfigurationData.class); + return request(adminBrokers.path("/internal-configuration")).get(InternalConfigurationData.class); } catch (Exception e) { throw getApiException(e); } 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 fcbf012..9bf8e6b 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 @@ -38,17 +38,18 @@ import org.apache.pulsar.common.policies.data.NamespaceIsolationData; public class ClustersImpl extends BaseResource implements Clusters { - private final WebTarget clusters; + private final WebTarget adminClusters; + //private final WebTarget clusters; public ClustersImpl(WebTarget web, Authentication auth) { super(auth); - clusters = web.path("/clusters"); + adminClusters = web.path("/admin/clusters"); } @Override public List<String> getClusters() throws PulsarAdminException { try { - return request(clusters).get(new GenericType<List<String>>() { + return request(adminClusters).get(new GenericType<List<String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -58,7 +59,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public ClusterData getCluster(String cluster) throws PulsarAdminException { try { - return request(clusters.path(cluster)).get(ClusterData.class); + return request(adminClusters.path(cluster)).get(ClusterData.class); } catch (Exception e) { throw getApiException(e); } @@ -67,7 +68,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public void createCluster(String cluster, ClusterData clusterData) throws PulsarAdminException { try { - request(clusters.path(cluster)) + request(adminClusters.path(cluster)) .put(Entity.entity(clusterData, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -77,7 +78,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public void updateCluster(String cluster, ClusterData clusterData) throws PulsarAdminException { try { - request(clusters.path(cluster)).post(Entity.entity(clusterData, MediaType.APPLICATION_JSON), + request(adminClusters.path(cluster)).post(Entity.entity(clusterData, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -87,7 +88,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public void updatePeerClusterNames(String cluster, LinkedHashSet<String> peerClusterNames) throws PulsarAdminException { try { - request(clusters.path(cluster).path("peers")).post(Entity.entity(peerClusterNames, MediaType.APPLICATION_JSON), + request(adminClusters.path(cluster).path("peers")).post(Entity.entity(peerClusterNames, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -98,7 +99,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public Set<String> getPeerClusterNames(String cluster) throws PulsarAdminException { try { - return request(clusters.path(cluster).path("peers")).get(LinkedHashSet.class); + return request(adminClusters.path(cluster).path("peers")).get(LinkedHashSet.class); } catch (Exception e) { throw getApiException(e); } @@ -107,7 +108,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public void deleteCluster(String cluster) throws PulsarAdminException { try { - request(clusters.path(cluster)).delete(ErrorData.class); + request(adminClusters.path(cluster)).delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); } @@ -116,7 +117,7 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public Map<String, NamespaceIsolationData> getNamespaceIsolationPolicies(String cluster) throws PulsarAdminException { try { - return request(clusters.path(cluster).path("namespaceIsolationPolicies")).get( + return request(adminClusters.path(cluster).path("namespaceIsolationPolicies")).get( new GenericType<Map<String, NamespaceIsolationData>>() { }); } catch (Exception e) { @@ -138,13 +139,14 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public void deleteNamespaceIsolationPolicy(String cluster, String policyName) throws PulsarAdminException { - request(clusters.path(cluster).path("namespaceIsolationPolicies").path(policyName)).delete(ErrorData.class); + request(adminClusters.path(cluster) + .path("namespaceIsolationPolicies").path(policyName)).delete(ErrorData.class); } private void setNamespaceIsolationPolicy(String cluster, String policyName, NamespaceIsolationData namespaceIsolationData) throws PulsarAdminException { try { - request(clusters.path(cluster).path("namespaceIsolationPolicies").path(policyName)).post( + request(adminClusters.path(cluster).path("namespaceIsolationPolicies").path(policyName)).post( Entity.entity(namespaceIsolationData, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -155,7 +157,7 @@ public class ClustersImpl extends BaseResource implements Clusters { public NamespaceIsolationData getNamespaceIsolationPolicy(String cluster, String policyName) throws PulsarAdminException { try { - return request(clusters.path(cluster).path("namespaceIsolationPolicies").path(policyName)).get( + return request(adminClusters.path(cluster).path("namespaceIsolationPolicies").path(policyName)).get( NamespaceIsolationData.class); } catch (Exception e) { throw getApiException(e); @@ -174,13 +176,13 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public void deleteFailureDomain(String cluster, String domainName) throws PulsarAdminException { - request(clusters.path(cluster).path("failureDomains").path(domainName)).delete(ErrorData.class); + request(adminClusters.path(cluster).path("failureDomains").path(domainName)).delete(ErrorData.class); } @Override public Map<String, FailureDomain> getFailureDomains(String cluster) throws PulsarAdminException { try { - return request(clusters.path(cluster).path("failureDomains")) + return request(adminClusters.path(cluster).path("failureDomains")) .get(new GenericType<Map<String, FailureDomain>>() { }); } catch (Exception e) { @@ -191,7 +193,8 @@ public class ClustersImpl extends BaseResource implements Clusters { @Override public FailureDomain getFailureDomain(String cluster, String domainName) throws PulsarAdminException { try { - return request(clusters.path(cluster).path("failureDomains").path(domainName)).get(FailureDomain.class); + return request(adminClusters.path(cluster).path("failureDomains") + .path(domainName)).get(FailureDomain.class); } catch (Exception e) { throw getApiException(e); } @@ -200,7 +203,7 @@ public class ClustersImpl extends BaseResource implements Clusters { private void setDomain(String cluster, String domainName, FailureDomain domain) throws PulsarAdminException { try { - request(clusters.path(cluster).path("failureDomains").path(domainName)).post( + request(adminClusters.path(cluster).path("failureDomains").path(domainName)).post( Entity.entity(domain, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NamespacesImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NamespacesImpl.java index 6d3ff3d..06586ad 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NamespacesImpl.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NamespacesImpl.java @@ -44,17 +44,17 @@ import org.apache.pulsar.common.policies.data.SubscriptionAuthMode; public class NamespacesImpl extends BaseResource implements Namespaces { - private final WebTarget namespaces; + private final WebTarget adminNamespaces; public NamespacesImpl(WebTarget web, Authentication auth) { super(auth); - this.namespaces = web.path("/namespaces"); + this.adminNamespaces = web.path("/admin/namespaces"); } @Override public List<String> getNamespaces(String property) throws PulsarAdminException { try { - return request(namespaces.path(property)).get(new GenericType<List<String>>() { + return request(adminNamespaces.path(property)).get(new GenericType<List<String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -64,7 +64,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { @Override public List<String> getNamespaces(String property, String cluster) throws PulsarAdminException { try { - return request(namespaces.path(property).path(cluster)).get(new GenericType<List<String>>() { + return request(adminNamespaces.path(property).path(cluster)).get(new GenericType<List<String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -75,7 +75,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public List<String> getTopics(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + return request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("destinations")).get(new GenericType<List<String>>() { }); } catch (Exception e) { @@ -87,7 +87,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public Policies getPolicies(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) + return request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) .get(Policies.class); } catch (Exception e) { throw getApiException(e); @@ -103,7 +103,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void createNamespace(String namespace, BundlesData bundlesData) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) .put(Entity.entity(bundlesData, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -114,7 +114,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void createNamespace(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) .put(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -125,7 +125,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void deleteNamespace(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())) .delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -136,7 +136,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void deleteNamespaceBundle(String namespace, String bundleRange) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundleRange)) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + .path(bundleRange)) .delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -148,7 +149,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("permissions")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()) + .path(ns.getLocalName()).path("permissions")) .get(new GenericType<Map<String, Set<AuthAction>>>() { }); } catch (Exception e) { @@ -161,7 +163,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("permissions") + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()). + path("permissions") .path(role)).post(Entity.entity(actions, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -172,7 +175,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void revokePermissionsOnNamespace(String namespace, String role) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("permissions") + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + .path("permissions") .path(role)).delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -184,7 +188,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("replication")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + .path("replication")) .get(new GenericType<List<String>>() { }); } catch (Exception e) { @@ -196,7 +201,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setNamespaceReplicationClusters(String namespace, List<String> clusterIds) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("replication")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("replication")) .post(Entity.entity(clusterIds, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -208,7 +213,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("messageTTL")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("messageTTL")) .get(new GenericType<Integer>() { }); @@ -221,7 +226,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setNamespaceMessageTTL(String namespace, int ttlInSeconds) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("messageTTL")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("messageTTL")) .post(Entity.entity(ttlInSeconds, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -233,7 +238,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("antiAffinity")).post(Entity.entity(namespaceAntiAffinityGroup, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -245,7 +250,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public String getNamespaceAntiAffinityGroup(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + return request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("antiAffinity")).get(new GenericType<String>() { }); @@ -258,7 +263,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public List<String> getAntiAffinityNamespaces(String property, String cluster, String namespaceAntiAffinityGroup) throws PulsarAdminException { try { - return request(namespaces.path(cluster).path("antiAffinity").path(namespaceAntiAffinityGroup) + return request(adminNamespaces.path(cluster).path("antiAffinity").path(namespaceAntiAffinityGroup) .queryParam("property", property)).get(new GenericType<List<String>>() { }); } catch (Exception e) { @@ -270,7 +275,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void deleteNamespaceAntiAffinityGroup(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("antiAffinity")).delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -281,7 +286,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setDeduplicationStatus(String namespace, boolean enableDeduplication) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("deduplication")) .post(Entity.entity(enableDeduplication, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -293,7 +298,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public Map<BacklogQuotaType, BacklogQuota> getBacklogQuotaMap(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + return request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("backlogQuotaMap")).get(new GenericType<Map<BacklogQuotaType, BacklogQuota>>() { }); } catch (Exception e) { @@ -305,7 +310,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setBacklogQuota(String namespace, BacklogQuota backlogQuota) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("backlogQuota")) .post(Entity.entity(backlogQuota, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -317,7 +322,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void removeBacklogQuota(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("backlogQuota") + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + .path("backlogQuota") .queryParam("backlogQuotaType", BacklogQuotaType.destination_storage.toString())) .delete(ErrorData.class); } catch (Exception e) { @@ -329,7 +335,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setPersistence(String namespace, PersistencePolicies persistence) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("persistence")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("persistence")) .post(Entity.entity(persistence, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -341,7 +347,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("persistence")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("persistence")) .get(PersistencePolicies.class); } catch (Exception e) { throw getApiException(e); @@ -352,7 +358,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setRetention(String namespace, RetentionPolicies retention) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("retention")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("retention")) .post(Entity.entity(retention, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -365,7 +371,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("retention")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("retention")) .get(RetentionPolicies.class); } catch (Exception e) { throw getApiException(e); @@ -376,7 +382,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void unload(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("unload")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("unload")) .put(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -387,7 +393,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public String getReplicationConfigVersion(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + return request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("configversion")).get(String.class); } catch (Exception e) { throw getApiException(e); @@ -398,7 +404,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void unloadNamespaceBundle(String namespace, String bundle) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) .path("unload")).put(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -410,7 +416,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) .path("split").queryParam("unload", Boolean.toString(unloadSplitBundles))) .put(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -422,7 +428,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setDispatchRate(String namespace, DispatchRate dispatchRate) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("dispatchRate")) .post(Entity.entity(dispatchRate, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -434,7 +440,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public DispatchRate getDispatchRate(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + return request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("dispatchRate")).get(DispatchRate.class); } catch (Exception e) { throw getApiException(e); @@ -445,7 +451,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void clearNamespaceBacklog(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("clearBacklog")).post(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -457,7 +463,8 @@ public class NamespacesImpl extends BaseResource implements Namespaces { throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("clearBacklog") + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()). + path("clearBacklog") .path(subscription)).post(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -468,7 +475,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void clearNamespaceBundleBacklog(String namespace, String bundle) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) .path("clearBacklog")).post(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -480,7 +487,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) .path("clearBacklog").path(subscription)) .post(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -492,7 +499,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void unsubscribeNamespace(String namespace, String subscription) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("unsubscribe") + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("unsubscribe") .path(subscription)).post(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -504,7 +511,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle) .path("unsubscribe").path(subscription)) .post(Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -516,7 +523,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setSubscriptionAuthMode(String namespace, SubscriptionAuthMode subscriptionAuthMode) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path("subscriptionAuthMode")) .post(Entity.entity(subscriptionAuthMode, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -528,7 +535,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setEncryptionRequiredStatus(String namespace, boolean encryptionRequired) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("encryptionRequired")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("encryptionRequired")) .post(Entity.entity(encryptionRequired, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -540,7 +547,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxProducersPerTopic")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxProducersPerTopic")) .get(Integer.class); } catch (Exception e) { throw getApiException(e); @@ -551,7 +558,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setMaxProducersPerTopic(String namespace, int maxProducersPerTopic) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxProducersPerTopic")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxProducersPerTopic")) .post(Entity.entity(maxProducersPerTopic, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -563,7 +570,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerTopic")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerTopic")) .get(Integer.class); } catch (Exception e) { throw getApiException(e); @@ -574,7 +581,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setMaxConsumersPerTopic(String namespace, int maxConsumersPerTopic) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerTopic")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerTopic")) .post(Entity.entity(maxConsumersPerTopic, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -586,7 +593,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { try { NamespaceName ns = NamespaceName.get(namespace); return request( - namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerSubscription")) + adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerSubscription")) .get(Integer.class); } catch (Exception e) { throw getApiException(e); @@ -597,7 +604,7 @@ public class NamespacesImpl extends BaseResource implements Namespaces { public void setMaxConsumersPerSubscription(String namespace, int maxConsumersPerSubscription) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - request(namespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerSubscription")) + request(adminNamespaces.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("maxConsumersPerSubscription")) .post(Entity.entity(maxConsumersPerSubscription, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NonPersistentTopicsImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NonPersistentTopicsImpl.java index 48bfd09..d71a4de 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NonPersistentTopicsImpl.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/NonPersistentTopicsImpl.java @@ -41,11 +41,11 @@ import org.apache.pulsar.common.policies.data.PersistentTopicInternalStats; public class NonPersistentTopicsImpl extends BaseResource implements NonPersistentTopics { - private final WebTarget nonPersistentTopics; + private final WebTarget adminNonPersistentTopics; public NonPersistentTopicsImpl(WebTarget web, Authentication auth) { super(auth); - this.nonPersistentTopics = web.path("/non-persistent"); + adminNonPersistentTopics = web.path("/admin/non-persistent"); } @Override @@ -65,7 +65,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste checkArgument(numPartitions > 1, "Number of partitions should be more than 1"); TopicName ds = validateTopic(topic); return asyncPutRequest( - nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), + adminNonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), Entity.entity(numPartitions, MediaType.APPLICATION_JSON)); } @@ -85,7 +85,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste public CompletableFuture<PartitionedTopicMetadata> getPartitionedTopicMetadataAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<PartitionedTopicMetadata> future = new CompletableFuture<>(); - asyncGetRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), + asyncGetRequest(adminNonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), new InvocationCallback<PartitionedTopicMetadata>() { @Override @@ -117,7 +117,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste public CompletableFuture<NonPersistentTopicStats> getStatsAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<NonPersistentTopicStats> future = new CompletableFuture<>(); - asyncGetRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("stats"), + asyncGetRequest(adminNonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("stats"), new InvocationCallback<NonPersistentTopicStats>() { @Override @@ -149,7 +149,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste public CompletableFuture<PersistentTopicInternalStats> getInternalStatsAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<PersistentTopicInternalStats> future = new CompletableFuture<>(); - asyncGetRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internalStats"), + asyncGetRequest(adminNonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internalStats"), new InvocationCallback<PersistentTopicInternalStats>() { @Override @@ -180,7 +180,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste @Override public CompletableFuture<Void> unloadAsync(String topic) { TopicName ds = validateTopic(topic); - return asyncPutRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("unload"), + return asyncPutRequest(adminNonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("unload"), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -200,7 +200,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste public CompletableFuture<List<String>> getListInBundleAsync(String namespace, String bundleRange) { NamespaceName ns = NamespaceName.get(namespace); final CompletableFuture<List<String>> future = new CompletableFuture<>(); - asyncGetRequest(nonPersistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) + asyncGetRequest(adminNonPersistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()) .path(bundleRange), new InvocationCallback<List<String>>() { @Override public void completed(List<String> response) { @@ -230,7 +230,7 @@ public class NonPersistentTopicsImpl extends BaseResource implements NonPersiste public CompletableFuture<List<String>> getListAsync(String namespace) { NamespaceName ns = NamespaceName.get(namespace); final CompletableFuture<List<String>> future = new CompletableFuture<>(); - asyncGetRequest(nonPersistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()), + asyncGetRequest(adminNonPersistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()), new InvocationCallback<List<String>>() { @Override public void completed(List<String> response) { diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PersistentTopicsImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PersistentTopicsImpl.java index fb28776..523cf53 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PersistentTopicsImpl.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PersistentTopicsImpl.java @@ -75,11 +75,11 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; public class PersistentTopicsImpl extends BaseResource implements PersistentTopics { - private final WebTarget persistentTopics; + private final WebTarget adminPersistentTopics; private final String BATCH_HEADER = "X-Pulsar-num-batch-message"; public PersistentTopicsImpl(WebTarget web, Authentication auth) { super(auth); - this.persistentTopics = web.path("/persistent"); + adminPersistentTopics = web.path("/admin/persistent"); } @@ -87,7 +87,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public List<String> getList(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(persistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())).get( + return request(adminPersistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName())).get( new GenericType<List<String>>() { }); } catch (Exception e) { @@ -99,7 +99,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public List<String> getPartitionedTopicList(String namespace) throws PulsarAdminException { try { NamespaceName ns = NamespaceName.get(namespace); - return request(persistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("partitioned")).get( + return request(adminPersistentTopics.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path("partitioned")).get( new GenericType<List<String>>() { }); } catch (Exception e) { @@ -111,7 +111,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public Map<String, Set<AuthAction>> getPermissions(String topic) throws PulsarAdminException { try { TopicName ds = TopicName.get(topic); - return request(persistentTopics.path(ds.getNamespace()).path(ds.getLocalName()).path("permissions")).get( + return request(adminPersistentTopics.path(ds.getNamespace()).path(ds.getLocalName()).path("permissions")).get( new GenericType<Map<String, Set<AuthAction>>>() { }); } catch (Exception e) { @@ -123,7 +123,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public void grantPermission(String topic, String role, Set<AuthAction> actions) throws PulsarAdminException { try { TopicName ds = TopicName.get(topic); - request(persistentTopics.path(ds.getNamespace()).path(ds.getLocalName()).path("permissions").path(role)) + request(adminPersistentTopics.path(ds.getNamespace()).path(ds.getLocalName()).path("permissions").path(role)) .post(Entity.entity(actions, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -134,7 +134,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public void revokePermissions(String topic, String role) throws PulsarAdminException { try { TopicName ds = TopicName.get(topic); - request(persistentTopics.path(ds.getNamespace()).path(ds.getLocalName()).path("permissions").path(role)) + request(adminPersistentTopics.path(ds.getNamespace()).path(ds.getLocalName()).path("permissions").path(role)) .delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -158,7 +158,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi checkArgument(numPartitions > 1, "Number of partitions should be more than 1"); TopicName ds = validateTopic(topic); return asyncPutRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), Entity.entity(numPartitions, MediaType.APPLICATION_JSON)); } @@ -179,7 +179,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi checkArgument(numPartitions > 1, "Number of partitions must be more than 1"); TopicName ds = validateTopic(topic); return asyncPostRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), Entity.entity(numPartitions, MediaType.APPLICATION_JSON)); } @@ -199,7 +199,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<PartitionedTopicMetadata> getPartitionedTopicMetadataAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<PartitionedTopicMetadata> future = new CompletableFuture<>(); - asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), + asyncGetRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"), new InvocationCallback<PartitionedTopicMetadata>() { @Override @@ -230,7 +230,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi @Override public CompletableFuture<Void> deletePartitionedTopicAsync(String topic) { TopicName ds = validateTopic(topic); - return asyncDeleteRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) + return asyncDeleteRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) .path("partitions")); } @@ -249,7 +249,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi @Override public CompletableFuture<Void> deleteAsync(String topic) { TopicName ds = validateTopic(topic); - return asyncDeleteRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName())); + return asyncDeleteRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName())); } @Override @@ -267,7 +267,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi @Override public CompletableFuture<Void> unloadAsync(String topic) { TopicName ds = validateTopic(topic); - return asyncPutRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("unload"), + return asyncPutRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("unload"), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -287,7 +287,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<List<String>> getSubscriptionsAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<List<String>> future = new CompletableFuture<>(); - asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscriptions"), + asyncGetRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscriptions"), new InvocationCallback<List<String>>() { @Override @@ -319,7 +319,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<PersistentTopicStats> getStatsAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<PersistentTopicStats> future = new CompletableFuture<>(); - asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("stats"), + asyncGetRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("stats"), new InvocationCallback<PersistentTopicStats>() { @Override @@ -351,7 +351,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<PersistentTopicInternalStats> getInternalStatsAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<PersistentTopicInternalStats> future = new CompletableFuture<>(); - asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internalStats"), + asyncGetRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internalStats"), new InvocationCallback<PersistentTopicInternalStats>() { @Override @@ -383,7 +383,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<JsonObject> getInternalInfoAsync(String topic) { TopicName ds = validateTopic(topic); final CompletableFuture<JsonObject> future = new CompletableFuture<>(); - asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internal-info"), + asyncGetRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internal-info"), new InvocationCallback<String>() { @Override public void completed(String response) { @@ -418,7 +418,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); final CompletableFuture<PartitionedTopicStats> future = new CompletableFuture<>(); asyncGetRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitioned-stats"), + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitioned-stats"), new InvocationCallback<PartitionedTopicStats>() { @Override @@ -453,7 +453,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<Void> deleteSubscriptionAsync(String topic, String subName) { TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); - return asyncDeleteRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) + return asyncDeleteRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) .path("subscription").path(encodedSubName)); } @@ -474,7 +474,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); return asyncPostRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("skip_all"), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -495,7 +495,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); return asyncPostRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("skip").path(String.valueOf(numMessages)), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -517,7 +517,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); return asyncPostRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("expireMessages").path(String.valueOf(expireTimeInSeconds)), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -538,7 +538,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<Void> expireMessagesForAllSubscriptionsAsync(String topic, long expireTimeInSeconds) { TopicName ds = validateTopic(topic); return asyncPostRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("all_subscription") + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("all_subscription") .path("expireMessages").path(String.valueOf(expireTimeInSeconds)), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -547,7 +547,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); final CompletableFuture<List<Message<byte[]>>> future = new CompletableFuture<>(); - asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + asyncGetRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("position").path(String.valueOf(messagePosition)), new InvocationCallback<Response>() { @@ -624,7 +624,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi try { TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subscriptionName); - request(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + request(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName)).put(Entity.entity(messageId, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -636,7 +636,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi MessageId messageId) { TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subscriptionName); - return asyncPutRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) + return asyncPutRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) .path("subscription").path(encodedSubName), Entity.entity(messageId, MediaType.APPLICATION_JSON)); } @@ -646,7 +646,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); request( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("resetcursor").path(String.valueOf(timestamp))).post( Entity.entity("", MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -659,7 +659,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); return asyncPostRequest( - persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("resetcursor").path(String.valueOf(timestamp)), Entity.entity("", MediaType.APPLICATION_JSON)); } @@ -669,7 +669,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi try { TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); - request(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") + request(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription") .path(encodedSubName).path("resetcursor")).post(Entity.entity(messageId, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { @@ -681,7 +681,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi public CompletableFuture<Void> resetCursorAsync(String topic, String subName, MessageId messageId) { TopicName ds = validateTopic(topic); String encodedSubName = Codec.encode(subName); - return asyncPostRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) + return asyncPostRequest(adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) .path("subscription").path(encodedSubName).path("resetcursor"), Entity.entity(messageId, MediaType.APPLICATION_JSON)); } @@ -692,7 +692,7 @@ public class PersistentTopicsImpl extends BaseResource implements PersistentTopi final CompletableFuture<MessageId> future = new CompletableFuture<>(); try { - WebTarget target = persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) + WebTarget target = adminPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()) .path("terminate"); request(target).async().post(Entity.entity("", MediaType.APPLICATION_JSON), diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PropertiesImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PropertiesImpl.java index bea1411..1bfab3c 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PropertiesImpl.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/PropertiesImpl.java @@ -32,17 +32,17 @@ import org.apache.pulsar.common.policies.data.ErrorData; import org.apache.pulsar.common.policies.data.PropertyAdmin; public class PropertiesImpl extends BaseResource implements Properties { - private final WebTarget properties; + private final WebTarget adminProperties; public PropertiesImpl(WebTarget web, Authentication auth) { super(auth); - properties = web.path("/properties"); + adminProperties = web.path("/admin/properties"); } @Override public List<String> getProperties() throws PulsarAdminException { try { - return request(properties).get(new GenericType<List<String>>() { + return request(adminProperties).get(new GenericType<List<String>>() { }); } catch (Exception e) { throw getApiException(e); @@ -52,7 +52,7 @@ public class PropertiesImpl extends BaseResource implements Properties { @Override public PropertyAdmin getPropertyAdmin(String property) throws PulsarAdminException { try { - return request(properties.path(property)).get(PropertyAdmin.class); + return request(adminProperties.path(property)).get(PropertyAdmin.class); } catch (Exception e) { throw getApiException(e); } @@ -61,7 +61,8 @@ public class PropertiesImpl extends BaseResource implements Properties { @Override public void createProperty(String property, PropertyAdmin config) throws PulsarAdminException { try { - request(properties.path(property)).put(Entity.entity(config, MediaType.APPLICATION_JSON), ErrorData.class); + request(adminProperties.path(property)) + .put(Entity.entity(config, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); } @@ -70,7 +71,8 @@ public class PropertiesImpl extends BaseResource implements Properties { @Override public void updateProperty(String property, PropertyAdmin config) throws PulsarAdminException { try { - request(properties.path(property)).post(Entity.entity(config, MediaType.APPLICATION_JSON), ErrorData.class); + request(adminProperties.path(property)) + .post(Entity.entity(config, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); } @@ -79,13 +81,13 @@ public class PropertiesImpl extends BaseResource implements Properties { @Override public void deleteProperty(String property) throws PulsarAdminException { try { - request(properties.path(property)).delete(ErrorData.class); + request(adminProperties.path(property)).delete(ErrorData.class); } catch (Exception e) { throw getApiException(e); } } public WebTarget getWebTarget() { - return properties; + return adminProperties; } } 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 f75afb3..bd53694 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 @@ -31,16 +31,16 @@ import org.apache.pulsar.common.policies.data.ResourceQuota; public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas { - private final WebTarget quotas; + private final WebTarget adminQuotas; public ResourceQuotasImpl(WebTarget web, Authentication auth) { super(auth); - this.quotas = web.path("/resource-quotas"); + adminQuotas = web.path("/admin/resource-quotas"); } public ResourceQuota getDefaultResourceQuota() throws PulsarAdminException { try { - return request(quotas).get(ResourceQuota.class); + return request(adminQuotas).get(ResourceQuota.class); } catch (Exception e) { throw getApiException(e); } @@ -48,7 +48,7 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas { public void setDefaultResourceQuota(ResourceQuota quota) throws PulsarAdminException { try { - request(quotas).post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class); + request(adminQuotas).post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); } @@ -58,7 +58,7 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas { try { NamespaceName ns = NamespaceName.get(namespace); return request( - quotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle)) + adminQuotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle)) .get(ResourceQuota.class); } catch (Exception e) { throw getApiException(e); @@ -70,7 +70,7 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas { try { NamespaceName ns = NamespaceName.get(namespace); request( - quotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle)) + adminQuotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle)) .post(Entity.entity(quota, MediaType.APPLICATION_JSON), ErrorData.class); } catch (Exception e) { throw getApiException(e); @@ -81,7 +81,7 @@ public class ResourceQuotasImpl extends BaseResource implements ResourceQuotas { try { NamespaceName ns = NamespaceName.get(namespace); request( - quotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle)) + adminQuotas.path(ns.getProperty()).path(ns.getCluster()).path(ns.getLocalName()).path(bundle)) .delete(); } catch (Exception e) { throw getApiException(e); diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/PulsarAdminWithFunctions.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/PulsarAdminWithFunctions.java index 29b767f..5c1a805 100644 --- a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/PulsarAdminWithFunctions.java +++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/PulsarAdminWithFunctions.java @@ -49,7 +49,7 @@ public class PulsarAdminWithFunctions extends PulsarAdmin { */ public PulsarAdminWithFunctions(URL serviceUrl, ClientConfigurationData pulsarConfig) throws PulsarClientException { super(serviceUrl, pulsarConfig); - this.functions = new FunctionsImpl(web, auth); + this.functions = new FunctionsImpl(root, auth); this.clientConf = pulsarConfig; } diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java index ae21694..f184ea2 100644 --- a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java +++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java @@ -46,7 +46,7 @@ public class FunctionsImpl extends BaseResource implements Functions { public FunctionsImpl(WebTarget web, Authentication auth) { super(auth); - this.functions = web.path("/functions"); + this.functions = web.path("/admin/functions"); } @Override -- To stop receiving notification emails like this one, please contact si...@apache.org.