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

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new 0f6bcf55f Rename endpoint to fetch all pipelines from API (#1333) 
(#1334)
0f6bcf55f is described below

commit 0f6bcf55f27b1c0640dd3adf9abef7b8dbc92289
Author: Dominik Riemer <[email protected]>
AuthorDate: Tue Feb 21 14:03:35 2023 +0100

    Rename endpoint to fetch all pipelines from API (#1333) (#1334)
    
    * Rename endpoint to fetch all pipelines from API (#1333)
    
    * Harmonize REST endpoints for retrieval of pipeline elements (#1333)
---
 .../org/apache/streampipes/client/api/DataProcessorApi.java  |  3 +--
 .../java/org/apache/streampipes/client/api/DataSinkApi.java  |  3 +--
 .../org/apache/streampipes/client/api/DataStreamApi.java     |  3 +--
 .../java/org/apache/streampipes/client/api/PipelineApi.java  |  2 +-
 .../management/AbstractPipelineElementResourceManager.java   |  9 ++++++++-
 .../streampipes/rest/impl/pe/DataProcessorResource.java      | 12 ++++++++----
 .../apache/streampipes/rest/impl/pe/DataSinkResource.java    | 12 ++++++++----
 .../apache/streampipes/rest/impl/pe/DataStreamResource.java  |  9 +++++++--
 .../src/lib/apis/pipeline-element.service.ts                 |  6 +++---
 .../platform-services/src/lib/apis/pipeline.service.ts       | 12 ++----------
 ui/src/app/assets/dialog/base-asset-links.directive.ts       |  2 +-
 ui/src/app/home/components/status.component.ts               |  2 +-
 ui/src/app/notifications/notifications.component.ts          |  2 +-
 ui/src/app/pipelines/pipelines.component.ts                  |  2 +-
 14 files changed, 44 insertions(+), 35 deletions(-)

diff --git 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataProcessorApi.java
 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataProcessorApi.java
index 983dc4848..656d5cf18 100644
--- 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataProcessorApi.java
+++ 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataProcessorApi.java
@@ -39,8 +39,7 @@ public class DataProcessorApi extends 
AbstractTypedClientApi<DataProcessorInvoca
   @Override
   protected StreamPipesApiPath getBaseResourcePath() {
     return StreamPipesApiPath.fromBaseApiPath()
-        .addToPath("sepas")
-        .addToPath("own");
+        .addToPath("sepas");
   }
 
   @Override
diff --git 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataSinkApi.java
 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataSinkApi.java
index b6a574fa0..d53d21047 100644
--- 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataSinkApi.java
+++ 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataSinkApi.java
@@ -100,7 +100,6 @@ public class DataSinkApi extends 
AbstractTypedClientApi<DataSinkInvocation>
   @Override
   protected StreamPipesApiPath getBaseResourcePath() {
     return StreamPipesApiPath.fromBaseApiPath()
-        .addToPath("actions")
-        .addToPath("own");
+        .addToPath("actions");
   }
 }
diff --git 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataStreamApi.java
 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataStreamApi.java
index 935c474ff..d3b8d2842 100644
--- 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataStreamApi.java
+++ 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataStreamApi.java
@@ -103,7 +103,6 @@ public class DataStreamApi extends 
AbstractTypedClientApi<SpDataStream> implemen
   @Override
   protected StreamPipesApiPath getBaseResourcePath() {
     return StreamPipesApiPath.fromBaseApiPath()
-        .addToPath("streams")
-        .addToPath("own");
+        .addToPath("streams");
   }
 }
diff --git 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/PipelineApi.java
 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/PipelineApi.java
index c49e2511a..c599fee2d 100644
--- 
a/streampipes-client/src/main/java/org/apache/streampipes/client/api/PipelineApi.java
+++ 
b/streampipes-client/src/main/java/org/apache/streampipes/client/api/PipelineApi.java
@@ -43,7 +43,7 @@ public class PipelineApi extends 
AbstractTypedClientApi<Pipeline> implements CRU
    */
   @Override
   public List<Pipeline> all() {
-    return getAll(getBaseResourcePath().addToPath("own"));
+    return getAll(getBaseResourcePath());
   }
 
   @Override
diff --git 
a/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/AbstractPipelineElementResourceManager.java
 
b/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/AbstractPipelineElementResourceManager.java
index 7dacac05e..da3aed981 100644
--- 
a/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/AbstractPipelineElementResourceManager.java
+++ 
b/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/AbstractPipelineElementResourceManager.java
@@ -23,6 +23,7 @@ import org.apache.streampipes.model.client.user.Permission;
 import org.apache.streampipes.storage.api.CRUDStorage;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 public abstract class AbstractPipelineElementResourceManager<T extends 
CRUDStorage<String, W>,
@@ -43,6 +44,7 @@ public abstract class 
AbstractPipelineElementResourceManager<T extends CRUDStora
   public List<X> findAllAsInvocation() {
     return findAll()
         .stream()
+        .filter(Objects::nonNull)
         .map(this::toInvocation)
         .collect(Collectors.toList());
   }
@@ -52,7 +54,12 @@ public abstract class 
AbstractPipelineElementResourceManager<T extends CRUDStora
   }
 
   public X findAsInvocation(String elementId) {
-    return toInvocation(find(elementId));
+    var element = find(elementId);
+    if (Objects.nonNull(element)) {
+      return toInvocation(find(elementId));
+    } else {
+      throw new IllegalArgumentException("Could not find element with id " + 
elementId);
+    }
   }
 
   public void delete(String elementId) {
diff --git 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataProcessorResource.java
 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataProcessorResource.java
index 31991bf87..2d2ea2cc8 100644
--- 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataProcessorResource.java
+++ 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataProcessorResource.java
@@ -18,6 +18,7 @@
 
 package org.apache.streampipes.rest.impl.pe;
 
+import org.apache.streampipes.model.StreamPipesErrorMessage;
 import org.apache.streampipes.model.graph.DataProcessorDescription;
 import org.apache.streampipes.model.graph.DataProcessorInvocation;
 import org.apache.streampipes.model.message.NotificationType;
@@ -55,7 +56,6 @@ public class DataProcessorResource extends 
AbstractAuthGuardedRestResource {
   }
 
   @GET
-  @Path("/own")
   @JacksonSerialized
   @Produces({MediaType.APPLICATION_JSON})
   @PreAuthorize(AuthConstants.HAS_READ_PIPELINE_ELEMENT_PRIVILEGE)
@@ -65,7 +65,7 @@ public class DataProcessorResource extends 
AbstractAuthGuardedRestResource {
   }
 
   @DELETE
-  @Path("/own/{elementId}")
+  @Path("/{elementId}")
   @Produces(MediaType.APPLICATION_JSON)
   @JacksonSerialized
   @PreAuthorize(AuthConstants.HAS_DELETE_PIPELINE_ELEMENT_PRIVILEGE)
@@ -79,8 +79,12 @@ public class DataProcessorResource extends 
AbstractAuthGuardedRestResource {
   @Produces(MediaType.APPLICATION_JSON)
   @JacksonSerialized
   @PreAuthorize(AuthConstants.HAS_READ_PIPELINE_ELEMENT_PRIVILEGE)
-  public DataProcessorInvocation getElement(@PathParam("elementId") String 
elementId) {
-    return getDataProcessorResourceManager().findAsInvocation(elementId);
+  public Response getElement(@PathParam("elementId") String elementId) {
+    try {
+      return ok(getDataProcessorResourceManager().findAsInvocation(elementId));
+    } catch (IllegalArgumentException e) {
+      return badRequest(StreamPipesErrorMessage.from(e));
+    }
   }
 
   private DataProcessorResourceManager getDataProcessorResourceManager() {
diff --git 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataSinkResource.java
 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataSinkResource.java
index b289af8bf..8eb7deceb 100644
--- 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataSinkResource.java
+++ 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataSinkResource.java
@@ -18,6 +18,7 @@
 
 package org.apache.streampipes.rest.impl.pe;
 
+import org.apache.streampipes.model.StreamPipesErrorMessage;
 import org.apache.streampipes.model.graph.DataSinkDescription;
 import org.apache.streampipes.model.graph.DataSinkInvocation;
 import org.apache.streampipes.model.message.NotificationType;
@@ -56,7 +57,6 @@ public class DataSinkResource extends 
AbstractAuthGuardedRestResource {
   }
 
   @GET
-  @Path("/own")
   @Produces({MediaType.APPLICATION_JSON, SpMediaType.JSONLD})
   @JacksonSerialized
   @PreAuthorize(AuthConstants.HAS_READ_PIPELINE_ELEMENT_PRIVILEGE)
@@ -66,7 +66,7 @@ public class DataSinkResource extends 
AbstractAuthGuardedRestResource {
   }
 
   @DELETE
-  @Path("/own/{elementId}")
+  @Path("/{elementId}")
   @Produces(MediaType.APPLICATION_JSON)
   @JacksonSerialized
   @PreAuthorize(AuthConstants.HAS_DELETE_PIPELINE_ELEMENT_PRIVILEGE)
@@ -80,8 +80,12 @@ public class DataSinkResource extends 
AbstractAuthGuardedRestResource {
   @Produces(MediaType.APPLICATION_JSON)
   @JacksonSerialized
   @PreAuthorize(AuthConstants.HAS_READ_PIPELINE_ELEMENT_PRIVILEGE)
-  public DataSinkInvocation getElement(@PathParam("elementId") String 
elementId) {
-    return getDataSinkResourceManager().findAsInvocation(elementId);
+  public Response getElement(@PathParam("elementId") String elementId) {
+    try {
+      return ok(getDataSinkResourceManager().findAsInvocation(elementId));
+    } catch (IllegalArgumentException e) {
+      return badRequest(StreamPipesErrorMessage.from(e));
+    }
   }
 
   private DataSinkResourceManager getDataSinkResourceManager() {
diff --git 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataStreamResource.java
 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataStreamResource.java
index 760d664f9..09b79877c 100644
--- 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataStreamResource.java
+++ 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/pe/DataStreamResource.java
@@ -19,6 +19,7 @@
 package org.apache.streampipes.rest.impl.pe;
 
 import org.apache.streampipes.model.SpDataStream;
+import org.apache.streampipes.model.StreamPipesErrorMessage;
 import org.apache.streampipes.model.message.NotificationType;
 import org.apache.streampipes.resource.management.DataStreamResourceManager;
 import 
org.apache.streampipes.rest.core.base.impl.AbstractAuthGuardedRestResource;
@@ -80,8 +81,12 @@ public class DataStreamResource extends 
AbstractAuthGuardedRestResource {
   @Produces(MediaType.APPLICATION_JSON)
   @JacksonSerialized
   @PreAuthorize(AuthConstants.HAS_READ_PIPELINE_ELEMENT_PRIVILEGE)
-  public SpDataStream getElement(@PathParam("elementId") String elementId) {
-    return getDataStreamResourceManager().findAsInvocation(elementId);
+  public Response getElement(@PathParam("elementId") String elementId) {
+    try {
+      return ok(getDataStreamResourceManager().findAsInvocation(elementId));
+    } catch (IllegalArgumentException e) {
+      return badRequest(StreamPipesErrorMessage.from(e));
+    }
   }
 
   @POST
diff --git 
a/ui/projects/streampipes/platform-services/src/lib/apis/pipeline-element.service.ts
 
b/ui/projects/streampipes/platform-services/src/lib/apis/pipeline-element.service.ts
index 51bf9ed54..66aa59918 100644
--- 
a/ui/projects/streampipes/platform-services/src/lib/apis/pipeline-element.service.ts
+++ 
b/ui/projects/streampipes/platform-services/src/lib/apis/pipeline-element.service.ts
@@ -38,7 +38,7 @@ export class PipelineElementService {
     ) {}
 
     getDataProcessors(): Observable<DataProcessorInvocation[]> {
-        return this.http.get(this.dataProcessorsUrl + '/own').pipe(
+        return this.http.get(this.dataProcessorsUrl).pipe(
             map(data => {
                 return (data as []).map(dpi =>
                     DataProcessorInvocation.fromData(dpi),
@@ -48,7 +48,7 @@ export class PipelineElementService {
     }
 
     getDataSinks(): Observable<DataSinkInvocation[]> {
-        return this.http.get(this.dataSinksUrl + '/own').pipe(
+        return this.http.get(this.dataSinksUrl).pipe(
             map(data => {
                 return (data as []).map(dpi =>
                     DataSinkInvocation.fromData(dpi),
@@ -58,7 +58,7 @@ export class PipelineElementService {
     }
 
     getDataStreams(): Observable<SpDataStream[]> {
-        return this.http.get(this.dataStreamsUrl + '/own').pipe(
+        return this.http.get(this.dataStreamsUrl).pipe(
             map(data => {
                 return (data as []).map(dpi => {
                     if (
diff --git 
a/ui/projects/streampipes/platform-services/src/lib/apis/pipeline.service.ts 
b/ui/projects/streampipes/platform-services/src/lib/apis/pipeline.service.ts
index 734a7c1a3..5a11c93a8 100644
--- a/ui/projects/streampipes/platform-services/src/lib/apis/pipeline.service.ts
+++ b/ui/projects/streampipes/platform-services/src/lib/apis/pipeline.service.ts
@@ -116,8 +116,8 @@ export class PipelineService {
             );
     }
 
-    getOwnPipelines(): Observable<Pipeline[]> {
-        return this.http.get(`${this.apiBasePath}/pipelines/own`).pipe(
+    getPipelines(): Observable<Pipeline[]> {
+        return this.http.get(`${this.apiBasePath}/pipelines`).pipe(
             map(response => {
                 return (response as any[]).map(p => Pipeline.fromData(p));
             }),
@@ -128,14 +128,6 @@ export class PipelineService {
         return this.http.delete(`${this.apiBasePath}/pipelines/${pipelineId}`);
     }
 
-    getSystemPipelines(): Observable<Pipeline[]> {
-        return this.http.get(`${this.apiBasePath}/pipelines/system`).pipe(
-            map(response => {
-                return (response as any[]).map(p => Pipeline.fromData(p));
-            }),
-        );
-    }
-
     getPipelineStatusById(pipelineId): Observable<PipelineStatusMessage[]> {
         return this.http
             .get(`${this.apiBasePath}/pipelines/${pipelineId}/status`)
diff --git a/ui/src/app/assets/dialog/base-asset-links.directive.ts 
b/ui/src/app/assets/dialog/base-asset-links.directive.ts
index 6c29c9ece..b7ec09568 100644
--- a/ui/src/app/assets/dialog/base-asset-links.directive.ts
+++ b/ui/src/app/assets/dialog/base-asset-links.directive.ts
@@ -65,7 +65,7 @@ export abstract class BaseAssetLinksDirective {
 
     getAllResources() {
         zip(
-            this.pipelineService.getOwnPipelines(),
+            this.pipelineService.getPipelines(),
             this.dataViewService.getDataViews(),
             this.dashboardService.getDashboards(),
             this.pipelineElementService.getDataStreams(),
diff --git a/ui/src/app/home/components/status.component.ts 
b/ui/src/app/home/components/status.component.ts
index 4963dc5d9..08f491a00 100644
--- a/ui/src/app/home/components/status.component.ts
+++ b/ui/src/app/home/components/status.component.ts
@@ -53,7 +53,7 @@ export class StatusComponent implements OnInit {
     }
 
     getPipelines() {
-        this.pipelineService.getOwnPipelines().subscribe(pipelines => {
+        this.pipelineService.getPipelines().subscribe(pipelines => {
             this.pipelines = pipelines.length;
             this.runningPipelines = pipelines.filter(p => p.running).length;
         });
diff --git a/ui/src/app/notifications/notifications.component.ts 
b/ui/src/app/notifications/notifications.component.ts
index 515885c95..e7d02be34 100644
--- a/ui/src/app/notifications/notifications.component.ts
+++ b/ui/src/app/notifications/notifications.component.ts
@@ -167,7 +167,7 @@ export class NotificationsComponent implements OnInit, 
OnDestroy {
 
     getPipelinesWithNotifications() {
         this.notificationsLoading = true;
-        this.pipelineService.getOwnPipelines().subscribe(pipelines => {
+        this.pipelineService.getPipelines().subscribe(pipelines => {
             this.existingNotifications =
                 this.getAllExistingNotifications(pipelines);
             this.notificationsLoading = false;
diff --git a/ui/src/app/pipelines/pipelines.component.ts 
b/ui/src/app/pipelines/pipelines.component.ts
index d5ceba5de..69d5994da 100644
--- a/ui/src/app/pipelines/pipelines.component.ts
+++ b/ui/src/app/pipelines/pipelines.component.ts
@@ -124,7 +124,7 @@ export class PipelinesComponent implements OnInit {
 
     getPipelines() {
         this.pipelines = [];
-        this.pipelineService.getOwnPipelines().subscribe(pipelines => {
+        this.pipelineService.getPipelines().subscribe(pipelines => {
             this.pipelines = pipelines;
             this.checkForImmediateStart(pipelines);
             this.pipelinesReady = true;

Reply via email to