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/12/01 21:48:16 UTC

[incubator-streampipes-extensions] branch dev updated (a64a62a -> f934493)

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

wiener pushed a change to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes-extensions.git.


    from a64a62a  Merge pull request #33 from heymarco/kafka-auth
     new d788561  [STREAMPIPES-263] add streampipes-extensions-all
     new f934493  Merge branch 'bundle' into dev

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:
 .github/workflows/build.yml                        |  20 ++
 pom.xml                                            |   7 +
 .../Dockerfile                                     |   4 +-
 .../aarch64.Dockerfile                             |   6 +-
 .../arm.Dockerfile                                 |   4 +-
 streampipes-extensions-all-jvm/pom.xml             |  74 ++++++
 .../extensions/all/jvm/AllExtensionsInit.java      | 261 +++++++++++++++++++++
 .../all/jvm/config/AllExtensionsConfig.java        |  78 ++++++
 .../extensions/all/jvm}/config/ConfigKeys.java     |   9 +-
 streampipes-pipeline-elements-all-jvm/pom.xml      |  15 ++
 streampipes-sinks-internal-jvm/pom.xml             |   4 +
 11 files changed, 470 insertions(+), 12 deletions(-)
 copy {streampipes-pipeline-elements-all-jvm => streampipes-extensions-all-jvm}/Dockerfile (85%)
 copy {streampipes-connect-adapters => streampipes-extensions-all-jvm}/aarch64.Dockerfile (84%)
 copy {streampipes-sinks-brokers-jvm => streampipes-extensions-all-jvm}/arm.Dockerfile (84%)
 create mode 100644 streampipes-extensions-all-jvm/pom.xml
 create mode 100644 streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/AllExtensionsInit.java
 create mode 100644 streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/AllExtensionsConfig.java
 copy {streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect => streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm}/config/ConfigKeys.java (85%)


[incubator-streampipes-extensions] 01/02: [STREAMPIPES-263] add streampipes-extensions-all

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

wiener pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes-extensions.git

commit d7885616703083e2b37d0e07bfe7f1865880d28c
Author: Patrick Wiener <wi...@fzi.de>
AuthorDate: Tue Dec 1 22:45:59 2020 +0100

    [STREAMPIPES-263] add streampipes-extensions-all
---
 .github/workflows/build.yml                        |  20 ++
 pom.xml                                            |   7 +
 streampipes-extensions-all-jvm/Dockerfile          |  30 +++
 streampipes-extensions-all-jvm/aarch64.Dockerfile  |  26 ++
 streampipes-extensions-all-jvm/arm.Dockerfile      |  26 ++
 streampipes-extensions-all-jvm/pom.xml             |  74 ++++++
 .../extensions/all/jvm/AllExtensionsInit.java      | 261 +++++++++++++++++++++
 .../all/jvm/config/AllExtensionsConfig.java        |  78 ++++++
 .../extensions/all/jvm/config/ConfigKeys.java      |  30 +++
 streampipes-pipeline-elements-all-jvm/pom.xml      |  15 ++
 streampipes-sinks-internal-jvm/pom.xml             |   4 +
 11 files changed, 571 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ba2d547..5802e39 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -84,6 +84,26 @@ jobs:
           docker manifest annotate $IMG_NAME_DEFAULT $IMG_NAME_ARM32V7 --os linux --arch arm
           docker manifest annotate $IMG_NAME_DEFAULT $IMG_NAME_ARM64V8 --os linux --arch arm64
           docker manifest push $IMG_NAME_DEFAULT
+      - name: Build and Push Docker Image extensions-all-jvm
+        working-directory: ./streampipes-extensions-all-jvm
+        env:
+          IMG_NAME_DEFAULT: ${{ env.DOCKERHUB_APACHE_REPO }}/extensions-all-jvm:${{ env.MVN_VERSION }}
+          IMG_NAME_AMD64: ${{ env.DOCKERHUB_APACHE_REPO }}/extensions-all-jvm:amd64-${{ env.MVN_VERSION }}
+          IMG_NAME_ARM32V7: ${{ env.DOCKERHUB_APACHE_REPO }}/extensions-all-jvm:arm32v7-${{ env.MVN_VERSION }}
+          IMG_NAME_ARM64V8: ${{ env.DOCKERHUB_APACHE_REPO }}/extensions-all-jvm:arm64v8-${{ env.MVN_VERSION }}
+        run: |
+          cp /usr/bin/{qemu-arm-static,qemu-aarch64-static} .
+          docker build --pull --build-arg BASE_IMAGE=$BASE_IMG_JRE_DEFAULT -t $IMG_NAME_DEFAULT -t $IMG_NAME_AMD64 -f Dockerfile .
+          docker build --pull --build-arg BASE_IMAGE=$BASE_IMG_JRE_ARM32V7 -t $IMG_NAME_ARM32V7 -f arm.Dockerfile .
+          docker build --pull --build-arg BASE_IMAGE=$BASE_IMG_JRE_ARM64V8 -t $IMG_NAME_ARM64V8 -f aarch64.Dockerfile .
+          docker push $IMG_NAME_DEFAULT
+          docker push $IMG_NAME_AMD64
+          docker push $IMG_NAME_ARM32V7
+          docker push $IMG_NAME_ARM64V8
+          docker manifest create $IMG_NAME_DEFAULT $IMG_NAME_AMD64 $IMG_NAME_ARM32V7 $IMG_NAME_ARM64V8
+          docker manifest annotate $IMG_NAME_DEFAULT $IMG_NAME_ARM32V7 --os linux --arch arm
+          docker manifest annotate $IMG_NAME_DEFAULT $IMG_NAME_ARM64V8 --os linux --arch arm64
+          docker manifest push $IMG_NAME_DEFAULT
       - name: Build and Push Docker Image pipeline-elements-all-flink
         working-directory: ./streampipes-pipeline-elements-all-flink
         env:
diff --git a/pom.xml b/pom.xml
index f6dddaa..785073a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,6 +57,7 @@
         <module>streampipes-pipeline-elements-data-simulator</module>
         <module>streampipes-connect-adapters</module>
         <module>streampipes-pipeline-elements-all-flink</module>
+        <module>streampipes-extensions-all-jvm</module>
     </modules>
 
     <properties>
@@ -73,6 +74,7 @@
         <commons-math3.version>3.6.1</commons-math3.version>
         <commons-compress.version>1.18</commons-compress.version>
         <commons-text.version>1.4</commons-text.version>
+        <commons-pool2.version>2.9.0</commons-pool2.version>
         <ditto-client.version>1.0.0</ditto-client.version>
         <data-generator.version>1.4.1</data-generator.version>
         <ddogleg.version>0.16</ddogleg.version>
@@ -487,6 +489,11 @@
                 <version>${commons-math3.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-pool2</artifactId>
+                <version>${commons-pool2.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.flink</groupId>
                 <artifactId>flink-cep_2.11</artifactId>
                 <version>${flink.version}</version>
diff --git a/streampipes-extensions-all-jvm/Dockerfile b/streampipes-extensions-all-jvm/Dockerfile
new file mode 100644
index 0000000..ad05014
--- /dev/null
+++ b/streampipes-extensions-all-jvm/Dockerfile
@@ -0,0 +1,30 @@
+# 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.
+
+ARG BASE_IMAGE=adoptopenjdk/openjdk9-openj9:alpine
+FROM $BASE_IMAGE
+
+ENV CONSUL_LOCATION consul
+
+EXPOSE 8090
+
+# needed pkgs processors-image-processing-jvm
+RUN apk --update add --no-cache \
+    fontconfig \
+    ttf-dejavu
+
+COPY target/streampipes-extensions-all-jvm.jar  /streampipes-extensions-all-jvm.jar
+
+ENTRYPOINT ["java", "-jar", "/streampipes-extensions-all-jvm.jar"]
diff --git a/streampipes-extensions-all-jvm/aarch64.Dockerfile b/streampipes-extensions-all-jvm/aarch64.Dockerfile
new file mode 100644
index 0000000..c012219
--- /dev/null
+++ b/streampipes-extensions-all-jvm/aarch64.Dockerfile
@@ -0,0 +1,26 @@
+# 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.
+
+ARG BASE_IMAGE=arm64v8/openjdk:11-jre-slim
+FROM $BASE_IMAGE
+
+ENV CONSUL_LOCATION consul
+
+EXPOSE 8090
+
+COPY qemu-aarch64-static /usr/bin
+COPY target/streampipes-processors-all-jvm.jar  /streampipes-extensions-all-jvm.jar
+
+ENTRYPOINT ["java", "-jar", "/streampipes-extensions-all-jvm.jar"]
diff --git a/streampipes-extensions-all-jvm/arm.Dockerfile b/streampipes-extensions-all-jvm/arm.Dockerfile
new file mode 100644
index 0000000..6f258e1
--- /dev/null
+++ b/streampipes-extensions-all-jvm/arm.Dockerfile
@@ -0,0 +1,26 @@
+# 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.
+
+ARG BASE_IMAGE=arm32v7/openjdk:11-jre-slim
+FROM $BASE_IMAGE
+
+ENV CONSUL_LOCATION consul
+
+EXPOSE 8090
+
+COPY qemu-arm-static /usr/bin
+COPY target/streampipes-extensions-all-jvm.jar  /streampipes-extensions-all-jvm.jar
+
+ENTRYPOINT ["java", "-jar", "/streampipes-extensions-all-jvm.jar"]
diff --git a/streampipes-extensions-all-jvm/pom.xml b/streampipes-extensions-all-jvm/pom.xml
new file mode 100644
index 0000000..358f0ba
--- /dev/null
+++ b/streampipes-extensions-all-jvm/pom.xml
@@ -0,0 +1,74 @@
+<!--
+  ~ 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.
+  ~
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>streampipes-extensions</artifactId>
+        <groupId>org.apache.streampipes</groupId>
+        <version>0.68.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>streampipes-extensions-all-jvm</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.streampipes</groupId>
+            <artifactId>streampipes-container-extensions</artifactId>
+            <version>0.68.0-SNAPSHOT</version>
+        </dependency>
+        <!-- StreamPipes pipeline elements all (JVM) -->
+            <dependency>
+                <groupId>org.apache.streampipes</groupId>
+                <artifactId>streampipes-pipeline-elements-all-jvm</artifactId>
+                <version>0.68.0-SNAPSHOT</version>
+                <classifier>embed</classifier>
+            </dependency>
+
+        <!-- StreamPipes connect adapters -->
+        <dependency>
+            <groupId>org.apache.streampipes</groupId>
+            <artifactId>streampipes-connect-adapters</artifactId>
+            <version>0.68.0-SNAPSHOT</version>
+            <classifier>embed</classifier>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                        <configuration>
+                            <mainClass>org.apache.streampipes.extensions.all.jvm.AllExtensionsInit</mainClass>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <finalName>streampipes-extensions-all-jvm</finalName>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/AllExtensionsInit.java b/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/AllExtensionsInit.java
new file mode 100644
index 0000000..ec738e7
--- /dev/null
+++ b/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/AllExtensionsInit.java
@@ -0,0 +1,261 @@
+/*
+ * 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.extensions.all.jvm;
+
+import org.apache.streampipes.connect.adapters.coindesk.CoindeskBitcoinAdapter;
+import org.apache.streampipes.connect.adapters.flic.FlicMQTTAdapter;
+import org.apache.streampipes.connect.adapters.gdelt.GdeltAdapter;
+import org.apache.streampipes.connect.adapters.iex.IexCloudNewsAdapter;
+import org.apache.streampipes.connect.adapters.iex.IexCloudStockAdapter;
+import org.apache.streampipes.connect.adapters.image.set.ImageSetAdapter;
+import org.apache.streampipes.connect.adapters.image.stream.ImageStreamAdapter;
+import org.apache.streampipes.connect.adapters.influxdb.InfluxDbSetAdapter;
+import org.apache.streampipes.connect.adapters.influxdb.InfluxDbStreamAdapter;
+import org.apache.streampipes.connect.adapters.iss.IssAdapter;
+import org.apache.streampipes.connect.adapters.mysql.MySqlSetAdapter;
+import org.apache.streampipes.connect.adapters.mysql.MySqlStreamAdapter;
+import org.apache.streampipes.connect.adapters.netio.NetioMQTTAdapter;
+import org.apache.streampipes.connect.adapters.netio.NetioRestAdapter;
+import org.apache.streampipes.connect.adapters.opcua.OpcUaAdapter;
+import org.apache.streampipes.connect.adapters.plc4x.modbus.Plc4xModbusAdapter;
+import org.apache.streampipes.connect.adapters.plc4x.s7.Plc4xS7Adapter;
+import org.apache.streampipes.connect.adapters.ros.RosBridgeAdapter;
+import org.apache.streampipes.connect.adapters.simulator.machine.MachineDataStreamAdapter;
+import org.apache.streampipes.connect.adapters.simulator.random.RandomDataSetAdapter;
+import org.apache.streampipes.connect.adapters.simulator.random.RandomDataStreamAdapter;
+import org.apache.streampipes.connect.adapters.slack.SlackAdapter;
+import org.apache.streampipes.connect.adapters.ti.TISensorTag;
+import org.apache.streampipes.connect.adapters.wikipedia.WikipediaEditedArticlesAdapter;
+import org.apache.streampipes.connect.adapters.wikipedia.WikipediaNewArticlesAdapter;
+import org.apache.streampipes.connect.init.AdapterDeclarerSingleton;
+import org.apache.streampipes.connect.protocol.set.FileProtocol;
+import org.apache.streampipes.connect.protocol.set.HttpProtocol;
+import org.apache.streampipes.connect.protocol.stream.*;
+import org.apache.streampipes.connect.protocol.stream.pulsar.PulsarProtocol;
+import org.apache.streampipes.container.extensions.ExtensionsModelSubmitter;
+import org.apache.streampipes.container.init.DeclarersSingleton;
+import org.apache.streampipes.extensions.all.jvm.config.AllExtensionsConfig;
+import org.apache.streampipes.processors.enricher.jvm.processor.jseval.JSEvalController;
+import org.apache.streampipes.processors.enricher.jvm.processor.sizemeasure.SizeMeasureController;
+import org.apache.streampipes.processors.filters.jvm.processor.compose.ComposeController;
+import org.apache.streampipes.processors.filters.jvm.processor.enrich.MergeByEnrichController;
+import org.apache.streampipes.processors.filters.jvm.processor.limit.RateLimitController;
+import org.apache.streampipes.processors.filters.jvm.processor.merge.MergeByTimeController;
+import org.apache.streampipes.processors.filters.jvm.processor.numericalfilter.NumericalFilterController;
+import org.apache.streampipes.processors.filters.jvm.processor.numericaltextfilter.NumericalTextFilterController;
+import org.apache.streampipes.processors.filters.jvm.processor.projection.ProjectionController;
+import org.apache.streampipes.processors.filters.jvm.processor.textfilter.TextFilterController;
+import org.apache.streampipes.processors.filters.jvm.processor.threshold.ThresholdDetectionController;
+import org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.LatLngToGeoController;
+import org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.SetEpsgController;
+import org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.DistanceCalculatorController;
+import org.apache.streampipes.processors.geo.jvm.processor.geocoder.GoogleMapsGeocodingController;
+import org.apache.streampipes.processors.geo.jvm.processor.revgeocoder.ReverseGeocodingController;
+import org.apache.streampipes.processors.geo.jvm.processor.speed.SpeedCalculatorController;
+import org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.StaticDistanceCalculatorController;
+import org.apache.streampipes.processors.geo.jvm.processor.staticgeocoder.StaticGoogleMapsGeocodingController;
+import org.apache.streampipes.processors.imageprocessing.jvm.processor.genericclassification.GenericImageClassificationController;
+import org.apache.streampipes.processors.imageprocessing.jvm.processor.imagecropper.ImageCropperController;
+import org.apache.streampipes.processors.imageprocessing.jvm.processor.imageenrichment.ImageEnrichmentController;
+import org.apache.streampipes.processors.imageprocessing.jvm.processor.qrreader.QrCodeReaderController;
+import org.apache.streampipes.processors.siddhi.frequency.FrequencyController;
+import org.apache.streampipes.processors.siddhi.frequencychange.FrequencyChangeController;
+import org.apache.streampipes.processors.siddhi.stop.StreamStopController;
+import org.apache.streampipes.processors.siddhi.trend.TrendController;
+import org.apache.streampipes.processors.textmining.jvm.processor.chunker.ChunkerController;
+import org.apache.streampipes.processors.textmining.jvm.processor.language.LanguageDetectionController;
+import org.apache.streampipes.processors.textmining.jvm.processor.namefinder.NameFinderController;
+import org.apache.streampipes.processors.textmining.jvm.processor.partofspeech.PartOfSpeechController;
+import org.apache.streampipes.processors.textmining.jvm.processor.sentencedetection.SentenceDetectionController;
+import org.apache.streampipes.processors.textmining.jvm.processor.tokenizer.TokenizerController;
+import org.apache.streampipes.processors.transformation.jvm.processor.array.count.CountArrayController;
+import org.apache.streampipes.processors.transformation.jvm.processor.array.split.SplitArrayController;
+import org.apache.streampipes.processors.transformation.jvm.processor.booloperator.counter.BooleanCounterController;
+import org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.SignalEdgeFilterController;
+import org.apache.streampipes.processors.transformation.jvm.processor.booloperator.inverter.BooleanInverterController;
+import org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.BooleanToStateController;
+import org.apache.streampipes.processors.transformation.jvm.processor.booloperator.timekeeping.BooleanTimekeepingController;
+import org.apache.streampipes.processors.transformation.jvm.processor.booloperator.timer.BooleanTimerController;
+import org.apache.streampipes.processors.transformation.jvm.processor.csvmetadata.CsvMetadataEnrichmentController;
+import org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.StateBufferController;
+import org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.StateBufferLabelerController;
+import org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.NumberLabelerController;
+import org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.counter.StringCounterController;
+import org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.StringToStateController;
+import org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.timer.StringTimerController;
+import org.apache.streampipes.processors.transformation.jvm.processor.task.TaskDurationController;
+import org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.TimestampExtractorController;
+import org.apache.streampipes.processors.transformation.jvm.processor.transformtoboolean.TransformToBooleanController;
+import org.apache.streampipes.processors.transformation.jvm.processor.value.change.ChangedValueDetectionController;
+import org.apache.streampipes.processors.transformation.jvm.processor.value.duration.CalculateDurationController;
+import org.apache.streampipes.sinks.brokers.jvm.bufferrest.BufferRestController;
+import org.apache.streampipes.sinks.brokers.jvm.jms.JmsController;
+import org.apache.streampipes.sinks.brokers.jvm.kafka.KafkaController;
+import org.apache.streampipes.sinks.brokers.jvm.mqtt.MqttController;
+import org.apache.streampipes.sinks.brokers.jvm.pulsar.PulsarController;
+import org.apache.streampipes.sinks.brokers.jvm.rabbitmq.RabbitMqController;
+import org.apache.streampipes.sinks.brokers.jvm.rest.RestController;
+import org.apache.streampipes.sinks.databases.jvm.couchdb.CouchDbController;
+import org.apache.streampipes.sinks.databases.jvm.ditto.DittoController;
+import org.apache.streampipes.sinks.databases.jvm.influxdb.InfluxDbController;
+import org.apache.streampipes.sinks.databases.jvm.iotdb.IotDbController;
+import org.apache.streampipes.sinks.databases.jvm.mysql.MysqlController;
+import org.apache.streampipes.sinks.databases.jvm.opcua.UpcUaController;
+import org.apache.streampipes.sinks.databases.jvm.postgresql.PostgreSqlController;
+import org.apache.streampipes.sinks.databases.jvm.redis.RedisController;
+import org.apache.streampipes.sinks.internal.jvm.dashboard.DashboardController;
+import org.apache.streampipes.sinks.internal.jvm.datalake.DataLakeController;
+import org.apache.streampipes.sinks.internal.jvm.notification.NotificationController;
+import org.apache.streampipes.sinks.notifications.jvm.email.EmailController;
+import org.apache.streampipes.sinks.notifications.jvm.onesignal.OneSignalController;
+import org.apache.streampipes.sinks.notifications.jvm.slack.SlackNotificationController;
+import org.apache.streampipes.sinks.notifications.jvm.telegram.TelegramController;
+
+
+public class AllExtensionsInit extends ExtensionsModelSubmitter {
+
+    public static void main (String[] args) {
+        DeclarersSingleton.getInstance()
+                // streampipes-processors-enricher-jvm
+                .add(new SizeMeasureController())
+                .add(new JSEvalController())
+                // streampipes-processors-filters-jvm
+                .add(new NumericalFilterController())
+                .add(new ThresholdDetectionController())
+                .add(new TextFilterController())
+                .add(new ProjectionController())
+                .add(new MergeByEnrichController())
+                .add(new MergeByTimeController())
+                .add(new RateLimitController())
+                .add(new ComposeController())
+                .add(new NumericalTextFilterController())
+                // streampipes-processors-filers-siddhi
+                .add(new TrendController())
+                .add(new StreamStopController())
+                .add(new FrequencyController())
+                .add(new FrequencyChangeController())
+                // streampipes-processors-geo-jvm
+                .add(new DistanceCalculatorController())
+                .add(new GoogleMapsGeocodingController())
+                .add(new StaticGoogleMapsGeocodingController())
+                .add(new ReverseGeocodingController())
+                .add(new SetEpsgController())
+                .add(new LatLngToGeoController())
+                .add(new SpeedCalculatorController())
+                .add(new StaticDistanceCalculatorController())
+                // streampipes-processors-image-processing-jvm
+                .add(new ImageEnrichmentController())
+                .add(new ImageCropperController())
+                .add(new QrCodeReaderController())
+                .add(new GenericImageClassificationController())
+                // streampipes-processors-text-mining-jvm
+                .add(new LanguageDetectionController())
+                .add(new TokenizerController())
+                .add(new PartOfSpeechController())
+                .add(new ChunkerController())
+                .add(new NameFinderController())
+                .add(new SentenceDetectionController())
+                // streampipes-processors-transformation-jvm
+                .add(new CountArrayController())
+                .add(new SplitArrayController())
+                .add(new CalculateDurationController())
+                .add(new ChangedValueDetectionController())
+                .add(new TimestampExtractorController())
+                .add(new BooleanCounterController())
+                .add(new BooleanInverterController())
+                .add(new BooleanTimekeepingController())
+                .add(new BooleanTimerController())
+                .add(new StateBufferController())
+                .add(new StateBufferLabelerController())
+                .add(new StringToStateController())
+                .add(new SignalEdgeFilterController())
+                .add(new BooleanToStateController())
+                .add(new CsvMetadataEnrichmentController())
+                .add(new TaskDurationController())
+                .add(new BooleanInverterController())
+                .add(new TransformToBooleanController())
+                .add(new StringCounterController())
+                .add(new StringTimerController())
+                .add(new NumberLabelerController())
+                // streampipes-sinks-brokers-jvm
+                .add(new KafkaController())
+                .add(new JmsController())
+                .add(new RestController())
+                .add(new BufferRestController())
+                .add(new RabbitMqController())
+                .add(new PulsarController())
+                .add(new MqttController())
+                // streampipes-sinks-databases-jvm
+                .add(new CouchDbController())
+                .add(new InfluxDbController())
+                .add(new UpcUaController())
+                .add(new PostgreSqlController())
+                .add(new IotDbController())
+                .add(new DittoController())
+                .add(new RedisController())
+                .add(new MysqlController())
+                // streampipes-sinks-internal-jvm
+                .add(new NotificationController())
+                .add(new DataLakeController())
+                .add(new DashboardController())
+                // streampipes-sinks-notifications-jvm
+                .add(new EmailController())
+                .add(new TelegramController())
+                .add(new OneSignalController())
+                .add(new SlackNotificationController());
+
+        AdapterDeclarerSingleton.getInstance()
+                // Protocols
+                .add(new FileProtocol())
+                .add(new HttpProtocol())
+                .add(new FileStreamProtocol())
+                .add(new HDFSProtocol())
+                .add(new KafkaProtocol())
+                .add(new MqttProtocol())
+                .add(new HttpStreamProtocol())
+                .add(new PulsarProtocol())
+                // Specific Adapters
+                .add(new GdeltAdapter())
+                .add(new CoindeskBitcoinAdapter())
+                .add(new IexCloudNewsAdapter())
+                .add(new IexCloudStockAdapter())
+                .add(new MySqlStreamAdapter())
+                .add(new MySqlSetAdapter())
+                .add(new RandomDataSetAdapter())
+                .add(new RandomDataStreamAdapter())
+                .add(new MachineDataStreamAdapter())
+                .add(new SlackAdapter())
+                .add(new WikipediaEditedArticlesAdapter())
+                .add(new WikipediaNewArticlesAdapter())
+                .add(new RosBridgeAdapter())
+                .add(new OpcUaAdapter())
+                .add(new InfluxDbStreamAdapter())
+                .add(new InfluxDbSetAdapter())
+                .add(new TISensorTag())
+                .add(new NetioRestAdapter())
+                .add(new NetioMQTTAdapter())
+                .add(new Plc4xS7Adapter())
+                .add(new Plc4xModbusAdapter())
+                .add(new ImageStreamAdapter())
+                .add(new ImageSetAdapter())
+                .add(new IssAdapter())
+                .add(new FlicMQTTAdapter());
+
+        new AllExtensionsInit().init(AllExtensionsConfig.INSTANCE);
+    }
+}
diff --git a/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/AllExtensionsConfig.java b/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/AllExtensionsConfig.java
new file mode 100644
index 0000000..8156a67
--- /dev/null
+++ b/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/AllExtensionsConfig.java
@@ -0,0 +1,78 @@
+/*
+ * 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.extensions.all.jvm.config;
+
+import org.apache.streampipes.config.SpConfig;
+import org.apache.streampipes.container.model.ExtensionsConfig;
+
+public enum AllExtensionsConfig implements ExtensionsConfig {
+    INSTANCE;
+
+    private final SpConfig peConfig;
+    private final SpConfig adapterConfig;
+    private final static String PE_ID = "pe/org.apache.streampipes.extensions.bundle";
+    private final static String SERVICE_NAME = "StreamPipes Extensions (Bundle)";
+    private final static String SERVICE_CONTAINER_NAME = "extensions";
+
+    AllExtensionsConfig() {
+        // TODO: harmonize config
+        peConfig = SpConfig.getSpConfig(PE_ID);
+        adapterConfig = SpConfig.getSpConfig("connect-worker-main");
+
+        peConfig.register(ConfigKeys.HOST, SERVICE_CONTAINER_NAME, "Host for extensions");
+        peConfig.register(ConfigKeys.PORT, 8090, "Port for extensions");
+        peConfig.register(ConfigKeys.SERVICE_NAME_KEY, SERVICE_NAME, "Service name");
+
+        adapterConfig.register(ConfigKeys.KAFKA_HOST, "kafka", "Hostname for backend service for kafka");
+        adapterConfig.register(ConfigKeys.KAFKA_PORT, 9092, "Port for backend service for kafka");
+        adapterConfig.register(ConfigKeys.CONNECT_CONTAINER_WORKER_PORT, 8090, "The port of the connect container");
+        adapterConfig.register(ConfigKeys.CONNECT_CONTAINER_WORKER_HOST, SERVICE_CONTAINER_NAME, "The hostname of the connect container");
+        adapterConfig.register(ConfigKeys.BACKEND_HOST, "backend", "The host of the backend to register the worker");
+        adapterConfig.register(ConfigKeys.BACKEND_PORT, 8030, "The port of the backend to register the worker");
+    }
+
+    @Override
+    public String getHost() {
+        return peConfig.getString(ConfigKeys.HOST);
+    }
+
+    @Override
+    public int getPort() {
+        return peConfig.getInteger(ConfigKeys.PORT);
+    }
+
+    @Override
+    public String getId() {
+        return PE_ID;
+    }
+
+    @Override
+    public String getName() {
+        return peConfig.getString(ConfigKeys.SERVICE_NAME_KEY);
+    }
+
+    @Override
+    public String getBackendHost() {
+        return adapterConfig.getString(ConfigKeys.BACKEND_HOST);
+    }
+
+    @Override
+    public int getBackendPort() {
+        return adapterConfig.getInteger(ConfigKeys.BACKEND_PORT);
+    }
+}
diff --git a/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/ConfigKeys.java b/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/ConfigKeys.java
new file mode 100644
index 0000000..6728212
--- /dev/null
+++ b/streampipes-extensions-all-jvm/src/main/java/org/apache/streampipes/extensions/all/jvm/config/ConfigKeys.java
@@ -0,0 +1,30 @@
+/*
+ * 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.extensions.all.jvm.config;
+
+public class ConfigKeys {
+    final static String HOST = "SP_HOST";
+    final static String PORT = "SP_PORT";
+    final static String SERVICE_NAME_KEY = "SP_SERVICE_NAME";
+    final static String KAFKA_HOST = "SP_KAFKA_HOST";
+    final static String KAFKA_PORT = "SP_KAFKA_PORT";
+    final static String CONNECT_CONTAINER_WORKER_HOST = "SP_CONNECT_CONTAINER_WORKER_HOST";
+    final static String CONNECT_CONTAINER_WORKER_PORT = "SP_CONNECT_CONTAINER_WORKER_PORT";
+    final static String BACKEND_HOST = "SP_BACKEND_HOST";
+    final static String BACKEND_PORT = "SP_BACKEND_PORT";
+}
diff --git a/streampipes-pipeline-elements-all-jvm/pom.xml b/streampipes-pipeline-elements-all-jvm/pom.xml
index 749c067..f345527 100644
--- a/streampipes-pipeline-elements-all-jvm/pom.xml
+++ b/streampipes-pipeline-elements-all-jvm/pom.xml
@@ -109,6 +109,21 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <classifier>embed</classifier>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <executions>
diff --git a/streampipes-sinks-internal-jvm/pom.xml b/streampipes-sinks-internal-jvm/pom.xml
index 06b2316..d822a11 100644
--- a/streampipes-sinks-internal-jvm/pom.xml
+++ b/streampipes-sinks-internal-jvm/pom.xml
@@ -96,6 +96,10 @@
             <groupId>com.squareup.okio</groupId>
             <artifactId>okio</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-pool2</artifactId>
+        </dependency>
     </dependencies>
 
     <build>


[incubator-streampipes-extensions] 02/02: Merge branch 'bundle' into dev

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

wiener pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes-extensions.git

commit f9344932e477305c7a62ee6070ee1735eade985b
Merge: a64a62a d788561
Author: Patrick Wiener <wi...@fzi.de>
AuthorDate: Tue Dec 1 22:47:20 2020 +0100

    Merge branch 'bundle' into dev

 .github/workflows/build.yml                        |  20 ++
 pom.xml                                            |   7 +
 streampipes-extensions-all-jvm/Dockerfile          |  30 +++
 streampipes-extensions-all-jvm/aarch64.Dockerfile  |  26 ++
 streampipes-extensions-all-jvm/arm.Dockerfile      |  26 ++
 streampipes-extensions-all-jvm/pom.xml             |  74 ++++++
 .../extensions/all/jvm/AllExtensionsInit.java      | 261 +++++++++++++++++++++
 .../all/jvm/config/AllExtensionsConfig.java        |  78 ++++++
 .../extensions/all/jvm/config/ConfigKeys.java      |  30 +++
 streampipes-pipeline-elements-all-jvm/pom.xml      |  15 ++
 streampipes-sinks-internal-jvm/pom.xml             |   4 +
 11 files changed, 571 insertions(+)

diff --cc pom.xml
index 8f30a53,785073a..e33d811
--- a/pom.xml
+++ b/pom.xml
@@@ -57,7 -57,7 +57,8 @@@
          <module>streampipes-pipeline-elements-data-simulator</module>
          <module>streampipes-connect-adapters</module>
          <module>streampipes-pipeline-elements-all-flink</module>
 +        <module>streampipes-processors-change-detection-jvm</module>
+         <module>streampipes-extensions-all-jvm</module>
      </modules>
  
      <properties>