This is an automated email from the ASF dual-hosted git repository. bossenti pushed a commit to branch refactor-versioned-sinks in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit f2668ffd30c140f686e92635b46cc563323875c7 Author: bossenti <[email protected]> AuthorDate: Fri Dec 1 15:28:32 2023 +0100 refactor: include version in all data sink descriptions as required for migrations --- .../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..2eba328da 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) {
