You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2021/05/18 20:10:16 UTC

[incubator-streampipes] branch dev updated: [STREAMPIPES-361] Prevent running pipelines to be updated

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/incubator-streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new a022ad0  [STREAMPIPES-361] Prevent running pipelines to be updated
a022ad0 is described below

commit a022ad081bf77a8def777dff3e523ebb891c5e1a
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Tue May 18 22:10:05 2021 +0200

    [STREAMPIPES-361] Prevent running pipelines to be updated
---
 .../apache/streampipes/rest/impl/PipelineResource.java | 18 +++++++++++-------
 .../components/actions/pipeline-actions.component.html |  3 ++-
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineResource.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineResource.java
index 6c58371..093f9c5 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineResource.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineResource.java
@@ -255,13 +255,17 @@ public class PipelineResource extends AbstractAuthGuardedRestResource {
                                     @PathParam("pipelineId") String pipelineId,
                                     Pipeline pipeline) {
     Pipeline storedPipeline = getPipelineStorage().getPipeline(pipelineId);
-    storedPipeline.setActions(pipeline.getActions());
-    storedPipeline.setSepas(pipeline.getSepas());
-    storedPipeline.setActions(pipeline.getActions());
-    storedPipeline.setCreatedAt(System.currentTimeMillis());
-    storedPipeline.setPipelineCategories(pipeline.getPipelineCategories());
-    Operations.updatePipeline(storedPipeline);
-    return statusMessage(Notifications.success("Pipeline modified"));
+    if (!storedPipeline.isRunning()) {
+      storedPipeline.setActions(pipeline.getActions());
+      storedPipeline.setSepas(pipeline.getSepas());
+      storedPipeline.setActions(pipeline.getActions());
+      storedPipeline.setCreatedAt(System.currentTimeMillis());
+      storedPipeline.setPipelineCategories(pipeline.getPipelineCategories());
+      Operations.updatePipeline(storedPipeline);
+      return statusMessage(Notifications.success("Pipeline modified"));
+    } else {
+      return statusMessage(Notifications.error("The pipeline must be stopped before it can be updated."));
+    }
   }
 
 }
diff --git a/ui/src/app/pipeline-details/components/actions/pipeline-actions.component.html b/ui/src/app/pipeline-details/components/actions/pipeline-actions.component.html
index 52070b2..ac4b685 100644
--- a/ui/src/app/pipeline-details/components/actions/pipeline-actions.component.html
+++ b/ui/src/app/pipeline-details/components/actions/pipeline-actions.component.html
@@ -43,6 +43,7 @@
             <div fxFlex="30">
                 <button mat-button mat-raised-button color="primary"
                         matTooltip="Modify Pipeline" matTooltipPosition="above"
+                        [disabled]="pipeline.running"
                         (click)="pipelineOperationsService.modifyPipeline(pipeline._id)">
                     <mat-icon>mode_edit</mat-icon>
                     <span>&nbsp;Modify</span>
@@ -68,4 +69,4 @@
 <!--            </md-button>-->
         </div>
     </div>
-</div>
\ No newline at end of file
+</div>