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 2020/09/15 18:44:16 UTC

[incubator-streampipes] branch rel/0.67.0 updated (de0adab -> 0964dac)

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

riemer pushed a change to branch rel/0.67.0
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git.


    from de0adab  Merge branch 'rel/0.67.0' of github.com:apache/incubator-streampipes into rel/0.67.0
     new 05c788b  [STREAMPIPES-217] Add additional file extensions to SDK
     new 0964dac  [STREAMPIPES-217] Add delete feature to file management

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../streampipes/rest/api/IPipelineElementFile.java |  2 ++
 .../streampipes/rest/impl/PipelineElementFile.java |  7 ++++++
 .../apache/streampipes/sdk/StaticProperties.java   | 16 ++++++++++++++
 .../apache/streampipes/sdk/helpers/Filetypes.java  |  6 ++++--
 .../file-overview/file-overview.component.html     |  6 +-----
 .../file-overview/file-overview.component.ts       | 25 +++++++++++++++++++---
 ui/src/app/files/files.module.ts                   |  2 ++
 ui/src/app/platform-services/apis/files.service.ts |  4 ++++
 8 files changed, 58 insertions(+), 10 deletions(-)


[incubator-streampipes] 01/02: [STREAMPIPES-217] Add additional file extensions to SDK

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch rel/0.67.0
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 05c788b539254663fdc8f489b7e9efaf4156e9bd
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Tue Sep 15 20:43:32 2020 +0200

    [STREAMPIPES-217] Add additional file extensions to SDK
---
 .../org/apache/streampipes/sdk/StaticProperties.java     | 16 ++++++++++++++++
 .../org/apache/streampipes/sdk/helpers/Filetypes.java    |  6 ++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
index c3779b1..e074de2 100644
--- a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
+++ b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
@@ -20,11 +20,13 @@ package org.apache.streampipes.sdk;
 
 import org.apache.streampipes.model.schema.PropertyScope;
 import org.apache.streampipes.model.staticproperty.*;
+import org.apache.streampipes.sdk.helpers.Filetypes;
 import org.apache.streampipes.sdk.helpers.Label;
 import org.apache.streampipes.sdk.helpers.RequirementsSelector;
 import org.apache.streampipes.sdk.utils.Datatypes;
 
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -68,6 +70,20 @@ public class StaticProperties {
     return fp;
   }
 
+  public static FileStaticProperty fileProperty(Label label, Filetypes... requiredFiletypes) {
+    FileStaticProperty fp = fileProperty(label);
+    List<String> collectedFiletypes = new ArrayList<>();
+    Arrays.stream(requiredFiletypes).forEach(rf -> collectedFiletypes.addAll(rf.getFileExtensions()));
+    fp.setRequiredFiletypes(collectedFiletypes);
+    return fp;
+  }
+
+  public static FileStaticProperty fileProperty(Label label, String... requiredFiletypes) {
+    FileStaticProperty fp = fileProperty(label);
+    fp.setRequiredFiletypes(Arrays.asList(requiredFiletypes.clone()));
+    return fp;
+  }
+
   public static RuntimeResolvableOneOfStaticProperty singleValueSelectionFromContainer(Label label) {
     return new RuntimeResolvableOneOfStaticProperty(label.getInternalId(), label
             .getLabel(), label.getDescription());
diff --git a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Filetypes.java b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Filetypes.java
index 8ac43d2..2ac00e6 100644
--- a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Filetypes.java
+++ b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Filetypes.java
@@ -23,10 +23,12 @@ import java.util.List;
 public enum Filetypes {
 
   CSV("csv"),
+  JPG("jpg", "jpeg"),
   JSON("json"),
+  XLS("xls"),
+  XLSX("xlsx"),
   XML("xml"),
-  ZIP("zip"),
-  JPG("jpg", "jpeg");
+  ZIP("zip");
 
   private List<String> fileExtensions;
 


[incubator-streampipes] 02/02: [STREAMPIPES-217] Add delete feature to file management

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch rel/0.67.0
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 0964daca5c65783ef8318938d5692d5ab87bd7ae
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Tue Sep 15 20:43:59 2020 +0200

    [STREAMPIPES-217] Add delete feature to file management
---
 .../streampipes/rest/api/IPipelineElementFile.java |  2 ++
 .../streampipes/rest/impl/PipelineElementFile.java |  7 ++++++
 .../file-overview/file-overview.component.html     |  6 +-----
 .../file-overview/file-overview.component.ts       | 25 +++++++++++++++++++---
 ui/src/app/files/files.module.ts                   |  2 ++
 ui/src/app/platform-services/apis/files.service.ts |  4 ++++
 6 files changed, 38 insertions(+), 8 deletions(-)

diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/api/IPipelineElementFile.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/api/IPipelineElementFile.java
index feb7c38..79c52d6 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/api/IPipelineElementFile.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/api/IPipelineElementFile.java
@@ -28,4 +28,6 @@ public interface IPipelineElementFile {
 
   Response getFileInfo(String filteredFiletypes);
 
+  Response deleteFile(String fileId);
+
 }
diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineElementFile.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineElementFile.java
index bb94a69..8d4e670 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineElementFile.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/PipelineElementFile.java
@@ -47,6 +47,13 @@ public class PipelineElementFile extends AbstractRestInterface implements IPipel
     }
   }
 
+  @DELETE
+  @Path("{fileId}")
+  public Response deleteFile(@PathParam("fileId") String fileId) {
+    FileManager.deleteFile(fileId);
+    return ok();
+  }
+
   @GET
   @Produces(MediaType.APPLICATION_JSON)
   @Override
diff --git a/ui/src/app/files/components/file-overview/file-overview.component.html b/ui/src/app/files/components/file-overview/file-overview.component.html
index 7402504..af32a8b 100644
--- a/ui/src/app/files/components/file-overview/file-overview.component.html
+++ b/ui/src/app/files/components/file-overview/file-overview.component.html
@@ -40,14 +40,10 @@
         <ng-container matColumnDef="action">
             <th mat-header-cell *matHeaderCellDef> Action</th>
             <td mat-cell *matCellDef="let fileMetadata">
-                <div fxLayout="row">
-                    <span fxFlex fxFlexOrder="3" fxLayout="row" fxLayoutAlign="center center">
-                    <button color="primary" mat-button mat-icon-button matTooltip="Delete pipeline" matTooltipPosition="above"
+                    <button color="primary" mat-button mat-icon-button matTooltip="Delete file" matTooltipPosition="above"
                             (click)="deleteFile(fileMetadata)">
                         <i class="material-icons">delete</i>
                     </button>
-                </span>
-                </div>
             </td>
         </ng-container>
 
diff --git a/ui/src/app/files/components/file-overview/file-overview.component.ts b/ui/src/app/files/components/file-overview/file-overview.component.ts
index e2ec5ea..80f53f7 100644
--- a/ui/src/app/files/components/file-overview/file-overview.component.ts
+++ b/ui/src/app/files/components/file-overview/file-overview.component.ts
@@ -21,6 +21,9 @@ import {FilesService} from "../../../platform-services/apis/files.service";
 import {FileMetadata} from "../../../core-model/gen/streampipes-model-client";
 import {MatTableDataSource} from "@angular/material/table";
 import {MatPaginator} from "@angular/material/paginator";
+import {DialogService} from "../../../core-ui/dialog/base-dialog/base-dialog.service";
+import {ConfirmDialogComponent} from "../../../core-ui/dialog/confirm-dialog/confirm-dialog.component";
+import {MatDialog} from "@angular/material/dialog";
 
 @Component({
   selector: 'file-overview',
@@ -37,7 +40,8 @@ export class FileOverviewComponent implements OnInit {
   @ViewChild(MatPaginator) paginator: MatPaginator;
   pageSize: number = 1;
 
-  constructor(private filesService: FilesService) {
+  constructor(private filesService: FilesService,
+              private dialog: MatDialog) {
 
   }
 
@@ -46,9 +50,7 @@ export class FileOverviewComponent implements OnInit {
   }
 
   refreshFiles() {
-    console.log("refreshing files");
     this.filesService.getFileMetadata().subscribe(fm => {
-      console.log(fm);
       this.dataSource = new MatTableDataSource<FileMetadata>(fm);
       this.filesAvailable = true;
       setTimeout(() => {
@@ -58,6 +60,23 @@ export class FileOverviewComponent implements OnInit {
   }
 
   deleteFile(fileMetadata: FileMetadata) {
+    let dialogRef = this.dialog.open(ConfirmDialogComponent, {
+      width: '500px',
+      data: {
+        "title": "Do you really want to delete this file?",
+        "subtitle": "This cannot be undone.",
+        "cancelTitle": "No",
+        "okTitle": "Yes",
+        "confirmAndCancel": true
+      },
+    });
 
+    dialogRef.afterClosed().subscribe(ev => {
+      if (ev) {
+        this.filesService.deleteFile(fileMetadata.fileId).subscribe(response => {
+          this.refreshFiles();
+        });
+      }
+    })
   }
 }
\ No newline at end of file
diff --git a/ui/src/app/files/files.module.ts b/ui/src/app/files/files.module.ts
index 398caeb..e7b238e 100644
--- a/ui/src/app/files/files.module.ts
+++ b/ui/src/app/files/files.module.ts
@@ -38,6 +38,7 @@ import {FileOverviewComponent} from "./components/file-overview/file-overview.co
 import {MatTableModule} from "@angular/material/table";
 import {MatPaginatorModule} from "@angular/material/paginator";
 import {MatChipsModule} from "@angular/material/chips";
+import {MatTooltipModule} from "@angular/material/tooltip";
 
 @NgModule({
   imports: [
@@ -58,6 +59,7 @@ import {MatChipsModule} from "@angular/material/chips";
     MatProgressBarModule,
     MatTableModule,
     MatTabsModule,
+    MatTooltipModule,
     PlatformServicesModule,
     ServicesModule
   ],
diff --git a/ui/src/app/platform-services/apis/files.service.ts b/ui/src/app/platform-services/apis/files.service.ts
index f07a1bf..017f193 100644
--- a/ui/src/app/platform-services/apis/files.service.ts
+++ b/ui/src/app/platform-services/apis/files.service.ts
@@ -56,4 +56,8 @@ export class FilesService {
           return (response as any[]).map(fm => FileMetadata.fromData(fm));
         }));
   }
+
+  deleteFile(fileId: string) {
+    return this.http.delete(this.platformServicesCommons.authUserBasePath() + "/files/" + fileId);
+  }
 }
\ No newline at end of file