You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by wi...@apache.org on 2020/11/13 15:23:46 UTC
[incubator-streampipes] branch STREAMPIPES-252 updated (4d3cdcd ->
8f1e08b)
This is an automated email from the ASF dual-hosted git repository.
wiener pushed a change to branch STREAMPIPES-252
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git.
from 4d3cdcd [STREAMPIPES-252] add SP_PRIORITIZED_PROTOCOL env variable
add f18f90d [STREAMPIPES-253] add property scope HEADER_PROPERTY
add f97f0bb [hotfix] use adoptopenjdk/openjdk8-openj9:alpine base image
add 9eaea79 [STREAMPIPES-254] add correction value rule to preprocessing pipeline in connect adapters
add a9fe97a Move line chart labeling to data explorer module
add a66efe6 [STREAMPIPES-234] Integrated label component of image labeling
add abc7f8c Merge branch 'dev' into STREAMPIPES-234
add cd7559b Merge branch 'dev' into STREAMPIPES-234
add 3000e99 [STREAMPIPES-234] Labeled time intervals can now be changed
add d3fde33 Merge branch 'dev' into STREAMPIPES-234
add 4332e1e Merge branch 'dev' into STREAMPIPES-234
add edbc416 Move labels component
add 70cc1b1 Create configure labels component
add 6d5a4a4 Barebone impl of Label-API
add e28b4f8 Merge branch 'timeseries-labeling' into STREAMPIPES-234
add d0294a4 Added Category class
add df03e79 Merge pull request #26 from heymarco/STREAMPIPES-234
add e6bf2a4 Add label model to ui
add c80b35c Add color picker to configure label component
add 69cbceb Enable to add and delete labels
add 46cc9c9 Edit categories in label configuration
add 420c1c3 Add delete functionality for label categories
add 0ae7c55 Labeling api WIP
add 3207736 Adapted routing for labeling api and changed category class
add 820b546 Merge pull request #27 from heymarco/STREAMPIPES-234
add 958f50f Store categories and label in db
add c4635da Finish first version that persists labels and categories
add c7fff83 Refactor line chart
add acd61fe Time-series explorer supports now new label colors
add bdd73c3 Merge branch 'dev' into STREAMPIPES-234
add d28ecfd Rework image labeling
add 0cf97fd Image labeling works now with new label model
add 80396a8 Fix image labeling component
add 440ef73 Merge branch 'STREAMPIPES-234' into dev
add d8b77ee Add headers to fix build
add 8a4109a Add missing header to label service in ui
add e19a2cc Merge remote-tracking branch 'refs/remotes/origin/dev' into dev
add a87727b [hotfix] add missing fields
add 72fbcf0 [STREAMPIPES-254] fix ClassCastException from long to double
add 7ded342 [STREAMPIPES-254] additional changes to ClassCastException
add b0b157a [hotfix] use adoptopenjdk/openjdk8-openj9:alpine base image for all Dockerfiles
new 8f1e08b Merge branch 'dev' into STREAMPIPES-252
The 1 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:
.github/workflows/build.yml | 2 +-
.gitlab-ci.yml | 2 +-
.../all_pipeline_elements_jvm.xml | 1 +
.idea/runConfigurations/sinks_internal_jvm.xml | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
docker-compose.yml | 4 +-
streampipes-backend/Dockerfile | 2 +-
.../backend/StreamPipesResourceConfig.java | 2 +
streampipes-backend/src/main/resources/shiro.ini | 7 +
streampipes-connect-container-master/Dockerfile | 2 +-
.../streampipes/connect/adapter/Adapter.java | 13 +-
.../elements/SendToBrokerAdapterSink.java | 4 +-
...ink.java => SendToBrokerReplayAdapterSink.java} | 22 +-
.../elements/SendToKafkaAdapterSink.java | 1 -
.../TransformValueAdapterPipelineElement.java | 7 +-
...java => CorrectionValueTransformationRule.java} | 52 +-
.../transform/value/ValueEventTransformer.java | 38 +-
.../messaging/jms/ActiveMQPublisher.java | 22 +-
.../apache/streampipes/model/client/Category.java | 3 +-
.../rules/TransformationRuleDescription.java | 10 +-
...rectionValueTransformationRuleDescription.java} | 41 +-
.../value/ValueTransformationRuleDescription.java | 1 +
.../streampipes/model/labeling/Category.java | 46 +-
.../apache/streampipes/model/labeling/Label.java | 48 +-
.../manager/setup/CouchDbInstallationStep.java | 24 +
...OntologyPipelineElement.java => ICategory.java} | 17 +-
.../rest/api/{IRdfEndpoint.java => ILabel.java} | 19 +-
.../streampipes/rest/impl/CategoryResource.java | 116 ++++
.../streampipes/rest/impl/LabelResource.java | 144 +++++
.../rest/impl/datalake/DataLakeManagementV3.java | 4 +-
.../rest/impl/datalake/DataLakeResourceV3.java | 9 +-
.../serializers/json/GsonSerializer.java | 8 +-
.../jsonld/CustomAnnotationProvider.java | 7 +-
...alizationStorage.java => ICategoryStorage.java} | 15 +-
...isualizationStorage.java => ILabelStorage.java} | 19 +-
.../streampipes/storage/api/INoSqlStorage.java | 5 +
.../storage/couchdb/CouchDbStorageManager.java | 6 +
...ntStorageImpl.java => CategoryStorageImpl.java} | 33 +-
.../storage/couchdb/impl/LabelStorageImpl.java | 76 +++
.../streampipes/storage/couchdb/utils/Utils.java | 12 +
.../apache/streampipes/vocabulary/StreamPipes.java | 4 +-
ui/package.json | 34 +-
.../event-schema/event-schema.component.ts | 3 +-
ui/src/app/connect/connect.module.ts | 4 +-
.../edit-correction-value.component.css} | 0
.../edit-correction-value.component.html} | 30 +-
.../edit-correction-value.component.ts} | 34 +-
.../edit-event-property-primitive.component.html | 1 +
.../edit-event-property-primitive.component.ts | 9 +-
.../edit-event-property.component.html | 11 +-
.../edit-event-property.component.ts | 29 +-
.../services/transformation-rule.service.ts | 41 ++
ui/src/app/core-model/coco/Annotation.ts | 2 +
ui/src/app/core-model/coco/Category.ts | 10 +-
ui/src/app/core-model/gen/streampipes-model.ts | 99 +++-
.../datalake/datalake-rest.service.ts | 6 +-
.../semantic-type/semantic-type-utils.service.ts | 5 +
ui/src/app/core-ui/core-ui.module.ts | 118 ++--
.../image-annotations.component.html | 16 +-
.../image-annotations.component.ts | 21 +-
.../image-labels/image-labels.component.html | 39 --
.../image-labels/image-labels.component.ts | 73 ---
.../image-categorize.component.html | 5 +-
.../image-categorize/image-categorize.component.ts | 4 +-
.../image-labeling/image-labeling.component.html | 5 +-
.../image-labeling/image-labeling.component.ts | 45 +-
.../image/services/BrushLabeling.service.ts | 5 +-
.../core-ui/image/services/CocoFormat.service.ts | 22 +-
.../image/services/PolygonLabeling.service.ts | 7 +-
.../image/services/ReactLabeling.service.ts | 9 +-
.../configure-labels.component.css} | 0
.../configure-labels.component.html | 66 +++
.../configure-labels/configure-labels.component.ts | 120 +++++
.../label-list-item/label-list-item.component.css} | 0
.../label-list-item.component.html} | 26 +-
.../label-list-item/label-list-item.component.ts} | 44 +-
.../select-label/select-label.component.css} | 0
.../select-label/select-label.component.html | 43 ++
.../select-label/select-label.component.ts | 81 +++
.../app/core-ui/labels/services/label.service.ts | 94 ++++
.../label-selection/label-selection.component.css | 19 -
.../label-selection/label-selection.component.html | 32 --
.../label-selection/label-selection.component.ts | 61 ---
.../change-chartmode/change-chartmode.dialog.css | 29 -
.../change-chartmode/change-chartmode.dialog.html | 26 -
.../change-chartmode/change-chartmode.dialog.ts | 35 --
.../dialogs/labeling/labeling.dialog.css | 36 --
.../dialogs/labeling/labeling.dialog.html | 36 --
.../dialogs/labeling/labeling.dialog.ts | 52 --
.../labeling-tool/labeling-tool.module.ts | 90 ----
...data-explorer-dashboard-overview.component.html | 7 +-
.../data-explorer-dashboard-overview.component.ts | 7 +
.../data-explorer-dashboard-widget.component.html | 2 +-
.../data-explorer-dashboard-widget.component.ts | 2 +
.../widgets/base/base-data-explorer-widget.ts | 14 +-
.../point-selection-info.component.css | 0
.../point-selection-info.component.html | 0
.../point-selection-info.component.ts | 2 +-
.../line-chart/line-chart-widget.component.css | 5 +-
.../line-chart/line-chart-widget.component.html | 35 +-
.../line-chart/line-chart-widget.component.ts | 596 ++++++++++-----------
.../widgets/line-chart}/services/color.service.ts | 0
ui/src/app/data-explorer/data-explorer.module.ts | 96 ++--
107 files changed, 1892 insertions(+), 1311 deletions(-)
rename streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/{SendToKafkaReplayAdapterSink.java => SendToBrokerReplayAdapterSink.java} (81%)
copy streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/transform/value/{UnitTransformationRule.java => CorrectionValueTransformationRule.java} (57%)
copy streampipes-model/src/main/java/org/apache/streampipes/model/connect/rules/{schema/DeleteRuleDescription.java => value/CorrectionValueTransformationRuleDescription.java} (55%)
copy streampipes-model-client/src/main/java/org/apache/streampipes/model/client/endpoint/RdfEndpoint.java => streampipes-model/src/main/java/org/apache/streampipes/model/labeling/Category.java (57%)
copy streampipes-model-client/src/main/java/org/apache/streampipes/model/client/endpoint/RdfEndpoint.java => streampipes-model/src/main/java/org/apache/streampipes/model/labeling/Label.java (53%)
copy streampipes-rest/src/main/java/org/apache/streampipes/rest/api/{IOntologyPipelineElement.java => ICategory.java} (74%)
copy streampipes-rest/src/main/java/org/apache/streampipes/rest/api/{IRdfEndpoint.java => ILabel.java} (67%)
create mode 100644 streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/CategoryResource.java
create mode 100644 streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/LabelResource.java
copy streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/{IVisualizationStorage.java => ICategoryStorage.java} (71%)
copy streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/{IVisualizationStorage.java => ILabelStorage.java} (70%)
copy streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/{RdfEndpointStorageImpl.java => CategoryStorageImpl.java} (60%)
create mode 100644 streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/LabelStorageImpl.java
copy ui/src/app/{editor/components/pipeline/pipeline.component.css => connect/dialog/edit-event-property/components/edit-correction-value/edit-correction-value.component.css} (100%)
copy ui/src/app/{core-ui/static-properties/static-any-input/static-any-input.component.html => connect/dialog/edit-event-property/components/edit-correction-value/edit-correction-value.component.html} (52%)
copy ui/src/app/connect/dialog/edit-event-property/components/{edit-data-type/edit-data-type.component.ts => edit-correction-value/edit-correction-value.component.ts} (54%)
delete mode 100644 ui/src/app/core-ui/image/components/image-labels/image-labels.component.html
delete mode 100644 ui/src/app/core-ui/image/components/image-labels/image-labels.component.ts
copy ui/src/app/{editor/components/pipeline/pipeline.component.css => core-ui/labels/components/configure-labels/configure-labels.component.css} (100%)
create mode 100644 ui/src/app/core-ui/labels/components/configure-labels/configure-labels.component.html
create mode 100644 ui/src/app/core-ui/labels/components/configure-labels/configure-labels.component.ts
copy ui/src/app/{editor/components/pipeline/pipeline.component.css => core-ui/labels/components/label-list-item/label-list-item.component.css} (100%)
copy ui/src/app/core-ui/{static-properties/static-color-picker/static-color-picker.component.html => labels/components/label-list-item/label-list-item.component.html} (57%)
copy ui/src/app/{data-explorer/components/widgets/utils/select-properties/select-properties.component.ts => core-ui/labels/components/label-list-item/label-list-item.component.ts} (52%)
rename ui/src/app/core-ui/{image/components/image-labels/image-labels.component.css => labels/components/select-label/select-label.component.css} (100%)
create mode 100644 ui/src/app/core-ui/labels/components/select-label/select-label.component.html
create mode 100644 ui/src/app/core-ui/labels/components/select-label/select-label.component.ts
create mode 100644 ui/src/app/core-ui/labels/services/label.service.ts
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/components/label-selection/label-selection.component.css
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/components/label-selection/label-selection.component.html
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/components/label-selection/label-selection.component.ts
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/dialogs/change-chartmode/change-chartmode.dialog.css
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/dialogs/change-chartmode/change-chartmode.dialog.html
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/dialogs/change-chartmode/change-chartmode.dialog.ts
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/dialogs/labeling/labeling.dialog.css
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/dialogs/labeling/labeling.dialog.html
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/dialogs/labeling/labeling.dialog.ts
delete mode 100644 ui/src/app/core-ui/linechart/labeling-tool/labeling-tool.module.ts
rename ui/src/app/{core-ui/linechart/labeling-tool => data-explorer/components/widgets/line-chart}/components/point-selection-info/point-selection-info.component.css (100%)
rename ui/src/app/{core-ui/linechart/labeling-tool => data-explorer/components/widgets/line-chart}/components/point-selection-info/point-selection-info.component.html (100%)
rename ui/src/app/{core-ui/linechart/labeling-tool => data-explorer/components/widgets/line-chart}/components/point-selection-info/point-selection-info.component.ts (96%)
rename ui/src/app/{core-ui/linechart/labeling-tool => data-explorer/components/widgets/line-chart}/services/color.service.ts (100%)
[incubator-streampipes] 01/01: Merge branch 'dev' into
STREAMPIPES-252
Posted by wi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
wiener pushed a commit to branch STREAMPIPES-252
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit 8f1e08bcb66a3e3e8c7fb0eec6c04ac60a4e7135
Merge: 4d3cdcd b0b157a
Author: Patrick Wiener <wi...@fzi.de>
AuthorDate: Fri Nov 13 16:23:00 2020 +0100
Merge branch 'dev' into STREAMPIPES-252
.github/workflows/build.yml | 2 +-
.gitlab-ci.yml | 2 +-
.../all_pipeline_elements_jvm.xml | 1 +
.idea/runConfigurations/sinks_internal_jvm.xml | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
.../main/resources/archetype-resources/Dockerfile | 2 +-
docker-compose.yml | 4 +-
streampipes-backend/Dockerfile | 2 +-
.../backend/StreamPipesResourceConfig.java | 2 +
streampipes-backend/src/main/resources/shiro.ini | 7 +
streampipes-connect-container-master/Dockerfile | 2 +-
.../streampipes/connect/adapter/Adapter.java | 13 +-
.../elements/SendToBrokerAdapterSink.java | 4 +-
...ink.java => SendToBrokerReplayAdapterSink.java} | 22 +-
.../elements/SendToKafkaAdapterSink.java | 1 -
.../TransformValueAdapterPipelineElement.java | 7 +-
.../value/CorrectionValueTransformationRule.java | 93 ++++
.../transform/value/ValueEventTransformer.java | 38 +-
.../messaging/jms/ActiveMQPublisher.java | 22 +-
.../apache/streampipes/model/client/Category.java | 3 +-
.../rules/TransformationRuleDescription.java | 10 +-
...rrectionValueTransformationRuleDescription.java | 80 +++
.../value/ValueTransformationRuleDescription.java | 1 +
.../streampipes/model/labeling/Category.java | 67 +++
.../apache/streampipes/model/labeling/Label.java | 73 +++
.../manager/setup/CouchDbInstallationStep.java | 24 +
.../org/apache/streampipes/rest/api/ICategory.java | 28 +-
.../org/apache/streampipes/rest/api/ILabel.java | 31 +-
.../streampipes/rest/impl/CategoryResource.java | 116 ++++
.../streampipes/rest/impl/LabelResource.java | 144 +++++
.../rest/impl/datalake/DataLakeManagementV3.java | 4 +-
.../rest/impl/datalake/DataLakeResourceV3.java | 9 +-
.../serializers/json/GsonSerializer.java | 8 +-
.../jsonld/CustomAnnotationProvider.java | 7 +-
.../streampipes/storage/api/ICategoryStorage.java | 27 +-
.../streampipes/storage/api/ILabelStorage.java | 31 +-
.../streampipes/storage/api/INoSqlStorage.java | 5 +
.../storage/couchdb/CouchDbStorageManager.java | 6 +
.../storage/couchdb/impl/CategoryStorageImpl.java | 57 ++
.../storage/couchdb/impl/LabelStorageImpl.java | 76 +++
.../streampipes/storage/couchdb/utils/Utils.java | 12 +
.../apache/streampipes/vocabulary/StreamPipes.java | 4 +-
ui/package.json | 34 +-
.../event-schema/event-schema.component.ts | 3 +-
ui/src/app/connect/connect.module.ts | 4 +-
.../edit-correction-value.component.css} | 4 +-
.../edit-correction-value.component.html | 39 ++
.../edit-correction-value.component.ts | 55 ++
.../edit-event-property-primitive.component.html | 1 +
.../edit-event-property-primitive.component.ts | 9 +-
.../edit-event-property.component.html | 11 +-
.../edit-event-property.component.ts | 29 +-
.../services/transformation-rule.service.ts | 41 ++
ui/src/app/core-model/coco/Annotation.ts | 2 +
ui/src/app/core-model/coco/Category.ts | 10 +-
ui/src/app/core-model/gen/streampipes-model.ts | 99 +++-
.../datalake/datalake-rest.service.ts | 6 +-
.../semantic-type/semantic-type-utils.service.ts | 5 +
ui/src/app/core-ui/core-ui.module.ts | 118 ++--
.../image-annotations.component.html | 16 +-
.../image-annotations.component.ts | 21 +-
.../image-labels/image-labels.component.html | 39 --
.../image-labels/image-labels.component.ts | 73 ---
.../image-categorize.component.html | 5 +-
.../image-categorize/image-categorize.component.ts | 4 +-
.../image-labeling/image-labeling.component.html | 5 +-
.../image-labeling/image-labeling.component.ts | 45 +-
.../image/services/BrushLabeling.service.ts | 5 +-
.../core-ui/image/services/CocoFormat.service.ts | 22 +-
.../image/services/PolygonLabeling.service.ts | 7 +-
.../image/services/ReactLabeling.service.ts | 9 +-
.../configure-labels.component.css} | 4 +-
.../configure-labels.component.html | 66 +++
.../configure-labels/configure-labels.component.ts | 120 +++++
.../label-list-item/label-list-item.component.css} | 4 +-
.../label-list-item.component.html} | 27 +-
.../label-list-item/label-list-item.component.ts | 59 ++
.../select-label/select-label.component.css} | 0
.../select-label/select-label.component.html | 43 ++
.../select-label/select-label.component.ts | 81 +++
.../app/core-ui/labels/services/label.service.ts | 94 ++++
.../label-selection/label-selection.component.html | 32 --
.../label-selection/label-selection.component.ts | 61 ---
.../change-chartmode/change-chartmode.dialog.css | 29 -
.../change-chartmode/change-chartmode.dialog.ts | 35 --
.../dialogs/labeling/labeling.dialog.css | 36 --
.../dialogs/labeling/labeling.dialog.html | 36 --
.../dialogs/labeling/labeling.dialog.ts | 52 --
.../labeling-tool/labeling-tool.module.ts | 90 ----
...data-explorer-dashboard-overview.component.html | 7 +-
.../data-explorer-dashboard-overview.component.ts | 7 +
.../data-explorer-dashboard-widget.component.html | 2 +-
.../data-explorer-dashboard-widget.component.ts | 2 +
.../widgets/base/base-data-explorer-widget.ts | 14 +-
.../point-selection-info.component.css | 0
.../point-selection-info.component.html | 0
.../point-selection-info.component.ts | 2 +-
.../line-chart/line-chart-widget.component.css | 5 +-
.../line-chart/line-chart-widget.component.html | 35 +-
.../line-chart/line-chart-widget.component.ts | 596 ++++++++++-----------
.../widgets/line-chart}/services/color.service.ts | 0
ui/src/app/data-explorer/data-explorer.module.ts | 96 ++--
105 files changed, 2241 insertions(+), 1172 deletions(-)
diff --cc streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/Adapter.java
index 86d15c2,391cb8d..28258ec
--- a/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/Adapter.java
+++ b/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/Adapter.java
@@@ -18,12 -18,9 +18,13 @@@
package org.apache.streampipes.connect.adapter;
+ import org.apache.streampipes.connect.adapter.preprocessing.elements.*;
+ import org.apache.streampipes.model.connect.rules.value.CorrectionValueTransformationRuleDescription;
+import org.apache.streampipes.config.backend.BackendConfig;
+import org.apache.streampipes.config.backend.SpProtocol;
- import org.apache.streampipes.connect.adapter.preprocessing.elements.*;
+import org.apache.streampipes.model.grounding.JmsTransportProtocol;
import org.apache.streampipes.model.grounding.KafkaTransportProtocol;
+import org.apache.streampipes.model.grounding.MqttTransportProtocol;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.streampipes.connect.adapter.exception.AdapterException;
@@@ -123,10 -105,11 +125,12 @@@ public abstract class Adapter<T extend
AddValueTransformationRuleDescription valueTransformationRuleDescription = getAddValueRule(adapterDescription);
if (valueTransformationRuleDescription != null) {
- pipelineElements.add(new AddValuePipelineElement(valueTransformationRuleDescription.getRuntimeKey(), valueTransformationRuleDescription.getStaticValue()));
+ pipelineElements.add(new AddValuePipelineElement(
+ valueTransformationRuleDescription.getRuntimeKey(),
+ valueTransformationRuleDescription.getStaticValue()));
}
+
// first transform schema before transforming vales
// value rules should use unique keys for of new schema
pipelineElements.add(new TransformSchemaAdapterPipelineElement(adapterDescription.getSchemaRules()));
diff --cc streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToBrokerAdapterSink.java
index 27439fe,0000000..4333111
mode 100644,000000..100644
--- a/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToBrokerAdapterSink.java
+++ b/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToBrokerAdapterSink.java
@@@ -1,105 -1,0 +1,103 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.connect.adapter.preprocessing.elements;
+
+import org.apache.streampipes.commons.exceptions.SpRuntimeException;
+import org.apache.streampipes.connect.adapter.model.pipeline.AdapterPipelineElement;
+import org.apache.streampipes.connect.adapter.util.TransportFormatSelector;
+import org.apache.streampipes.dataformat.SpDataFormatDefinition;
+import org.apache.streampipes.messaging.EventProducer;
+import org.apache.streampipes.model.connect.adapter.AdapterDescription;
+import org.apache.streampipes.model.grounding.TransportFormat;
+import org.apache.streampipes.model.grounding.TransportProtocol;
+
++import java.util.List;
+import java.util.Map;
+import java.util.function.Supplier;
+
+public abstract class SendToBrokerAdapterSink<T extends TransportProtocol> implements AdapterPipelineElement {
+
+ protected AdapterDescription adapterDescription;
+ protected SpDataFormatDefinition dataFormatDefinition;
-
+ protected T protocol;
+ private Class<T> protocolClass;
-
+ private EventProducer<T> producer;
+
+ public SendToBrokerAdapterSink(AdapterDescription adapterDescription,
+ Supplier<EventProducer<T>> producerSupplier,
+ Class<T> protocolClass) {
+ this.adapterDescription = adapterDescription;
+ this.producer = producerSupplier.get();
-
+ this.protocol = protocolClass.cast(adapterDescription
+ .getEventGrounding()
+ .getTransportProtocol());
+
+ if ("true".equals(System.getenv("SP_DEBUG"))) {
+ modifyProtocolForDebugging();
+ }
+
+ TransportFormat transportFormat = adapterDescription
+ .getEventGrounding()
+ .getTransportFormats()
+ .get(0);
+
+ this.dataFormatDefinition =
+ new TransportFormatSelector(transportFormat).getDataFormatDefinition();
+
+ try {
+ producer.connect(protocol);
+ } catch (SpRuntimeException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ public Map<String, Object> process(Map<String, Object> event) {
+ try {
+ if (event != null) {
+ if ("true".equals(System.getenv("SP_DEBUG_CONNECT"))) {
+ event.put("internal_t2", System.currentTimeMillis());
+ }
+ sendToBroker(dataFormatDefinition.fromMap(event));
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ protected void sendToBroker(byte[] event) throws Exception {
+ producer.publish(event);
+ }
+
+ protected void modifyProtocolForDebugging() {
+
+ }
+
+ public void changeTransportProtocol(T transportProtocol) {
+ try {
+ producer.disconnect();
+ producer.connect(transportProtocol);
+ } catch (SpRuntimeException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
+
+
diff --cc streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToBrokerReplayAdapterSink.java
index 42864fb,42864fb..905b5ee
--- a/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToBrokerReplayAdapterSink.java
+++ b/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToBrokerReplayAdapterSink.java
@@@ -20,23 -20,23 +20,25 @@@ package org.apache.streampipes.connect.
import org.apache.streampipes.connect.adapter.model.pipeline.AdapterPipelineElement;
import org.apache.streampipes.connect.adapter.preprocessing.Util;
--
++import org.apache.streampipes.messaging.EventProducer;
++import org.apache.streampipes.model.grounding.TransportProtocol;
import java.util.List;
import java.util.Map;
++import java.util.function.Supplier;
--public class SendToKafkaReplayAdapterSink implements AdapterPipelineElement {
++public class SendToBrokerReplayAdapterSink implements AdapterPipelineElement {
-- private SendToKafkaAdapterSink sendToKafkaAdapterSink;
++ private final SendToBrokerAdapterSink sendToBrokerAdapterSink;
private long lastEventTimestamp;
-- private List<String> timestampKeys;
-- private boolean replaceTimestamp;
-- private float speedUp;
++ private final List<String> timestampKeys;
++ private final boolean replaceTimestamp;
++ private final float speedUp;
-- public SendToKafkaReplayAdapterSink(SendToKafkaAdapterSink sendToKafkaAdapterSink,
-- String timestampKey, boolean replaceTimestamp, float speedUp) {
-- this.sendToKafkaAdapterSink = sendToKafkaAdapterSink;
++ public SendToBrokerReplayAdapterSink(SendToBrokerAdapterSink sendToBrokerAdapterSink,
++ String timestampKey, boolean replaceTimestamp, float speedUp) {
++ this.sendToBrokerAdapterSink = sendToBrokerAdapterSink;
this.lastEventTimestamp = -1;
this.timestampKeys = Util.toKeyArray(timestampKey);
this.replaceTimestamp = replaceTimestamp;
@@@ -65,7 -65,7 +67,7 @@@
setTimestampInEvent(event, System.currentTimeMillis());
}
}
-- return sendToKafkaAdapterSink.process(event);
++ return sendToBrokerAdapterSink.process(event);
}
private long getTimestampInEvent(Map<String, Object> event) {
diff --cc streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToKafkaAdapterSink.java
index 434dd9c,7670c66..350b124
--- a/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToKafkaAdapterSink.java
+++ b/streampipes-connect/src/main/java/org/apache/streampipes/connect/adapter/preprocessing/elements/SendToKafkaAdapterSink.java
@@@ -15,10 -15,13 +15,9 @@@
* limitations under the License.
*
*/
-
package org.apache.streampipes.connect.adapter.preprocessing.elements;
- import org.apache.streampipes.config.backend.BackendConfig;
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
import org.apache.streampipes.connect.adapter.model.pipeline.AdapterPipelineElement;
-import org.apache.streampipes.connect.adapter.util.TransportFormatSelector;
-import org.apache.streampipes.dataformat.SpDataFormatDefinition;
import org.apache.streampipes.messaging.kafka.SpKafkaProducer;
import org.apache.streampipes.model.connect.adapter.AdapterDescription;
import org.apache.streampipes.model.grounding.KafkaTransportProtocol;
diff --cc streampipes-messaging-jms/src/main/java/org/apache/streampipes/messaging/jms/ActiveMQPublisher.java
index ad7d4b1,db610fc..02df17f
--- a/streampipes-messaging-jms/src/main/java/org/apache/streampipes/messaging/jms/ActiveMQPublisher.java
+++ b/streampipes-messaging-jms/src/main/java/org/apache/streampipes/messaging/jms/ActiveMQPublisher.java
@@@ -49,31 -49,19 +49,31 @@@ public class ActiveMQPublisher implemen
}
- // TODO backwards compatibility, remove later
+ @Deprecated
- // public ActiveMQPublisher(String url, String topic) {
- // JmsTransportProtocol protocol = new JmsTransportProtocol();
- // protocol.setBrokerHostname(url.substring(0, url.lastIndexOf(":")));
- // protocol.setPort(Integer.parseInt(url.substring(url.lastIndexOf(":") + 1, url.length())));
- // protocol.setTopicDefinition(new SimpleTopicDefinition(topic));
- // try {
- // connect(protocol);
- // } catch (SpRuntimeException e) {
- // e.printStackTrace();
- // }
- // }
+ public ActiveMQPublisher(String url, String topic) {
+ JmsTransportProtocol protocol = new JmsTransportProtocol();
+ protocol.setBrokerHostname(url.substring(0, url.lastIndexOf(":")));
+ protocol.setPort(Integer.parseInt(url.substring(url.lastIndexOf(":") + 1, url.length())));
+ protocol.setTopicDefinition(new SimpleTopicDefinition(topic));
+ try {
+ connect(protocol);
+ } catch (SpRuntimeException e) {
+ e.printStackTrace();
+ }
+ }
+ public ActiveMQPublisher(String host, int port, String topic) {
+ JmsTransportProtocol protocol = new JmsTransportProtocol();
+ protocol.setBrokerHostname(host);
+ protocol.setPort(port);
+ protocol.setTopicDefinition(new SimpleTopicDefinition(topic));
+ try {
+ connect(protocol);
+ } catch (SpRuntimeException e) {
+ e.printStackTrace();
+ }
+ }
+
public void sendText(String message) throws JMSException {
publish(message.getBytes());
}