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/17 21:55:17 UTC
[incubator-streampipes] branch dev updated: [STREAMPIPES-217]
Improve file upload behaviour
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 6ec413b [STREAMPIPES-217] Improve file upload behaviour
6ec413b is described below
commit 6ec413bab1ee37d07574a632434f246038ea444b
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Thu Sep 17 23:53:58 2020 +0200
[STREAMPIPES-217] Improve file upload behaviour
---
.../org/apache/streampipes/manager/file/FileManager.java | 3 ++-
.../apache/streampipes/rest/impl/PipelineElementFile.java | 4 ++--
.../static-file-input/static-file-input.component.html | 2 +-
.../static-file-input/static-file-input.component.ts | 15 ++++++++++-----
4 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/file/FileManager.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/file/FileManager.java
index 2c21424..af1e7a6 100644
--- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/file/FileManager.java
+++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/file/FileManager.java
@@ -28,7 +28,7 @@ import java.util.UUID;
public class FileManager {
- public static void storeFile(String user,
+ public static FileMetadata storeFile(String user,
String filename,
InputStream fileInputStream) throws IOException {
@@ -37,6 +37,7 @@ public class FileManager {
FileMetadata fileMetadata = makeFileMetadata(user, filename, internalFilename, filetype);
new FileHandler().storeFile(internalFilename, fileInputStream);
storeFileMetadata(fileMetadata);
+ return fileMetadata;
}
public static void deleteFile(String id) {
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 8d4e670..c9e4ad3 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
@@ -40,8 +40,8 @@ public class PipelineElementFile extends AbstractRestInterface implements IPipel
@FormDataParam("file_upload") InputStream uploadedInputStream,
@FormDataParam("file_upload") FormDataContentDisposition fileDetail) {
try {
- FileManager.storeFile(username, fileDetail.getFileName(), uploadedInputStream);
- return ok();
+ FileMetadata metadata = FileManager.storeFile(username, fileDetail.getFileName(), uploadedInputStream);
+ return ok(metadata);
} catch (Exception e) {
return fail();
}
diff --git a/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.html b/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.html
index 5176f4d..7134363 100644
--- a/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.html
+++ b/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.html
@@ -66,7 +66,7 @@
</mat-form-field>
<!--<div fxLayoutAlign="center none">-->
<div>
- <button color="primary" mat-raised-button (click)="upload()">
+ <button color="primary" mat-raised-button (click)="upload()" [disabled]="!fileName">
Upload
</button>
</div>
diff --git a/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts b/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts
index cdf372f..279d253 100644
--- a/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts
+++ b/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts
@@ -62,10 +62,16 @@ export class StaticFileInputComponent extends AbstractStaticPropertyRenderer<Fil
this.fetchFileMetadata();
}
- fetchFileMetadata() {
+ fetchFileMetadata(internalFilenameToSelect?: any) {
this.filesService.getFileMetadata(this.staticProperty.requiredFiletypes).subscribe(fm => {
this.fileMetadata = fm;
- if (this.staticProperty.locationPath) {
+ if (internalFilenameToSelect) {
+ this.chooseExistingFile = true;
+ this.selectedFile =
+ this.fileMetadata.find(fm => fm.internalFilename === internalFilenameToSelect);
+ this.selectOption(this.selectedFile);
+ this.emitUpdate(true);
+ } else if (this.staticProperty.locationPath) {
this.selectedFile =
this.fileMetadata.find(fm => fm.internalFilename === this.staticProperty.locationPath);
} else {
@@ -95,9 +101,8 @@ export class StaticFileInputComponent extends AbstractStaticPropertyRenderer<Fil
if (event.type == HttpEventType.UploadProgress) {
this.uploadStatus = Math.round(100 * event.loaded / event.total);
} else if (event instanceof HttpResponse) {
- this.fetchFileMetadata();
- (<FileStaticProperty> (this.staticProperty)).locationPath = event.body.notifications[0].title;
- this.emitUpdate(true);
+ let internalFilename = event.body.internalFilename;
+ this.fetchFileMetadata(internalFilename);
}
},
error => {