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 2022/08/08 11:57:45 UTC
[incubator-streampipes] 02/03: [STREAMPIPES-565] Properly import data view widgets
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
commit 189e6c2b6273b02fac5a3952a7632d9fb2a47f44
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Mon Aug 8 13:57:18 2022 +0200
[STREAMPIPES-565] Properly import data view widgets
---
.../streampipes/export/resolver/AbstractResolver.java | 4 +++-
.../streampipes/export/resolver/AdapterResolver.java | 4 ++--
.../streampipes/export/resolver/DashboardResolver.java | 4 ++--
.../export/resolver/DashboardWidgetResolver.java | 4 ++--
.../streampipes/export/resolver/DataSourceResolver.java | 4 ++--
.../streampipes/export/resolver/DataViewResolver.java | 4 ++--
.../export/resolver/DataViewWidgetResolver.java | 7 ++++---
.../streampipes/export/resolver/MeasurementResolver.java | 4 ++--
.../streampipes/export/resolver/PipelineResolver.java | 4 ++--
.../streampipes/rest/impl/admin/DataImportResource.java | 16 +++++++++++++---
10 files changed, 34 insertions(+), 21 deletions(-)
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AbstractResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AbstractResolver.java
index 6b9689abd..8e085240f 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AbstractResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AbstractResolver.java
@@ -32,9 +32,11 @@ import java.util.stream.Collectors;
public abstract class AbstractResolver<T> {
protected ObjectMapper spMapper;
+ protected ObjectMapper defaultMapper;
public AbstractResolver() {
this.spMapper = SerializationUtils.getSpObjectMapper();
+ this.defaultMapper = SerializationUtils.getDefaultObjectMapper();
}
public Set<ExportItem> resolve(Set<AssetLink> assetLinks) {
@@ -61,5 +63,5 @@ public abstract class AbstractResolver<T> {
public abstract void writeDocument(String document) throws JsonProcessingException;
- protected abstract T serializeDocument(String document) throws JsonProcessingException;
+ protected abstract T deserializeDocument(String document) throws JsonProcessingException;
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AdapterResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AdapterResolver.java
index 2ad74c035..2598d9dc3 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AdapterResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/AdapterResolver.java
@@ -49,11 +49,11 @@ public class AdapterResolver extends AbstractResolver<AdapterDescription> {
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getAdapterInstanceStorage().storeAdapter(serializeDocument(document));
+ getNoSqlStore().getAdapterInstanceStorage().storeAdapter(deserializeDocument(document));
}
@Override
- protected AdapterDescription serializeDocument(String document) throws JsonProcessingException {
+ protected AdapterDescription deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, AdapterDescription.class);
}
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardResolver.java
index 1b3ea1348..467c8aa07 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardResolver.java
@@ -48,11 +48,11 @@ public class DashboardResolver extends AbstractResolver<DashboardModel> {
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getDashboardStorage().storeDashboard(serializeDocument(document));
+ getNoSqlStore().getDashboardStorage().storeDashboard(deserializeDocument(document));
}
@Override
- protected DashboardModel serializeDocument(String document) throws JsonProcessingException {
+ protected DashboardModel deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, DashboardModel.class);
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardWidgetResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardWidgetResolver.java
index 5740b6230..b8eb3b867 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardWidgetResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DashboardWidgetResolver.java
@@ -44,11 +44,11 @@ public class DashboardWidgetResolver extends AbstractResolver<DashboardWidgetMod
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getDashboardWidgetStorage().storeDashboardWidget(serializeDocument(document));
+ getNoSqlStore().getDashboardWidgetStorage().storeDashboardWidget(deserializeDocument(document));
}
@Override
- protected DashboardWidgetModel serializeDocument(String document) throws JsonProcessingException {
+ protected DashboardWidgetModel deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, DashboardWidgetModel.class);
}
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataSourceResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataSourceResolver.java
index a218e1d93..6a79f3d7c 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataSourceResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataSourceResolver.java
@@ -44,11 +44,11 @@ public class DataSourceResolver extends AbstractResolver<SpDataStream> {
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getDataStreamStorage().createElement(serializeDocument(document));
+ getNoSqlStore().getDataStreamStorage().createElement(deserializeDocument(document));
}
@Override
- protected SpDataStream serializeDocument(String document) throws JsonProcessingException {
+ protected SpDataStream deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, SpDataStream.class);
}
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewResolver.java
index ecaaa3e2e..47e946d3e 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewResolver.java
@@ -49,11 +49,11 @@ public class DataViewResolver extends AbstractResolver<DashboardModel> {
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getDataExplorerDashboardStorage().storeDashboard(serializeDocument(document));
+ getNoSqlStore().getDataExplorerDashboardStorage().storeDashboard(deserializeDocument(document));
}
@Override
- protected DashboardModel serializeDocument(String document) throws JsonProcessingException {
+ protected DashboardModel deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, DashboardModel.class);
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewWidgetResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewWidgetResolver.java
index bf46c0e3f..969312517 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewWidgetResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/DataViewWidgetResolver.java
@@ -44,11 +44,12 @@ public class DataViewWidgetResolver extends AbstractResolver<DataExplorerWidgetM
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getDataExplorerWidgetStorage().storeDataExplorerWidget(serializeDocument(document));
+ getNoSqlStore().getDataExplorerWidgetStorage().storeDataExplorerWidget(deserializeDocument(document));
}
@Override
- protected DataExplorerWidgetModel serializeDocument(String document) throws JsonProcessingException {
- return this.spMapper.readValue(document, DataExplorerWidgetModel.class);
+ protected DataExplorerWidgetModel deserializeDocument(String document) throws JsonProcessingException {
+ return this.defaultMapper.readValue(document, DataExplorerWidgetModel.class);
}
+
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/MeasurementResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/MeasurementResolver.java
index f44b21741..ecde1338c 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/MeasurementResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/MeasurementResolver.java
@@ -44,11 +44,11 @@ public class MeasurementResolver extends AbstractResolver<DataLakeMeasure> {
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getDataLakeStorage().storeDataLakeMeasure(serializeDocument(document));
+ getNoSqlStore().getDataLakeStorage().storeDataLakeMeasure(deserializeDocument(document));
}
@Override
- protected DataLakeMeasure serializeDocument(String document) throws JsonProcessingException {
+ protected DataLakeMeasure deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, DataLakeMeasure.class);
}
}
diff --git a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/PipelineResolver.java b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/PipelineResolver.java
index 326278dcc..5ca897458 100644
--- a/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/PipelineResolver.java
+++ b/streampipes-data-export/src/main/java/org/apache/streampipes/export/resolver/PipelineResolver.java
@@ -46,11 +46,11 @@ public class PipelineResolver extends AbstractResolver<Pipeline> {
@Override
public void writeDocument(String document) throws JsonProcessingException {
- getNoSqlStore().getPipelineStorageAPI().storePipeline(serializeDocument(document));
+ getNoSqlStore().getPipelineStorageAPI().storePipeline(deserializeDocument(document));
}
@Override
- protected Pipeline serializeDocument(String document) throws JsonProcessingException {
+ protected Pipeline deserializeDocument(String document) throws JsonProcessingException {
return this.spMapper.readValue(document, Pipeline.class);
}
}
diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/admin/DataImportResource.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/admin/DataImportResource.java
index 72feeb8d6..61b8b4f5b 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/admin/DataImportResource.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/admin/DataImportResource.java
@@ -24,6 +24,8 @@ import org.apache.streampipes.rest.core.base.impl.AbstractAuthGuardedRestResourc
import org.apache.streampipes.rest.security.AuthConstants;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Component;
@@ -41,6 +43,8 @@ import java.io.InputStream;
@PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
public class DataImportResource extends AbstractAuthGuardedRestResource {
+ private static final Logger LOG = LoggerFactory.getLogger(DataImportResource.class);
+
@Path("/preview")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@@ -56,8 +60,14 @@ public class DataImportResource extends AbstractAuthGuardedRestResource {
@Produces(MediaType.APPLICATION_JSON)
public Response importData(@FormDataParam("file_upload") InputStream uploadedInputStream,
@FormDataParam("file_upload") FormDataContentDisposition fileDetail,
- @FormDataParam("configuration") AssetExportConfiguration exportConfiguration) throws IOException {
- ImportManager.performImport(uploadedInputStream, exportConfiguration, getAuthenticatedUserSid());
- return ok();
+ @FormDataParam("configuration") AssetExportConfiguration exportConfiguration) {
+ try {
+ ImportManager.performImport(uploadedInputStream, exportConfiguration, getAuthenticatedUserSid());
+ return ok();
+ } catch (IOException e) {
+ LOG.error("An error occurred while importing resources", e);
+ return fail();
+ }
+
}
}