You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2018/03/22 22:06:52 UTC
[GitHub] rdhabalia closed pull request #1423: Refactor pulsar function admin api location
rdhabalia closed pull request #1423: Refactor pulsar function admin api location
URL: https://github.com/apache/incubator-pulsar/pull/1423
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/pulsar-client-admin/pom.xml b/pulsar-client-admin/pom.xml
index df4f4947a..029dbce55 100644
--- a/pulsar-client-admin/pom.xml
+++ b/pulsar-client-admin/pom.xml
@@ -80,5 +80,15 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+
+ <!-- functions related dependencies (begin) -->
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>pulsar-functions-runtime-shaded</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- functions related dependencies (end) -->
</dependencies>
</project>
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/Functions.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Functions.java
similarity index 100%
rename from pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/Functions.java
rename to pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Functions.java
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 435548084..2e4f6256a 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
@@ -32,6 +32,7 @@
import org.apache.pulsar.client.admin.internal.BrokerStatsImpl;
import org.apache.pulsar.client.admin.internal.BrokersImpl;
import org.apache.pulsar.client.admin.internal.ClustersImpl;
+import org.apache.pulsar.client.admin.internal.FunctionsImpl;
import org.apache.pulsar.client.admin.internal.JacksonConfigurator;
import org.apache.pulsar.client.admin.internal.LookupImpl;
import org.apache.pulsar.client.admin.internal.NamespacesImpl;
@@ -70,6 +71,7 @@
private final PersistentTopics persistentTopics;
private final NonPersistentTopics nonPersistentTopics;
private final ResourceQuotas resourceQuotas;
+ private final Functions functions;
private final Client client;
private final URL serviceUrl;
@@ -181,6 +183,7 @@ public PulsarAdmin(URL serviceUrl, ClientConfigurationData pulsarConfig) throws
this.persistentTopics = new PersistentTopicsImpl(root, auth);
this.nonPersistentTopics = new NonPersistentTopicsImpl(root, auth);
this.resourceQuotas = new ResourceQuotasImpl(root, auth);
+ this.functions = new FunctionsImpl(root, auth);
this.lookups = new LookupImpl(root, auth, pulsarConfig.isUseTls());
}
@@ -285,6 +288,14 @@ public ResourceQuotas resourceQuotas() {
return resourceQuotas;
}
+ /**
+ * @return the functions management object
+ */
+ public Functions functions() {
+ return functions;
+ }
+
+
/**
* @return does a looks up for the broker serving the topic
*/
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java
similarity index 94%
rename from pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java
rename to pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java
index 73948230a..8002d957d 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java
+++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java
@@ -18,11 +18,20 @@
*/
package org.apache.pulsar.client.admin.internal;
-import lombok.extern.slf4j.Slf4j;
+import java.io.File;
+import java.util.List;
+
+import javax.ws.rs.ClientErrorException;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
import org.apache.pulsar.client.admin.Functions;
import org.apache.pulsar.client.admin.PulsarAdminException;
import org.apache.pulsar.client.api.Authentication;
-import org.apache.pulsar.common.policies.data.*;
+import org.apache.pulsar.common.policies.data.ErrorData;
import org.apache.pulsar.functions.proto.Function.FunctionConfig;
import org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatusList;
import org.apache.pulsar.functions.utils.Utils;
@@ -30,14 +39,7 @@
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.glassfish.jersey.media.multipart.file.FileDataBodyPart;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.io.File;
-import java.util.List;
+import lombok.extern.slf4j.Slf4j;
@Slf4j
public class FunctionsImpl extends BaseResource implements Functions {
@@ -103,9 +105,8 @@ public void createFunction(FunctionConfig functionConfig, String fileName) throw
mp.bodyPart(new FileDataBodyPart("data", new File(fileName), MediaType.APPLICATION_OCTET_STREAM_TYPE));
- mp.bodyPart(new FormDataBodyPart("functionConfig",
- Utils.printJson(functionConfig),
- MediaType.APPLICATION_JSON_TYPE));
+ mp.bodyPart(new FormDataBodyPart("functionConfig", Utils.printJson(functionConfig),
+ MediaType.APPLICATION_JSON_TYPE));
request(functions.path(functionConfig.getTenant()).path(functionConfig.getNamespace()).path(functionConfig.getName()))
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA), ErrorData.class);
} catch (Exception e) {
@@ -130,9 +131,8 @@ public void updateFunction(FunctionConfig functionConfig, String fileName) throw
if (fileName != null) {
mp.bodyPart(new FileDataBodyPart("data", new File(fileName), MediaType.APPLICATION_OCTET_STREAM_TYPE));
}
- mp.bodyPart(new FormDataBodyPart("functionConfig",
- Utils.printJson(functionConfig),
- MediaType.APPLICATION_JSON_TYPE));
+ mp.bodyPart(new FormDataBodyPart("functionConfig", Utils.printJson(functionConfig),
+ MediaType.APPLICATION_JSON_TYPE));
request(functions.path(functionConfig.getTenant()).path(functionConfig.getNamespace()).path(functionConfig.getName()))
.put(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA), ErrorData.class);
} catch (Exception e) {
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services