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);
+  }
 }

Reply via email to