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 2023/01/13 11:02:46 UTC
[streampipes] 01/01: Reduce warnings at startup, improve structure of resource configs (#1091)
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch SP-1091
in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit bf50b15e9bf33be5dd428917ef6c7ad0c0040939
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Fri Jan 13 12:02:21 2023 +0100
Reduce warnings at startup, improve structure of resource configs (#1091)
---
.../streampipes/ps/DataLakeMeasureResourceV4.java | 1 -
.../streampipes/rest/impl/PipelineResource.java | 1 -
.../rest/impl/pe/DataStreamResource.java | 1 -
.../service/base/rest/BaseResourceConfig.java | 20 ++-
.../service/core/StreamPipesResourceConfig.java | 167 +++++++++++----------
.../extensions/ExtensionsResourceConfig.java | 40 +++--
6 files changed, 116 insertions(+), 114 deletions(-)
diff --git a/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java b/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java
index 03d2b9dfa..a59ce31ac 100644
--- a/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java
+++ b/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java
@@ -47,7 +47,6 @@ public class DataLakeMeasureResourceV4 extends AbstractAuthGuardedRestResource {
@JacksonSerialized
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
- @Path("/")
public Response addDataLake(DataLakeMeasure dataLakeMeasure) {
DataLakeMeasure result = this.dataLakeManagement.addDataLake(dataLakeMeasure);
return ok(result);
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 be3ee329a..5cb020986 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
@@ -75,7 +75,6 @@ public class PipelineResource extends AbstractAuthGuardedRestResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
- @Path("/")
@JacksonSerialized
@Operation(summary = "Get all pipelines of the current user",
tags = {"Pipeline"},
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 76f0b16bf..4cd90e99c 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
@@ -55,7 +55,6 @@ public class DataStreamResource extends AbstractAuthGuardedRestResource {
}
@GET
- @Path("/")
@Produces({MediaType.APPLICATION_JSON, SpMediaType.JSONLD})
@JacksonSerialized
@PreAuthorize(AuthConstants.HAS_READ_PIPELINE_ELEMENT_PRIVILEGE)
diff --git a/streampipes-service-base/src/main/java/org/apache/streampipes/service/base/rest/BaseResourceConfig.java b/streampipes-service-base/src/main/java/org/apache/streampipes/service/base/rest/BaseResourceConfig.java
index 3eb8c9279..64c8f043b 100644
--- a/streampipes-service-base/src/main/java/org/apache/streampipes/service/base/rest/BaseResourceConfig.java
+++ b/streampipes-service-base/src/main/java/org/apache/streampipes/service/base/rest/BaseResourceConfig.java
@@ -18,19 +18,25 @@
package org.apache.streampipes.service.base.rest;
import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.servlet.ServletProperties;
+import org.glassfish.jersey.server.ServerProperties;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
public abstract class BaseResourceConfig extends ResourceConfig {
public BaseResourceConfig() {
- property(ServletProperties.FILTER_FORWARD_ON_404, true);
- getClassesToRegister()
- .forEach(set -> set.forEach(this::register));
- register(ServiceHealthResource.class);
+ var customConfigs = new HashMap<String, Object>();
+ addAdditionalConfigs(customConfigs);
+ property(ServerProperties.WADL_FEATURE_DISABLE, true);
+ addProperties(customConfigs);
+ getClassesToRegister().forEach(this::register);
+
}
- public abstract List<List<Class<?>>> getClassesToRegister();
+ public abstract Set<Class<?>> getClassesToRegister();
+
+ public abstract void addAdditionalConfigs(Map<String, Object> configs);
}
diff --git a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesResourceConfig.java b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesResourceConfig.java
index 67dd94273..1a4f253b7 100644
--- a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesResourceConfig.java
+++ b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesResourceConfig.java
@@ -83,104 +83,107 @@ import org.apache.streampipes.rest.impl.pe.DataProcessorResource;
import org.apache.streampipes.rest.impl.pe.DataSinkResource;
import org.apache.streampipes.rest.impl.pe.DataStreamResource;
import org.apache.streampipes.rest.shared.serializer.JacksonSerializationProvider;
+import org.apache.streampipes.service.base.rest.BaseResourceConfig;
import org.apache.streampipes.service.base.rest.ServiceHealthResource;
import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
-import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.server.ServerProperties;
import org.springframework.context.annotation.Configuration;
import jakarta.ws.rs.ApplicationPath;
-import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
@Configuration
@ApplicationPath("/api")
-public class StreamPipesResourceConfig extends ResourceConfig {
+public class StreamPipesResourceConfig extends BaseResourceConfig {
- public StreamPipesResourceConfig() {
- setProperties(Collections.singletonMap("jersey.config.server.response.setStatusOverSendError", true));
- register(AccountActivationResource.class);
- register(AdapterMonitoringResource.class);
- register(Authentication.class);
- register(AssetDashboardResource.class);
- register(AssetManagementResource.class);
- register(AutoComplete.class);
- register(CategoryResource.class);
- register(ConsulConfig.class);
- register(ContainerProvidedOptions.class);
- register(DashboardWidget.class);
- register(Dashboard.class);
- register(DataExportResource.class);
- register(DataImportResource.class);
- register(DataLakeImageResource.class);
- register(DataLakeResourceV3.class);
- register(DataLakeMeasureResourceV3.class);
- register(DataLakeMeasureResourceV4.class);
- register(DataStream.class);
- register(EmailConfigurationResource.class);
- register(EmailResource.class);
- register(ExtensionsServiceEndpointResource.class);
- register(FunctionsResource.class);
- register(GeneralConfigurationResource.class);
- register(GenericStorageResource.class);
- register(LabelResource.class);
- register(MeasurementUnitResource.class);
- register(Notification.class);
- register(OntologyMeasurementUnit.class);
- register(PermissionResource.class);
- register(PersistedDataStreamResource.class);
- register(PipelineCanvasMetadataCache.class);
- register(PipelineCanvasMetadataResource.class);
- register(PipelineCache.class);
- register(PipelineCategory.class);
- register(PipelineElementAsset.class);
- register(PipelineElementCategory.class);
- register(PipelineElementFile.class);
- register(PipelineElementImport.class);
- register(PipelineElementPreview.class);
- register(PipelineElementRuntimeInfo.class);
- register(PipelineMonitoring.class);
- register(PipelineResource.class);
- register(PipelineTemplate.class);
- register(DataSinkResource.class);
- register(DataProcessorResource.class);
- register(DataStreamResource.class);
- register(Setup.class);
- register(ResetResource.class);
- register(RestorePasswordResource.class);
- register(ServiceHealthResource.class);
- register(UserResource.class);
- register(Version.class);
- register(PipelineElementAsset.class);
- register(DataLakeDashboardResource.class);
- register(DataLakeWidgetResource.class);
- register(DataLakeResourceV3.class);
- register(PipelineElementFile.class);
- register(DashboardWidget.class);
- register(Dashboard.class);
- register(VisualizablePipelineResource.class);
- register(UserGroupResource.class);
+ @Override
+ public Set<Class<?>> getClassesToRegister() {
+ return Set.of(
+ AccountActivationResource.class,
+ AdapterMonitoringResource.class,
+ Authentication.class,
+ AssetDashboardResource.class,
+ AssetManagementResource.class,
+ AutoComplete.class,
+ CategoryResource.class,
+ ConsulConfig.class,
+ ContainerProvidedOptions.class,
+ DashboardWidget.class,
+ Dashboard.class,
+ DataExportResource.class,
+ DataImportResource.class,
+ DataLakeDashboardResource.class,
+ DataLakeWidgetResource.class,
+ DataLakeImageResource.class,
+ DataLakeResourceV3.class,
+ DataLakeMeasureResourceV3.class,
+ DataLakeMeasureResourceV4.class,
+ DataStream.class,
+ EmailConfigurationResource.class,
+ EmailResource.class,
+ ExtensionsServiceEndpointResource.class,
+ FunctionsResource.class,
+ GeneralConfigurationResource.class,
+ GenericStorageResource.class,
+ LabelResource.class,
+ MeasurementUnitResource.class,
+ Notification.class,
+ OntologyMeasurementUnit.class,
+ PermissionResource.class,
+ PersistedDataStreamResource.class,
+ PipelineCanvasMetadataCache.class,
+ PipelineCanvasMetadataResource.class,
+ PipelineCache.class,
+ PipelineCategory.class,
+ PipelineElementAsset.class,
+ PipelineElementCategory.class,
+ PipelineElementFile.class,
+ PipelineElementImport.class,
+ PipelineElementPreview.class,
+ PipelineElementRuntimeInfo.class,
+ PipelineMonitoring.class,
+ PipelineResource.class,
+ PipelineTemplate.class,
+ DataSinkResource.class,
+ DataProcessorResource.class,
+ DataStreamResource.class,
+ Setup.class,
+ ResetResource.class,
+ RestorePasswordResource.class,
+ ServiceHealthResource.class,
+ UserResource.class,
+ Version.class,
- // Serializers
- register(JacksonSerializationProvider.class);
- register(MultiPartFeature.class);
+ VisualizablePipelineResource.class,
+ UserGroupResource.class,
- // Platform Services
- register(PipelineElementTemplateResource.class);
- register(DataLakeResourceV4.class);
- register(OpenApiResource.class);
+ // Serializers
+ JacksonSerializationProvider.class,
+ MultiPartFeature.class,
+ // Platform Services
+ PipelineElementTemplateResource.class,
+ DataLakeResourceV4.class,
+ OpenApiResource.class,
- // Connect Master
- register(AdapterResource.class);
- register(DescriptionResource.class);
- register(SourcesResource.class);
- register(GuessResource.class);
-// register(MultiPartFeature.class);
- register(UnitResource.class);
- register(WorkerAdministrationResource.class);
- register(RuntimeResolvableResource.class);
+ // Connect Master
+ AdapterResource.class,
+ DescriptionResource.class,
+ SourcesResource.class,
+ GuessResource.class,
+
+ UnitResource.class,
+ WorkerAdministrationResource.class,
+ RuntimeResolvableResource.class
+ );
}
+ @Override
+ public void addAdditionalConfigs(Map<String, Object> configs) {
+ configs.put(ServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR, true);
+ }
}
diff --git a/streampipes-service-extensions/src/main/java/org/apache/streampipes/service/extensions/ExtensionsResourceConfig.java b/streampipes-service-extensions/src/main/java/org/apache/streampipes/service/extensions/ExtensionsResourceConfig.java
index e03725d57..beaba5392 100644
--- a/streampipes-service-extensions/src/main/java/org/apache/streampipes/service/extensions/ExtensionsResourceConfig.java
+++ b/streampipes-service-extensions/src/main/java/org/apache/streampipes/service/extensions/ExtensionsResourceConfig.java
@@ -31,46 +31,42 @@ import org.apache.streampipes.rest.extensions.pe.DataStreamPipelineElementResour
import org.apache.streampipes.rest.extensions.pe.PipelineTemplateResource;
import org.apache.streampipes.rest.shared.serializer.JacksonSerializationProvider;
import org.apache.streampipes.service.base.rest.BaseResourceConfig;
+import org.apache.streampipes.service.base.rest.ServiceHealthResource;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
+import org.glassfish.jersey.servlet.ServletProperties;
import org.springframework.stereotype.Component;
-import java.util.List;
+import java.util.Map;
+import java.util.Set;
@Component
public class ExtensionsResourceConfig extends BaseResourceConfig {
@Override
- public List<List<Class<?>>> getClassesToRegister() {
- return List.of(
- getAdapterResourceClasses(),
- getBaseResourceClasses(),
- getPipelineElementResourceClasses()
- );
- }
-
- private List<Class<?>> getAdapterResourceClasses() {
- return List.of(
+ public Set<Class<?>> getClassesToRegister() {
+ return Set.of(
GuessResource.class,
RuntimeResolvableResource.class,
AdapterWorkerResource.class,
MultiPartFeature.class,
AdapterAssetResource.class,
- HttpServerAdapterResource.class);
- }
-
- private List<Class<?>> getBaseResourceClasses() {
- return List.of(
- JacksonSerializationProvider.class,
- MonitoringResource.class);
- }
+ HttpServerAdapterResource.class,
- private List<Class<?>> getPipelineElementResourceClasses() {
- return List.of(
DataSinkPipelineElementResource.class,
DataProcessorPipelineElementResource.class,
DataStreamPipelineElementResource.class,
WelcomePage.class,
- PipelineTemplateResource.class);
+ PipelineTemplateResource.class,
+
+ ServiceHealthResource.class,
+ JacksonSerializationProvider.class,
+ MonitoringResource.class
+ );
+ }
+
+ @Override
+ public void addAdditionalConfigs(Map<String, Object> configs) {
+ configs.put(ServletProperties.FILTER_FORWARD_ON_404, true);
}
}