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

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


The following commit(s) were added to refs/heads/dev by this push:
     new eca1daf  [STREAMPIPES-250] Refactor select statements
     new b12c1ad  Merge branch 'dev' of 
github.com:apache/incubator-streampipes-extensions into dev
eca1daf is described below

commit eca1daf7536494232bc899b1fbe86b20f9678cf6
Author: Dominik Riemer <[email protected]>
AuthorDate: Thu Oct 22 20:46:51 2020 +0200

    [STREAMPIPES-250] Refactor select statements
---
 .../processors/siddhi/filter/NumericalFilter.java  | 11 +++++++----
 .../processors/siddhi/frequency/Frequency.java     |  3 ++-
 .../siddhi/frequencychange/FrequencyChange.java    | 13 ++++++------
 .../streampipes/processors/siddhi/trend/Trend.java | 15 ++++++++++++--
 .../processors/siddhi/trend/TrendController.java   | 16 +++++++++------
 .../processors/siddhi/trend/TrendParameters.java   | 13 +++++++-----
 .../siddhi/trend/TestTrendProcessor.java           | 23 +++++++++-------------
 7 files changed, 56 insertions(+), 38 deletions(-)

diff --git 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilter.java
 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilter.java
index 42152ee..9b206c1 100644
--- 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilter.java
+++ 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilter.java
@@ -19,9 +19,10 @@ package org.apache.streampipes.processors.siddhi.filter;
 
 import org.apache.streampipes.wrapper.siddhi.constants.SiddhiStreamSelector;
 import org.apache.streampipes.wrapper.siddhi.engine.SiddhiEventEngine;
-import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
 import 
org.apache.streampipes.wrapper.siddhi.engine.callback.SiddhiDebugCallback;
+import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
 import org.apache.streampipes.wrapper.siddhi.query.SelectClause;
+import org.apache.streampipes.wrapper.siddhi.query.expression.Expression;
 import org.apache.streampipes.wrapper.siddhi.query.expression.Expressions;
 
 public class NumericalFilter extends 
SiddhiEventEngine<NumericalFilterParameters> {
@@ -65,11 +66,13 @@ public class NumericalFilter extends 
SiddhiEventEngine<NumericalFilterParameters
     SelectClause selectClause = SelectClause.create();
     siddhiParams
             .getOutputEventKeys()
-            .forEach(fieldName -> selectClause.addProperty(Expressions
-                    .property(SiddhiStreamSelector.FIRST_INPUT_STREAM, 
fieldName)));
+            .forEach(fieldName -> 
selectClause.addProperty(makeProperty(fieldName)));
 
     return selectClause.toSiddhiEpl();
-    //return 
siddhiParams.getCustomOutputSelectStatement(siddhiParams.getParams().getGraph());
+  }
+
+  private Expression makeProperty(String fieldName) {
+    return Expressions.property(SiddhiStreamSelector.FIRST_INPUT_STREAM, 
fieldName);
   }
 
 }
diff --git 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/Frequency.java
 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/Frequency.java
index 19fd905..2a72d26 100644
--- 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/Frequency.java
+++ 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/Frequency.java
@@ -19,6 +19,7 @@ package org.apache.streampipes.processors.siddhi.frequency;
 
 import org.apache.streampipes.wrapper.siddhi.engine.SiddhiEventEngine;
 import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
+import org.apache.streampipes.wrapper.siddhi.query.SelectClause;
 
 public class Frequency extends SiddhiEventEngine<FrequencyParameters> {
 
@@ -32,7 +33,7 @@ public class Frequency extends 
SiddhiEventEngine<FrequencyParameters> {
 
   @Override
   public String selectStatement(SiddhiProcessorParams<FrequencyParameters> 
siddhiParams) {
-    return "select *";
+    return SelectClause.createWildcard().toSiddhiEpl();
   }
 
 }
diff --git 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChange.java
 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChange.java
index e5003c4..388ee4f 100644
--- 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChange.java
+++ 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChange.java
@@ -19,21 +19,22 @@ package 
org.apache.streampipes.processors.siddhi.frequencychange;
 
 import org.apache.streampipes.wrapper.siddhi.engine.SiddhiEventEngine;
 import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
+import org.apache.streampipes.wrapper.siddhi.query.SelectClause;
 
 public class FrequencyChange extends 
SiddhiEventEngine<FrequencyChangeParameters> {
 
   @Override
   public String fromStatement(SiddhiProcessorParams<FrequencyChangeParameters> 
siddhiParams) {
-            return "from every not "
-                    + siddhiParams.getInputStreamNames().get(0)
-                    + " for "
-                    + siddhiParams.getParams().getDuration()
-                    + " sec";
+    return "from every not "
+            + siddhiParams.getInputStreamNames().get(0)
+            + " for "
+            + siddhiParams.getParams().getDuration()
+            + " sec";
   }
 
   @Override
   public String 
selectStatement(SiddhiProcessorParams<FrequencyChangeParameters> siddhiParams) {
-    return "select *";
+    return SelectClause.createWildcard().toSiddhiEpl();
   }
 
 }
diff --git 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/Trend.java
 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/Trend.java
index 444c1c7..fb4651a 100644
--- 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/Trend.java
+++ 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/Trend.java
@@ -18,8 +18,12 @@
 package org.apache.streampipes.processors.siddhi.trend;
 
 import org.apache.streampipes.wrapper.siddhi.engine.SiddhiEventEngine;
-import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
 import 
org.apache.streampipes.wrapper.siddhi.engine.callback.SiddhiDebugCallback;
+import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
+import org.apache.streampipes.wrapper.siddhi.query.SelectClause;
+import org.apache.streampipes.wrapper.siddhi.query.expression.Expressions;
+
+import java.util.List;
 
 public class Trend extends SiddhiEventEngine<TrendParameters> {
 
@@ -72,7 +76,14 @@ public class Trend extends 
SiddhiEventEngine<TrendParameters> {
 
   @Override
   public String selectStatement(SiddhiProcessorParams<TrendParameters> 
siddhiParams) {
-    return 
siddhiParams.getCustomOutputSelectStatement(siddhiParams.getParams().getGraph(),
 "e2");
+    SelectClause selectClause = SelectClause.create();
+    List<String> outputFieldSelectors = 
siddhiParams.getParams().getOutputFieldSelectors();
+    outputFieldSelectors
+            .forEach(outputFieldSelector -> selectClause
+                     .addProperty(Expressions.property("e2", 
outputFieldSelector)));
+
+    return selectClause.toSiddhiEpl();
+    //return 
siddhiParams.getCustomOutputSelectStatement(siddhiParams.getParams().getGraph(),
 "e2");
   }
 
 }
diff --git 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendController.java
 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendController.java
index f748f58..510410c 100644
--- 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendController.java
+++ 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendController.java
@@ -24,15 +24,13 @@ import org.apache.streampipes.model.schema.PropertyScope;
 import org.apache.streampipes.sdk.builder.ProcessingElementBuilder;
 import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder;
 import 
org.apache.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.apache.streampipes.sdk.helpers.EpRequirements;
-import org.apache.streampipes.sdk.helpers.Labels;
-import org.apache.streampipes.sdk.helpers.Locales;
-import org.apache.streampipes.sdk.helpers.Options;
-import org.apache.streampipes.sdk.helpers.OutputStrategies;
+import org.apache.streampipes.sdk.helpers.*;
 import org.apache.streampipes.sdk.utils.Assets;
 import org.apache.streampipes.wrapper.standalone.ConfiguredEventProcessor;
 import 
org.apache.streampipes.wrapper.standalone.declarer.StandaloneEventProcessingDeclarer;
 
+import java.util.List;
+
 public class TrendController extends 
StandaloneEventProcessingDeclarer<TrendParameters> {
 
     private static final String Mapping = "mapping";
@@ -65,7 +63,13 @@ public class TrendController extends 
StandaloneEventProcessingDeclarer<TrendPara
         int increase = extractor.singleValueParameter(Increase, Integer.class);
         int duration = extractor.singleValueParameter(Duration, Integer.class);
         String mapping = extractor.mappingPropertyValue(Mapping);
-        TrendParameters params = new TrendParameters(invocationGraph, 
getOperation(operation), increase, duration, mapping);
+        List<String> outputFieldSelectors = extractor.outputKeySelectors();
+        TrendParameters params = new TrendParameters(invocationGraph,
+                getOperation(operation),
+                increase,
+                duration,
+                mapping,
+                outputFieldSelectors);
 
         return new ConfiguredEventProcessor<>(params, Trend::new);
     }
diff --git 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendParameters.java
 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendParameters.java
index c1548af..e98c8dd 100644
--- 
a/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendParameters.java
+++ 
b/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendParameters.java
@@ -21,6 +21,8 @@ package org.apache.streampipes.processors.siddhi.trend;
 import org.apache.streampipes.model.graph.DataProcessorInvocation;
 import 
org.apache.streampipes.wrapper.params.binding.EventProcessorBindingParams;
 
+import java.util.List;
+
 public class TrendParameters extends EventProcessorBindingParams {
 
     private TrendOperator operation;
@@ -28,36 +30,37 @@ public class TrendParameters extends 
EventProcessorBindingParams {
     private int duration;
 
     private String mapping;
+    private List<String> outputFieldSelectors;
 
 
     public TrendParameters(DataProcessorInvocation invocationGraph,
                               TrendOperator operation, int increase, int 
duration,
-                              String mapping) {
+                              String mapping, List<String> 
outputFieldSelectors) {
         super(invocationGraph);
         this.operation = operation;
         this.increase = increase;
         this.duration = duration;
         this.mapping = mapping;
+        this.outputFieldSelectors = outputFieldSelectors;
     }
 
-
     public TrendOperator getOperation() {
         return operation;
     }
 
-
     public int getIncrease() {
         return increase;
     }
 
-
     public int getDuration() {
         return duration;
     }
 
-
     public String getMapping() {
         return mapping;
     }
 
+    public List<String> getOutputFieldSelectors() {
+        return outputFieldSelectors;
+    }
 }
diff --git 
a/streampipes-processors-filters-siddhi/src/test/java/org/apache/streampipes/processors/siddhi/trend/TestTrendProcessor.java
 
b/streampipes-processors-filters-siddhi/src/test/java/org/apache/streampipes/processors/siddhi/trend/TestTrendProcessor.java
index 1a7199d..9a5f033 100644
--- 
a/streampipes-processors-filters-siddhi/src/test/java/org/apache/streampipes/processors/siddhi/trend/TestTrendProcessor.java
+++ 
b/streampipes-processors-filters-siddhi/src/test/java/org/apache/streampipes/processors/siddhi/trend/TestTrendProcessor.java
@@ -17,13 +17,6 @@
  */
 package org.apache.streampipes.processors.siddhi.trend;
 
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.streampipes.model.graph.DataProcessorDescription;
 import org.apache.streampipes.model.graph.DataProcessorInvocation;
 import org.apache.streampipes.model.runtime.Event;
@@ -34,13 +27,15 @@ import org.apache.streampipes.sdk.helpers.Tuple2;
 import org.apache.streampipes.test.generator.EventStreamGenerator;
 import org.apache.streampipes.test.generator.InvocationGraphGenerator;
 import org.apache.streampipes.test.generator.grounding.EventGroundingGenerator;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import static org.junit.Assert.assertEquals;
 
 @RunWith(Parameterized.class)
 public class TestTrendProcessor {
@@ -112,7 +107,7 @@ public class TestTrendProcessor {
 
     
graph.getOutputStream().getEventGrounding().getTransportProtocol().getTopicDefinition().setActualTopicName("output-topic");
     TrendParameters params = new TrendParameters(graph, trendOperator, 
increase, timeWindow, "s0" +
-            "::randomValue");
+            "::randomValue", Collections.emptyList());
 
     Trend trend = new Trend(event -> actualMatchCount[0]++);
     trend.onInvocation(params, null, null);

Reply via email to