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