This is an automated email from the ASF dual-hosted git repository. riemer pushed a commit to branch support-output-strategies-in-pipeline-code in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit d47b81571703d05e35f39027363bb294645e5d78 Author: Dominik Riemer <[email protected]> AuthorDate: Fri Oct 25 11:21:25 2024 +0200 Add visitor to output strategies --- .../model/output/AppendOutputStrategy.java | 7 ++++-- .../model/output/CustomOutputStrategy.java | 7 ++++-- .../output/CustomTransformOutputStrategy.java | 6 ++++- .../model/output/FixedOutputStrategy.java | 4 ++++ .../model/output/KeepOutputStrategy.java | 5 ++++ .../model/output/ListOutputStrategy.java | 4 ++++ .../streampipes/model/output/OutputStrategy.java | 2 ++ ...putStrategy.java => OutputStrategyVisitor.java} | 27 ++++++++-------------- .../model/output/TransformOutputStrategy.java | 5 ++++ .../model/output/UserDefinedOutputStrategy.java | 5 ++++ 10 files changed, 50 insertions(+), 22 deletions(-) diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/AppendOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/AppendOutputStrategy.java index 9d22313bc4..fa7ccca3c4 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/AppendOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/AppendOutputStrategy.java @@ -26,8 +26,6 @@ import java.util.List; public class AppendOutputStrategy extends OutputStrategy { - private static final long serialVersionUID = 7202888911899551012L; - private List<EventProperty> eventProperties; public AppendOutputStrategy() { @@ -35,6 +33,11 @@ public class AppendOutputStrategy extends OutputStrategy { eventProperties = new ArrayList<>(); } + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } + public AppendOutputStrategy(AppendOutputStrategy other) { super(other); this.setEventProperties(new Cloner().properties(other.getEventProperties())); diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomOutputStrategy.java index 4468ba14f2..fa859aeef4 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomOutputStrategy.java @@ -23,8 +23,6 @@ import java.util.List; public class CustomOutputStrategy extends OutputStrategy { - private static final long serialVersionUID = -5858193127308435472L; - private List<String> selectedPropertyKeys; private boolean outputRight; @@ -77,4 +75,9 @@ public class CustomOutputStrategy extends OutputStrategy { public void setAvailablePropertyKeys(List<String> availablePropertyKeys) { this.availablePropertyKeys = availablePropertyKeys; } + + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomTransformOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomTransformOutputStrategy.java index 91d1a6ae3d..426a8d29eb 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomTransformOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/CustomTransformOutputStrategy.java @@ -32,7 +32,6 @@ public class CustomTransformOutputStrategy extends OutputStrategy { this.eventProperties = new ArrayList<>(); } - public CustomTransformOutputStrategy(CustomTransformOutputStrategy other) { super(other); this.eventProperties = new Cloner().properties(other.getEventProperties()); @@ -45,4 +44,9 @@ public class CustomTransformOutputStrategy extends OutputStrategy { public void setEventProperties(List<EventProperty> eventProperties) { this.eventProperties = eventProperties; } + + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/FixedOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/FixedOutputStrategy.java index e698348efd..1558aada49 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/FixedOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/FixedOutputStrategy.java @@ -50,5 +50,9 @@ public class FixedOutputStrategy extends OutputStrategy { this.eventProperties = eventProperties; } + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/KeepOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/KeepOutputStrategy.java index d455e7b4c2..0c8b9b0e00 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/KeepOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/KeepOutputStrategy.java @@ -63,4 +63,9 @@ public class KeepOutputStrategy extends OutputStrategy { public void setKeepBoth(boolean keepBoth) { this.keepBoth = keepBoth; } + + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/ListOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/ListOutputStrategy.java index 4040d9387c..b2e1f4ba51 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/ListOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/ListOutputStrategy.java @@ -46,5 +46,9 @@ public class ListOutputStrategy extends OutputStrategy { this.propertyName = propertyName; } + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategy.java index 05484f1679..ab19a8d89b 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategy.java @@ -75,4 +75,6 @@ public abstract class OutputStrategy { public void setRenameRules(List<PropertyRenameRule> renameRules) { this.renameRules = renameRules; } + + public abstract void accept(OutputStrategyVisitor visitor); } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategyVisitor.java similarity index 58% copy from streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java copy to streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategyVisitor.java index 7f8f725eef..024e22b994 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/OutputStrategyVisitor.java @@ -18,28 +18,21 @@ package org.apache.streampipes.model.output; -import org.apache.streampipes.model.schema.EventProperty; +public interface OutputStrategyVisitor { -import java.util.List; + void visit(AppendOutputStrategy appendOutputStrategy); -public class UserDefinedOutputStrategy extends OutputStrategy { + void visit(CustomOutputStrategy customOutputStrategy); - private List<EventProperty> eventProperties; + void visit(CustomTransformOutputStrategy customTransformOutputStrategy); - public UserDefinedOutputStrategy() { - super(); - } + void visit(FixedOutputStrategy fixedOutputStrategy); - public UserDefinedOutputStrategy(UserDefinedOutputStrategy other) { - super(other); - this.eventProperties = other.getEventProperties(); - } + void visit(KeepOutputStrategy keepOutputStrategy); - public List<EventProperty> getEventProperties() { - return eventProperties; - } + void visit(ListOutputStrategy listOutputStrategy); - public void setEventProperties(List<EventProperty> eventProperties) { - this.eventProperties = eventProperties; - } + void visit(TransformOutputStrategy transformOutputStrategy); + + void visit(UserDefinedOutputStrategy userDefinedOutputStrategy); } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/TransformOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/TransformOutputStrategy.java index 1ca951654b..7e9de992ad 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/TransformOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/TransformOutputStrategy.java @@ -43,4 +43,9 @@ public class TransformOutputStrategy extends OutputStrategy { public void setTransformOperations(List<TransformOperation> transformOperations) { this.transformOperations = transformOperations; } + + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } } diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java b/streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java index 7f8f725eef..622d1e25ec 100644 --- a/streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java +++ b/streampipes-model/src/main/java/org/apache/streampipes/model/output/UserDefinedOutputStrategy.java @@ -42,4 +42,9 @@ public class UserDefinedOutputStrategy extends OutputStrategy { public void setEventProperties(List<EventProperty> eventProperties) { this.eventProperties = eventProperties; } + + @Override + public void accept(OutputStrategyVisitor visitor) { + visitor.visit(this); + } }
