This is an automated email from the ASF dual-hosted git repository.
zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 06a37b3ba refactor: include version in all data sink descriptions as
required for migrations (#2260)
06a37b3ba is described below
commit 06a37b3bafff0d44df5c3523a00e39eac129ee3a
Author: Tim <[email protected]>
AuthorDate: Fri Dec 1 20:17:04 2023 +0100
refactor: include version in all data sink descriptions as required for
migrations (#2260)
---
.../connectors/influx/sink/InfluxDbSink.java | 2 +-
.../connectors/kafka/sink/KafkaPublishSink.java | 2 +-
.../connectors/mqtt/sink/MqttPublisherSink.java | 2 +-
.../extensions/connectors/nats/sink/NatsSink.java | 2 +-
.../connectors/opcua/sink/OpcUaSink.java | 2 +-
.../pulsar/sink/PulsarPublisherSink.java | 2 +-
.../rocketmq/sink/RocketMQPublisherSink.java | 2 +-
.../tubemq/sink/TubeMQPublisherSink.java | 12 +++--
.../jvm/bufferrest/BufferRestPublisherSink.java | 3 +-
.../sinks/brokers/jvm/jms/JmsPublisherSink.java | 2 +-
.../jvm/rabbitmq/RabbitMqPublisherSink.java | 2 +-
.../sinks/brokers/jvm/rest/RestSink.java | 2 +-
.../brokers/jvm/websocket/WebsocketServerSink.java | 2 +-
.../sinks/databases/jvm/couchdb/CouchDbSink.java | 2 +-
.../sinks/databases/jvm/ditto/DittoSink.java | 3 +-
.../sinks/databases/jvm/iotdb/IotDbSink.java | 21 +++++---
.../databases/jvm/postgresql/PostgreSqlSink.java | 3 +-
.../sinks/databases/jvm/redis/RedisSink.java | 3 +-
.../sinks/internal/jvm/datalake/DataLakeSink.java | 3 +-
.../jvm/notification/NotificationProducer.java | 3 +-
.../sinks/notifications/jvm/email/EmailSink.java | 3 +-
.../notifications/jvm/msteams/MSTeamsSink.java | 63 +++++++++++-----------
.../notifications/jvm/onesignal/OneSignalSink.java | 3 +-
.../jvm/slack/SlackNotificationSink.java | 3 +-
.../notifications/jvm/telegram/TelegramSink.java | 3 +-
.../streampipes/sdk/builder/DataSinkBuilder.java | 43 ++++++++++++---
26 files changed, 121 insertions(+), 72 deletions(-)
diff --git
a/streampipes-extensions/streampipes-connectors-influx/src/main/java/org/apache/streampipes/extensions/connectors/influx/sink/InfluxDbSink.java
b/streampipes-extensions/streampipes-connectors-influx/src/main/java/org/apache/streampipes/extensions/connectors/influx/sink/InfluxDbSink.java
index 6e169a364..5ddee88e4 100644
---
a/streampipes-extensions/streampipes-connectors-influx/src/main/java/org/apache/streampipes/extensions/connectors/influx/sink/InfluxDbSink.java
+++
b/streampipes-extensions/streampipes-connectors-influx/src/main/java/org/apache/streampipes/extensions/connectors/influx/sink/InfluxDbSink.java
@@ -92,7 +92,7 @@ public class InfluxDbSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- var builder =
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.influxdb")
+ var builder =
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.influxdb", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.DATABASE);
diff --git
a/streampipes-extensions/streampipes-connectors-kafka/src/main/java/org/apache/streampipes/extensions/connectors/kafka/sink/KafkaPublishSink.java
b/streampipes-extensions/streampipes-connectors-kafka/src/main/java/org/apache/streampipes/extensions/connectors/kafka/sink/KafkaPublishSink.java
index aaefccbc9..227be1e7a 100644
---
a/streampipes-extensions/streampipes-connectors-kafka/src/main/java/org/apache/streampipes/extensions/connectors/kafka/sink/KafkaPublishSink.java
+++
b/streampipes-extensions/streampipes-connectors-kafka/src/main/java/org/apache/streampipes/extensions/connectors/kafka/sink/KafkaPublishSink.java
@@ -59,7 +59,7 @@ public class KafkaPublishSink implements IStreamPipesDataSink
{
public IDataSinkConfiguration declareConfig() {
return DataSinkConfiguration.create(
KafkaPublishSink::new,
-
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.kafka")
+
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.kafka", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-connectors-mqtt/src/main/java/org/apache/streampipes/extensions/connectors/mqtt/sink/MqttPublisherSink.java
b/streampipes-extensions/streampipes-connectors-mqtt/src/main/java/org/apache/streampipes/extensions/connectors/mqtt/sink/MqttPublisherSink.java
index c17368460..d8af7b0a3 100644
---
a/streampipes-extensions/streampipes-connectors-mqtt/src/main/java/org/apache/streampipes/extensions/connectors/mqtt/sink/MqttPublisherSink.java
+++
b/streampipes-extensions/streampipes-connectors-mqtt/src/main/java/org/apache/streampipes/extensions/connectors/mqtt/sink/MqttPublisherSink.java
@@ -74,7 +74,7 @@ public class MqttPublisherSink implements
IStreamPipesDataSink {
public IDataSinkConfiguration declareConfig() {
return DataSinkConfiguration.create(
MqttPublisherSink::new,
- DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.mqtt")
+
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.mqtt", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-connectors-nats/src/main/java/org/apache/streampipes/extensions/connectors/nats/sink/NatsSink.java
b/streampipes-extensions/streampipes-connectors-nats/src/main/java/org/apache/streampipes/extensions/connectors/nats/sink/NatsSink.java
index 4c55c6826..47410a633 100644
---
a/streampipes-extensions/streampipes-connectors-nats/src/main/java/org/apache/streampipes/extensions/connectors/nats/sink/NatsSink.java
+++
b/streampipes-extensions/streampipes-connectors-nats/src/main/java/org/apache/streampipes/extensions/connectors/nats/sink/NatsSink.java
@@ -79,7 +79,7 @@ public class NatsSink implements IStreamPipesDataSink {
public IDataSinkConfiguration declareConfig() {
return DataSinkConfiguration.create(
NatsSink::new,
- DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.nats")
+
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.nats", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUaSink.java
b/streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUaSink.java
index c58c8cab0..bbe6a2900 100644
---
a/streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUaSink.java
+++
b/streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUaSink.java
@@ -49,7 +49,7 @@ public class OpcUaSink implements IStreamPipesDataSink,
SupportsRuntimeConfig {
@Override
public IDataSinkConfiguration declareConfig() {
- var builder =
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.opcua")
+ var builder =
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.opcua", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.FORWARD)
diff --git
a/streampipes-extensions/streampipes-connectors-pulsar/src/main/java/org/apache/streampipes/extensions/connectors/pulsar/sink/PulsarPublisherSink.java
b/streampipes-extensions/streampipes-connectors-pulsar/src/main/java/org/apache/streampipes/extensions/connectors/pulsar/sink/PulsarPublisherSink.java
index 99eeffb4a..d79aa92e3 100644
---
a/streampipes-extensions/streampipes-connectors-pulsar/src/main/java/org/apache/streampipes/extensions/connectors/pulsar/sink/PulsarPublisherSink.java
+++
b/streampipes-extensions/streampipes-connectors-pulsar/src/main/java/org/apache/streampipes/extensions/connectors/pulsar/sink/PulsarPublisherSink.java
@@ -69,7 +69,7 @@ public class PulsarPublisherSink implements
IStreamPipesDataSink {
public IDataSinkConfiguration declareConfig() {
return DataSinkConfiguration.create(
PulsarPublisherSink::new,
-
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.pulsar")
+
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.pulsar", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-connectors-rocketmq/src/main/java/org/apache/streampipes/extensions/connectors/rocketmq/sink/RocketMQPublisherSink.java
b/streampipes-extensions/streampipes-connectors-rocketmq/src/main/java/org/apache/streampipes/extensions/connectors/rocketmq/sink/RocketMQPublisherSink.java
index f27ad0380..efc455042 100644
---
a/streampipes-extensions/streampipes-connectors-rocketmq/src/main/java/org/apache/streampipes/extensions/connectors/rocketmq/sink/RocketMQPublisherSink.java
+++
b/streampipes-extensions/streampipes-connectors-rocketmq/src/main/java/org/apache/streampipes/extensions/connectors/rocketmq/sink/RocketMQPublisherSink.java
@@ -70,7 +70,7 @@ public class RocketMQPublisherSink implements
IStreamPipesDataSink {
public IDataSinkConfiguration declareConfig() {
return DataSinkConfiguration.create(
RocketMQPublisherSink::new,
-
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.rocketmq")
+
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.rocketmq", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-connectors-tubemq/src/main/java/org/apache/streampipes/extensions/connectors/tubemq/sink/TubeMQPublisherSink.java
b/streampipes-extensions/streampipes-connectors-tubemq/src/main/java/org/apache/streampipes/extensions/connectors/tubemq/sink/TubeMQPublisherSink.java
index 5c71ffa6a..aef50bc6b 100644
---
a/streampipes-extensions/streampipes-connectors-tubemq/src/main/java/org/apache/streampipes/extensions/connectors/tubemq/sink/TubeMQPublisherSink.java
+++
b/streampipes-extensions/streampipes-connectors-tubemq/src/main/java/org/apache/streampipes/extensions/connectors/tubemq/sink/TubeMQPublisherSink.java
@@ -59,11 +59,13 @@ public class TubeMQPublisherSink implements
IStreamPipesDataSink {
public IDataSinkConfiguration declareConfig() {
return DataSinkConfiguration.create(
TubeMQPublisherSink::new,
-
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.tubemq").category(DataSinkType.MESSAGING)
- .withLocales(Locales.EN).withAssets(Assets.DOCUMENTATION,
Assets.ICON)
-
.requiredStream(StreamRequirementsBuilder.create().requiredProperty(EpRequirements.anyProperty()).build())
-
.requiredTextParameter(Labels.withId(MASTER_HOST_AND_PORT_KEY)).requiredTextParameter(Labels.withId(TOPIC_KEY))
- .build()
+ DataSinkBuilder
+ .create("org.apache.streampipes.sinks.brokers.jvm.tubemq", 0)
+ .category(DataSinkType.MESSAGING)
+ .withLocales(Locales.EN).withAssets(Assets.DOCUMENTATION,
Assets.ICON)
+
.requiredStream(StreamRequirementsBuilder.create().requiredProperty(EpRequirements.anyProperty()).build())
+
.requiredTextParameter(Labels.withId(MASTER_HOST_AND_PORT_KEY)).requiredTextParameter(Labels.withId(TOPIC_KEY))
+ .build()
);
}
diff --git
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestPublisherSink.java
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestPublisherSink.java
index 24d1267b2..aea49f3ab 100644
---
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestPublisherSink.java
+++
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestPublisherSink.java
@@ -62,7 +62,8 @@ public class BufferRestPublisherSink extends
StreamPipesDataSink implements Buff
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.bufferrest")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.brokers.jvm.bufferrest", 0)
.category(DataSinkType.NOTIFICATION)
.withLocales(Locales.EN)
.requiredStream(StreamRequirementsBuilder
diff --git
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsPublisherSink.java
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsPublisherSink.java
index e41326bd5..c9808048e 100644
---
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsPublisherSink.java
+++
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsPublisherSink.java
@@ -49,7 +49,7 @@ public class JmsPublisherSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.jms")
+ return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.jms", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqPublisherSink.java
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqPublisherSink.java
index 518498b1d..88792e48d 100644
---
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqPublisherSink.java
+++
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqPublisherSink.java
@@ -55,7 +55,7 @@ public class RabbitMqPublisherSink extends
StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.rabbitmq")
+ return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.rabbitmq", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestSink.java
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestSink.java
index 9449b80b3..af77c8ed1 100644
---
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestSink.java
+++
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestSink.java
@@ -52,7 +52,7 @@ public class RestSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.rest")
+ return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.rest", 0)
.category(DataSinkType.FORWARD)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION)
diff --git
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/websocket/WebsocketServerSink.java
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/websocket/WebsocketServerSink.java
index c48711887..d4b4aaae3 100644
---
a/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/websocket/WebsocketServerSink.java
+++
b/streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/websocket/WebsocketServerSink.java
@@ -44,7 +44,7 @@ public class WebsocketServerSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.websocket")
+ return
DataSinkBuilder.create("org.apache.streampipes.sinks.brokers.jvm.websocket", 0)
.category(DataSinkType.MESSAGING)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbSink.java
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbSink.java
index 38b01cf92..3c080040d 100644
---
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbSink.java
+++
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbSink.java
@@ -48,7 +48,7 @@ public class CouchDbSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.couchdb")
+ return
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.couchdb", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.DATABASE)
diff --git
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoSink.java
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoSink.java
index 6d7cc3c51..5cc9a282c 100644
---
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoSink.java
+++
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoSink.java
@@ -71,7 +71,8 @@ public class DittoSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.ditto")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.databases.ditto", 0)
.category(DataSinkType.FORWARD)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
diff --git
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbSink.java
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbSink.java
index 5d0093ead..d326376c1 100644
---
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbSink.java
+++
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbSink.java
@@ -74,14 +74,23 @@ public class IotDbSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.iotdb").withLocales(Locales.EN)
- .withAssets(Assets.DOCUMENTATION,
Assets.ICON).category(DataSinkType.DATABASE).requiredStream(
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.databases.jvm.iotdb", 0)
+ .withLocales(Locales.EN)
+ .withAssets(Assets.DOCUMENTATION, Assets.ICON).
+ category(DataSinkType.DATABASE)
+ .requiredStream(
StreamRequirementsBuilder.create()
.requiredPropertyWithUnaryMapping(EpRequirements.timestampReq(),
Labels.withId(TIMESTAMP_MAPPING_KEY),
-
PropertyScope.NONE).build()).requiredTextParameter(Labels.withId(HOST_KEY))
- .requiredIntegerParameter(Labels.withId(PORT_KEY),
6667).requiredTextParameter(Labels.withId(USER_KEY), "root")
-
.requiredSecret(Labels.withId(PASSWORD_KEY)).requiredTextParameter(Labels.withId(DATABASE_KEY))
- .requiredTextParameter(Labels.withId(DEVICE_KEY)).build();
+ PropertyScope.NONE).build()
+ )
+ .requiredTextParameter(Labels.withId(HOST_KEY))
+ .requiredIntegerParameter(Labels.withId(PORT_KEY), 6667)
+ .requiredTextParameter(Labels.withId(USER_KEY), "root")
+ .requiredSecret(Labels.withId(PASSWORD_KEY))
+ .requiredTextParameter(Labels.withId(DATABASE_KEY))
+ .requiredTextParameter(Labels.withId(DEVICE_KEY))
+ .build();
}
@Override
diff --git
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/postgresql/PostgreSqlSink.java
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/postgresql/PostgreSqlSink.java
index 7f8856f7f..fe8f96a57 100644
---
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/postgresql/PostgreSqlSink.java
+++
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/postgresql/PostgreSqlSink.java
@@ -50,7 +50,8 @@ public class PostgreSqlSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.postgresql")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.databases.jvm.postgresql", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.DATABASE)
diff --git
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/redis/RedisSink.java
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/redis/RedisSink.java
index 6cda27151..9c0f25482 100644
---
a/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/redis/RedisSink.java
+++
b/streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/redis/RedisSink.java
@@ -64,7 +64,8 @@ public class RedisSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.databases.jvm.redis")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.databases.jvm.redis", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.DATABASE)
diff --git
a/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeSink.java
b/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeSink.java
index 23557e7d7..82d8bf2b5 100644
---
a/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeSink.java
+++
b/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeSink.java
@@ -48,7 +48,8 @@ public class DataLakeSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.internal.jvm.datalake")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.internal.jvm.datalake", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.INTERNAL)
diff --git
a/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/notification/NotificationProducer.java
b/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/notification/NotificationProducer.java
index 4ec5efc87..07d6b4ba5 100644
---
a/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/notification/NotificationProducer.java
+++
b/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/notification/NotificationProducer.java
@@ -106,7 +106,8 @@ public class NotificationProducer extends
StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.internal.jvm.notification")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.internal.jvm.notification", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.INTERNAL, DataSinkType.NOTIFICATION)
diff --git
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailSink.java
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailSink.java
index c41436fd2..b3f217b32 100644
---
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailSink.java
+++
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailSink.java
@@ -55,7 +55,8 @@ public class EmailSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.notifications.jvm.email")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.notifications.jvm.email", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.NOTIFICATION)
diff --git
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/msteams/MSTeamsSink.java
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/msteams/MSTeamsSink.java
index 2556d4ecd..286941f09 100644
---
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/msteams/MSTeamsSink.java
+++
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/msteams/MSTeamsSink.java
@@ -87,37 +87,38 @@ public class MSTeamsSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.notifications.jvm.msteams")
- .withLocales(Locales.EN)
- .withAssets(Assets.DOCUMENTATION, Assets.ICON)
- .category(DataSinkType.NOTIFICATION)
- .requiredStream(
- StreamRequirementsBuilder
- .create()
- .requiredProperty(EpRequirements.anyProperty())
- .build()
- )
- .requiredSecret(Labels.withId(KEY_WEBHOOK_URL))
- .requiredAlternatives(
- Labels.withId(KEY_MESSAGE_TYPE_ALTERNATIVES),
- Alternatives.from(
- Labels.withId(KEY_MESSAGE_SIMPLE),
- StaticProperties.stringFreeTextProperty(
- Labels.withId(KEY_MESSAGE_SIMPLE_CONTENT),
- true,
- true
- ),
- true),
- Alternatives.from(
- Labels.withId(KEY_MESSAGE_ADVANCED),
- StaticProperties.stringFreeTextProperty(
-
Labels.withId(KEY_MESSAGE_ADVANCED_CONTENT),
- true,
- true
- )
- )
- )
- .build();
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.notifications.jvm.msteams", 0)
+ .withLocales(Locales.EN)
+ .withAssets(Assets.DOCUMENTATION, Assets.ICON)
+ .category(DataSinkType.NOTIFICATION)
+ .requiredStream(
+ StreamRequirementsBuilder
+ .create()
+ .requiredProperty(EpRequirements.anyProperty())
+ .build()
+ )
+ .requiredSecret(Labels.withId(KEY_WEBHOOK_URL))
+ .requiredAlternatives(
+ Labels.withId(KEY_MESSAGE_TYPE_ALTERNATIVES),
+ Alternatives.from(
+ Labels.withId(KEY_MESSAGE_SIMPLE),
+ StaticProperties.stringFreeTextProperty(
+ Labels.withId(KEY_MESSAGE_SIMPLE_CONTENT),
+ true,
+ true
+ ),
+ true),
+ Alternatives.from(
+ Labels.withId(KEY_MESSAGE_ADVANCED),
+ StaticProperties.stringFreeTextProperty(
+ Labels.withId(KEY_MESSAGE_ADVANCED_CONTENT),
+ true,
+ true
+ )
+ )
+ )
+ .build();
}
@Override
diff --git
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalSink.java
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalSink.java
index ea3a317c3..e02ee6a25 100644
---
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalSink.java
+++
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalSink.java
@@ -54,7 +54,8 @@ public class OneSignalSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.notifications.jvm.onesignal")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.notifications.jvm.onesignal", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.NOTIFICATION)
diff --git
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationSink.java
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationSink.java
index 2cdc611af..a5b4093f7 100644
---
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationSink.java
+++
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationSink.java
@@ -58,7 +58,8 @@ public class SlackNotificationSink extends
StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.notifications.jvm.slack")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.notifications.jvm.slack", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.NOTIFICATION)
diff --git
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramSink.java
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramSink.java
index 73edd3eb1..79bf95632 100644
---
a/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramSink.java
+++
b/streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramSink.java
@@ -58,7 +58,8 @@ public class TelegramSink extends StreamPipesDataSink {
@Override
public DataSinkDescription declareModel() {
- return
DataSinkBuilder.create("org.apache.streampipes.sinks.notifications.jvm.telegram")
+ return DataSinkBuilder
+ .create("org.apache.streampipes.sinks.notifications.jvm.telegram", 0)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.category(DataSinkType.NOTIFICATION)
diff --git
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/DataSinkBuilder.java
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/DataSinkBuilder.java
index 7e2e252db..1480f6c13 100644
---
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/DataSinkBuilder.java
+++
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/DataSinkBuilder.java
@@ -27,36 +27,63 @@ import java.util.stream.Collectors;
public class DataSinkBuilder extends
AbstractProcessingElementBuilder<DataSinkBuilder, DataSinkDescription> {
- protected DataSinkBuilder(String id, String label, String description) {
+ protected DataSinkBuilder(
+ String id,
+ String label,
+ String description,
+ int version
+ ) {
super(id, label, description, new DataSinkDescription());
+ this.elementDescription.setVersion(version);
}
- protected DataSinkBuilder(String id) {
+ protected DataSinkBuilder(
+ String id,
+ int version
+ ) {
super(id, new DataSinkDescription());
+ this.elementDescription.setVersion(version);
}
/**
* Creates a new data sink using the builder pattern.
- *
+ * @deprecated
+ * This method is no longer recommend since we rely on a version for
migration purposes.
+ * <p> Please adopt {@link #create(String, int)} instead.
* @param id A unique identifier of the new element, e.g.,
com.mycompany.sink.mynewdatasink
* @param label A human-readable name of the element.
* Will later be shown as the element name in the
StreamPipes UI.
* @param description A human-readable description of the element.
*/
+ @Deprecated(since = "0.93.0", forRemoval = true)
public static DataSinkBuilder create(String id, String label, String
description) {
- return new DataSinkBuilder(id, label, description);
+ return new DataSinkBuilder(id, label, description, 0);
}
/**
- * Creates a new data sink using the builder pattern. If no label and
description is given
- * for an element,
+ * Creates a new data sink using the builder pattern.
* {@link
org.apache.streampipes.sdk.builder.AbstractProcessingElementBuilder#withLocales(Locales...)}
- * must be called.
+ * must be called, to provide a label and description.
+ * @deprecated
+ * This method is no longer recommend since we rely on a version for
migration purposes.
+ * <p> Please adopt {@link #create(String, int)} instead.
*
* @param id A unique identifier of the new element, e.g.,
com.mycompany.sink.mynewdatasink
*/
+ @Deprecated(since = "0.93.0", forRemoval = true)
public static DataSinkBuilder create(String id) {
- return new DataSinkBuilder(id);
+ return new DataSinkBuilder(id, 0);
+ }
+
+ /**
+ * Creates a new data sink using the builder pattern.
+ * {@link
org.apache.streampipes.sdk.builder.AbstractProcessingElementBuilder#withLocales(Locales...)}
+ * must be called, to provide a label and description.
+ *
+ * @param id A unique identifier of the new element, e.g.,
com.mycompany.sink.mynewdatasink
+ */
+ public static DataSinkBuilder create(String id, int version) {
+ return new DataSinkBuilder(id, version);
}
public DataSinkBuilder category(DataSinkType... categories) {