You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2020/11/21 23:15:54 UTC

[incubator-streampipes] branch STREAMPIPES-257 updated: Start to harmonize connect REST API

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

zehnder pushed a commit to branch STREAMPIPES-257
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git


The following commit(s) were added to refs/heads/STREAMPIPES-257 by this push:
     new 292b6e6  Start to harmonize connect REST API
292b6e6 is described below

commit 292b6e6f900925fd982fe1c6abc09b1b94d88f95
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Sun Nov 22 00:15:27 2020 +0100

    Start to harmonize connect REST API
---
 streampipes-backend/src/main/resources/shiro.ini   |  1 +
 .../container/master/rest/AdapterResource.java     |  2 +-
 .../master/rest/AdapterTemplateResource.java       |  2 +-
 .../container/master/rest/DescriptionResource.java |  2 +-
 .../container/master/rest/GuessResource.java       |  2 +-
 .../master/rest/RuntimeResolvableResource.java     |  2 +-
 .../container/master/rest/SourcesResource.java     |  2 +-
 .../container/master/rest/UnitResource.java        |  2 +-
 .../container/master/rest/WelcomePageMaster.java   |  2 +-
 .../master/rest/WorkerAdministrationResource.java  |  2 +-
 .../worker/management/MasterRestClient.java        |  2 +-
 .../connect/services/data-marketplace.service.ts   | 10 +++------
 ui/src/app/connect/services/rest.service.ts        | 24 +++++++++++-----------
 13 files changed, 26 insertions(+), 29 deletions(-)

diff --git a/streampipes-backend/src/main/resources/shiro.ini b/streampipes-backend/src/main/resources/shiro.ini
index bbd4332..166c774 100644
--- a/streampipes-backend/src/main/resources/shiro.ini
+++ b/streampipes-backend/src/main/resources/shiro.ini
@@ -67,5 +67,6 @@ securityManager.rememberMeManager.cookie.maxAge = 1000000000
 /api/v2/users/*/labeling/category/* = anon
 /api/v2/users/*/labeling/* = anon
 /api/v2/users/*/labeling = anon
+/api/v2/connect/*/master/administration = anon
 /api/** = customFilter
 /** = customFilter
\ No newline at end of file
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java
index 9b08344..4530f71 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java
@@ -35,7 +35,7 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.util.List;
 
-@Path("/connect/v1/{username}/master/adapters")
+@Path("/v2/connect/{username}/master/adapters")
 public class AdapterResource extends AbstractContainerResource {
 
     private Logger LOG = LoggerFactory.getLogger(AdapterResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java
index e61eac0..527fdea 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java
@@ -32,7 +32,7 @@ import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@Path("/connect/v1/{username}/master/adapters/template")
+@Path("/v2/connect/{username}/master/adapters/template")
 public class AdapterTemplateResource extends AbstractContainerResource {
 
     private Logger logger = LoggerFactory.getLogger(AdapterTemplateResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java
index 2bbc66c..7c60314 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java
@@ -38,7 +38,7 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.util.Optional;
 
-@Path("/connect/v1/{username}/master/description")
+@Path("/v2/connect/{username}/master/description")
 public class DescriptionResource extends AbstractContainerResource {
 
     private Logger logger = LoggerFactory.getLogger(DescriptionResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java
index 394e829..01ec4b6 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java
@@ -34,7 +34,7 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 
-@Path("/connect/v1/{username}/master/guess")
+@Path("/v2/connect/{username}/master/guess")
 public class GuessResource extends AbstractContainerResource {
 
   private static final Logger logger = LoggerFactory.getLogger(GuessResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java
index 06f2c30..a543192 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java
@@ -30,7 +30,7 @@ import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@Path("/connect/v1/{username}/master/resolvable")
+@Path("/v2/connect/{username}/master/resolvable")
 public class RuntimeResolvableResource extends AbstractContainerResource {
 
     private static final String SP_NS =  "https://streampipes.org/vocabulary/v1/";
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java
index c40d291..f8f14c6 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java
@@ -43,7 +43,7 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@Path("/connect/v1/{username}/master/sources")
+@Path("/v2/connect/{username}/master/sources")
 public class SourcesResource extends AbstractContainerResource {
 
     private Logger logger = LoggerFactory.getLogger(SourcesResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java
index 6d2bf77..c714960 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java
@@ -32,7 +32,7 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@Path("/connect/v1/{username}/master/unit")
+@Path("/v2/connect/{username}/master/unit")
 public class UnitResource extends AbstractContainerResource {
 
     private static final Logger logger = LoggerFactory.getLogger(UnitResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java
index 14cf4b2..c99847c 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java
@@ -38,7 +38,7 @@ import java.io.IOException;
 import java.util.List;
 
 
-@Path("/connect")
+@Path("/v2/connect")
 public class WelcomePageMaster extends AbstractContainerResource {
 
 	private Logger logger = LoggerFactory.getLogger(WelcomePageMaster.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java
index 9d56509..5703376 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java
@@ -32,7 +32,7 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@Path("/connect/v1/{username}/master/administration")
+@Path("v2/connect/{username}/master/administration")
 public class WorkerAdministrationResource extends AbstractContainerResource {
 
     private Logger LOG = LoggerFactory.getLogger(WorkerAdministrationResource.class);
diff --git a/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java b/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java
index 2e5abbc..e59e812 100644
--- a/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java
+++ b/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java
@@ -33,7 +33,7 @@ public class MasterRestClient {
 
     public static boolean register(String baseUrl, ConnectWorkerContainer connectWorkerContainer) {
 
-        String url = baseUrl + "/v1/admin@streampipes.org/master/administration";
+        String url = baseUrl + "/admin@streampipes.org/master/administration";
 
         try {
             String adapterDescription = JacksonSerializer.getObjectMapper().writeValueAsString(connectWorkerContainer);
diff --git a/ui/src/app/connect/services/data-marketplace.service.ts b/ui/src/app/connect/services/data-marketplace.service.ts
index ff0871a..3d82b9c 100644
--- a/ui/src/app/connect/services/data-marketplace.service.ts
+++ b/ui/src/app/connect/services/data-marketplace.service.ts
@@ -39,7 +39,7 @@ import {Observable, zip} from "rxjs";
 
 @Injectable()
 export class DataMarketplaceService {
-  private host = '/streampipes-backend/api/connect';
+  private host = '/streampipes-backend/api/v2/connect/';
 
   constructor(
       private http: HttpClient,
@@ -97,15 +97,12 @@ export class DataMarketplaceService {
   getAdapterCategories(): Observable<Object> {
     return this.http.get(
         this.baseUrl +
-        '/api/v2' +
-        "/categories/adapter"
-    )
+        '/categories/adapter');
   }
 
   private deleteRequest(adapter: AdapterDescription, url: String) {
     return this.http.delete(
         this.host +
-        'api/v1/' +
         this.authStatusService.email +
         url +
         adapter.couchDBId
@@ -116,7 +113,6 @@ export class DataMarketplaceService {
     return this.http
         .get(
             this.host +
-            'api/v1/' +
             this.authStatusService.email +
             '/master/description/protocols'
         )
@@ -204,7 +200,7 @@ export class DataMarketplaceService {
   }
 
   getAssetUrl(appId) {
-    return this.host + 'api/v1/' + this.authStatusService.email + "/master/description/" + appId + "/assets"
+    return this.host + this.authStatusService.email + "/master/description/" + appId + "/assets"
   }
 
   private get baseUrl() {
diff --git a/ui/src/app/connect/services/rest.service.ts b/ui/src/app/connect/services/rest.service.ts
index 3ab5dfd..54460e5 100644
--- a/ui/src/app/connect/services/rest.service.ts
+++ b/ui/src/app/connect/services/rest.service.ts
@@ -37,7 +37,7 @@ import {
 
 @Injectable()
 export class RestService {
-    private host = '/streampipes-backend/';
+    private host = '/streampipes-backend/api/v2/connect/';
 
     constructor(
         private http: HttpClient,
@@ -51,17 +51,17 @@ export class RestService {
         return this.addAdapterDescription(adapter, '/master/adapters/template');
     }
 
-    addAdapterDescription(adapter: AdapterDescription, url: String): Observable<Message> {
+    addAdapterDescription(adapter: AdapterDescription, url: string): Observable<Message> {
         adapter.userName = this.authStatusService.email;
 
-        let promise = new Promise<Message>((resolve, reject) => {
+        const promise = new Promise<Message>((resolve, reject) => {
             this.http
                 .post(
-                    '/streampipes-connect/api/v1/' + this.authStatusService.email + url,
+                    this.host + this.authStatusService.email + url,
                     adapter,
                 )
                 .pipe(map(response => {
-                    var statusMessage = response as Message;
+                    const statusMessage = response as Message;
                     resolve(statusMessage);
                 }))
                 .subscribe();
@@ -72,28 +72,28 @@ export class RestService {
 
     getGuessSchema(adapter: AdapterDescription): Observable<GuessSchema> {
         return this.http
-            .post('/streampipes-connect/api/v1/' + this.authStatusService.email + '/master/guess/schema', adapter)
+            .post(this.host + this.authStatusService.email + '/master/guess/schema', adapter)
             .pipe(map(response => {
                 return GuessSchema.fromData(response as GuessSchema);
-        }))
+        }));
 
     }
 
     getSourceDetails(sourceElementId): Observable<DataSourceDescription> {
         return this.http
-            .get(this.makeUserDependentBaseUrl() + "/sources/" + encodeURIComponent(sourceElementId)).pipe(map(response => {
+            .get(this.makeUserDependentBaseUrl() + '/sources/' + encodeURIComponent(sourceElementId)).pipe(map(response => {
                 return DataSourceDescription.fromData(response as DataSourceDescription);
             }));
     }
 
     getRuntimeInfo(sourceDescription): Observable<any> {
-        return this.http.post(this.makeUserDependentBaseUrl() + "/pipeline-element/runtime", sourceDescription, {
+        return this.http.post(this.makeUserDependentBaseUrl() + '/pipeline-element/runtime', sourceDescription, {
             headers: { ignoreLoadingBar: '' }
         });
     }
 
     makeUserDependentBaseUrl() {
-        return this.host + 'api/v2/users/' + this.authStatusService.email;
+        return '/streampipes-backend/api/v2/users/' + this.authStatusService.email;
     }
 
 
@@ -101,7 +101,7 @@ export class RestService {
         var self = this;
         return this.http
             .get(
-                '/streampipes-connect/api/v1/riemer@fzi.de/master/description/formats'
+                '/streampipes-connect/api/v2/connect/riemer@fzi.de/master/description/formats'
             )
             .pipe(map(response => {
                 return FormatDescriptionList.fromData(response as FormatDescriptionList);
@@ -110,7 +110,7 @@ export class RestService {
 
     getProtocols(): Observable<ProtocolDescriptionList> {
         return this.http
-            .get(this.host + 'api/v2/adapter/allProtocols')
+            .get(this.baseRoute + 'adapter/allProtocols')
             .pipe(map(response => {
                 return response as ProtocolDescriptionList;
             }));