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.git


The following commit(s) were added to refs/heads/dev by this push:
     new da995b5  [STREAMPIPES-250] Improve Siddhi wrapper
     new 8d79f57  Merge branch 'dev' of github.com:apache/incubator-streampipes 
into dev
da995b5 is described below

commit da995b5b3d61f2769450cdf2207fdefa50b3b74a
Author: Dominik Riemer <[email protected]>
AuthorDate: Wed Oct 21 13:36:38 2020 +0200

    [STREAMPIPES-250] Improve Siddhi wrapper
---
 .../apache/streampipes/sdk/utils/Datatypes.java    |  8 ++++
 .../wrapper/siddhi/constants/SiddhiConstants.java  |  3 ++
 .../SiddhiStreamSelector.java}                     | 18 +++++---
 .../wrapper/siddhi/engine/SiddhiEngine.java        |  6 +--
 .../engine/generator/EventTypeGenerator.java       | 14 +++---
 .../engine/generator/SiddhiAppGenerator.java       |  4 +-
 .../generator/SiddhiInvocationConfigGenerator.java |  4 +-
 .../{EventType.java => EventPropertyDef.java}      |  4 +-
 .../siddhi/model/SiddhiProcessorParams.java        | 13 ++++--
 .../wrapper/siddhi/query/SelectClause.java         | 54 ++++++++++++++++++++--
 .../siddhi/query/expression/Expression.java        | 13 ++++--
 .../siddhi/query/expression/Expressions.java       | 15 +++++-
 .../query/expression/PropertyExpression.java       | 17 ++++++-
 13 files changed, 134 insertions(+), 39 deletions(-)

diff --git 
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/utils/Datatypes.java 
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/utils/Datatypes.java
index 6b3759e..e3bea45 100644
--- 
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/utils/Datatypes.java
+++ 
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/utils/Datatypes.java
@@ -22,6 +22,7 @@ import org.apache.streampipes.vocabulary.SO;
 import org.apache.streampipes.vocabulary.XSD;
 
 import java.net.URI;
+import java.util.Arrays;
 
 public enum Datatypes {
 
@@ -43,4 +44,11 @@ public enum Datatypes {
     public String toString() {
         return uri.toString();
     }
+
+    public static Datatypes fromDatatypeString(String datatype) {
+        return Arrays.stream(Datatypes.values())
+                .filter(d -> d.uri.toString().equals(datatype))
+                .findFirst()
+                .orElseThrow(() -> new RuntimeException("Could not find 
datatype with URI " +datatype));
+    }
 }
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiConstants.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiConstants.java
index 146be5a..2bcd492 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiConstants.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiConstants.java
@@ -21,7 +21,10 @@ public class SiddhiConstants {
 
   public static final String SELECT = "select";
   public static final String INSERT = "insert";
+
   public static final String WHITESPACE = " ";
+  public static final String COMMA = ", ";
+
   public static final String ASTERISK = "*";
 
   public static final String FIRST_STREAM_PREFIX = "s0";
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiStreamSelector.java
similarity index 69%
copy from 
streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
copy to 
streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiStreamSelector.java
index cf600e1..038a289 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/constants/SiddhiStreamSelector.java
@@ -15,16 +15,20 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.wrapper.siddhi.query.expression;
+package org.apache.streampipes.wrapper.siddhi.constants;
 
-public class Expressions {
+public enum SiddhiStreamSelector {
 
-  public static Expression property(String propertyName) {
-    //return new PropertyExpression(propertyName);
-    return null;
+  FIRST_INPUT_STREAM(SiddhiConstants.FIRST_STREAM_PREFIX),
+  SECOND_INPUT_STREAM(SiddhiConstants.SECOND_STREAM_PREFIX);
+
+  private String prefix;
+
+  SiddhiStreamSelector(String prefix) {
+    this.prefix = prefix;
   }
 
-  public static Expression property(String propertyName, String targetName) {
-    return null;
+  public String getPrefix() {
+    return prefix;
   }
 }
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/SiddhiEngine.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/SiddhiEngine.java
index dcc7eed..5f8f1b3 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/SiddhiEngine.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/SiddhiEngine.java
@@ -31,7 +31,7 @@ import 
org.apache.streampipes.wrapper.siddhi.engine.callback.SiddhiOutputStreamC
 import 
org.apache.streampipes.wrapper.siddhi.engine.callback.SiddhiOutputStreamDebugCallback;
 import 
org.apache.streampipes.wrapper.siddhi.engine.generator.SiddhiInvocationConfigGenerator;
 import org.apache.streampipes.wrapper.siddhi.manager.SpSiddhiManager;
-import org.apache.streampipes.wrapper.siddhi.model.EventType;
+import org.apache.streampipes.wrapper.siddhi.model.EventPropertyDef;
 import org.apache.streampipes.wrapper.siddhi.utils.SiddhiUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -47,7 +47,7 @@ public class SiddhiEngine {
 
   private SiddhiAppRuntime siddhiAppRuntime;
   private final Map<String, InputHandler> siddhiInputHandlers;
-  private Map<String, List<EventType>> typeInfo;
+  private Map<String, List<EventPropertyDef>> typeInfo;
 
   private Boolean debugMode;
   private SiddhiDebugCallback debugCallback;
@@ -102,7 +102,7 @@ public class SiddhiEngine {
       List<String> eventKeys = this.typeInfo
               .get(sourceId)
               .stream()
-              .map(EventType::getFieldName)
+              .map(EventPropertyDef::getFieldName)
               .collect(Collectors.toList());
 
       inputHandler.send(SiddhiUtils.toObjArr(eventKeys, event.getRaw()));
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/EventTypeGenerator.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/EventTypeGenerator.java
index 7c1d28c..fb22457 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/EventTypeGenerator.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/EventTypeGenerator.java
@@ -19,7 +19,7 @@ package 
org.apache.streampipes.wrapper.siddhi.engine.generator;
 
 import 
org.apache.streampipes.wrapper.params.binding.EventProcessorBindingParams;
 import org.apache.streampipes.wrapper.siddhi.constants.SiddhiConstants;
-import org.apache.streampipes.wrapper.siddhi.model.EventType;
+import org.apache.streampipes.wrapper.siddhi.model.EventPropertyDef;
 
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
@@ -32,15 +32,15 @@ public class EventTypeGenerator<B extends 
EventProcessorBindingParams> {
     this.params = params;
   }
 
-  public Map<String, List<EventType>> generateEventTypes() {
-    Map<String, List<EventType>> listOfEventKeys = new HashMap<>();
+  public Map<String, List<EventPropertyDef>> generateEventTypes() {
+    Map<String, List<EventPropertyDef>> listOfEventKeys = new HashMap<>();
     AtomicReference<Integer> currentStreamIndex = new AtomicReference<>(0);
 
     params.getInEventTypes().forEach((key, value) -> {
-      List<EventType> sortedEventKeys = new ArrayList<>();
+      List<EventPropertyDef> sortedEventKeys = new ArrayList<>();
       for (String propertyKey : value.keySet()) {
         sortedEventKeys.add(makeEventType(currentStreamIndex.get(), 
propertyKey, value.get(propertyKey)));
-        sortedEventKeys.sort(Comparator.comparing(EventType::getFieldName));
+        
sortedEventKeys.sort(Comparator.comparing(EventPropertyDef::getFieldName));
       }
       listOfEventKeys.put(key, sortedEventKeys);
       currentStreamIndex.getAndSet(currentStreamIndex.get() + 1);
@@ -49,8 +49,8 @@ public class EventTypeGenerator<B extends 
EventProcessorBindingParams> {
     return listOfEventKeys;
   }
 
-  private EventType makeEventType(Integer currentStreamIndex, String 
propertyName, Object propertyType) {
-    return new EventType(toSelectorPrefix(currentStreamIndex), propertyName, 
toType((Class<?>) propertyType));
+  private EventPropertyDef makeEventType(Integer currentStreamIndex, String 
propertyName, Object propertyType) {
+    return new EventPropertyDef(toSelectorPrefix(currentStreamIndex), 
propertyName, toType((Class<?>) propertyType));
   }
 
   private String toType(Class<?> o) {
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiAppGenerator.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiAppGenerator.java
index b8fd175..1e32bce 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiAppGenerator.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiAppGenerator.java
@@ -19,7 +19,7 @@ package 
org.apache.streampipes.wrapper.siddhi.engine.generator;
 
 import 
org.apache.streampipes.wrapper.params.binding.EventProcessorBindingParams;
 import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
-import org.apache.streampipes.wrapper.siddhi.model.EventType;
+import org.apache.streampipes.wrapper.siddhi.model.EventPropertyDef;
 import org.apache.streampipes.wrapper.siddhi.utils.SiddhiUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -55,7 +55,7 @@ public class SiddhiAppGenerator<B extends 
EventProcessorBindingParams> {
     return this.siddhiAppString.toString();
   }
 
-  private void registerEventType(String eventTypeName, List<EventType> 
eventSchema) {
+  private void registerEventType(String eventTypeName, List<EventPropertyDef> 
eventSchema) {
     String defineStreamPrefix = "define stream " + 
SiddhiUtils.prepareName(eventTypeName);
     StringJoiner joiner = new StringJoiner(",");
 
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiInvocationConfigGenerator.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiInvocationConfigGenerator.java
index 9c25f15..1c63ef0 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiInvocationConfigGenerator.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/generator/SiddhiInvocationConfigGenerator.java
@@ -19,7 +19,7 @@ package 
org.apache.streampipes.wrapper.siddhi.engine.generator;
 
 import 
org.apache.streampipes.wrapper.params.binding.EventProcessorBindingParams;
 import org.apache.streampipes.wrapper.siddhi.model.SiddhiProcessorParams;
-import org.apache.streampipes.wrapper.siddhi.model.EventType;
+import org.apache.streampipes.wrapper.siddhi.model.EventPropertyDef;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,7 +38,7 @@ public class SiddhiInvocationConfigGenerator<B extends 
EventProcessorBindingPara
                                          Function<SiddhiProcessorParams<B>, 
String> fromStatementFunction,
                                          Function<SiddhiProcessorParams<B>, 
String> selectStatementFunction) {
     List<String> inputStreamNames = new 
InputStreamNameGenerator<>(params).generateInputStreamNames();
-    Map<String, List<EventType>> eventTypeInfo = new 
EventTypeGenerator<>(params).generateEventTypes();
+    Map<String, List<EventPropertyDef>> eventTypeInfo = new 
EventTypeGenerator<>(params).generateEventTypes();
     List<String> outputEventKeys = new 
ArrayList<>(params.getOutEventType().keySet());
     this.siddhiProcessorParams = new SiddhiProcessorParams<>(params, 
inputStreamNames, eventTypeInfo, outputEventKeys);
     this.fromStatement = 
fromStatementFunction.apply(this.siddhiProcessorParams);
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/EventType.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/EventPropertyDef.java
similarity index 91%
rename from 
streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/EventType.java
rename to 
streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/EventPropertyDef.java
index d1e324f..75095e3 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/EventType.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/EventPropertyDef.java
@@ -17,13 +17,13 @@
  */
 package org.apache.streampipes.wrapper.siddhi.model;
 
-public class EventType {
+public class EventPropertyDef {
 
   private String selectorPrefix;
   private String fieldName;
   private String fieldType;
 
-  public EventType(String selectorPrefix, String fieldName, String fieldType) {
+  public EventPropertyDef(String selectorPrefix, String fieldName, String 
fieldType) {
     this.selectorPrefix = selectorPrefix;
     this.fieldName = fieldName;
     this.fieldType = fieldType;
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/SiddhiProcessorParams.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/SiddhiProcessorParams.java
index 0a2ea57..d6fc27f 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/SiddhiProcessorParams.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/model/SiddhiProcessorParams.java
@@ -18,8 +18,10 @@
 package org.apache.streampipes.wrapper.siddhi.model;
 
 import org.apache.streampipes.model.graph.DataProcessorInvocation;
+import org.apache.streampipes.sdk.helpers.Tuple2;
 import 
org.apache.streampipes.wrapper.params.binding.EventProcessorBindingParams;
 import org.apache.streampipes.wrapper.siddhi.constants.SiddhiConstants;
+import org.apache.streampipes.wrapper.siddhi.constants.SiddhiStreamSelector;
 
 import java.util.List;
 import java.util.Map;
@@ -28,12 +30,12 @@ public class SiddhiProcessorParams<B extends 
EventProcessorBindingParams> {
 
   private final B params;
   private final List<String> inputStreamNames;
-  private final Map<String, List<EventType>> eventTypeInfo;
+  private final Map<String, List<EventPropertyDef>> eventTypeInfo;
   private final List<String> outputEventKeys;
 
   public SiddhiProcessorParams(B params,
                                List<String> inputStreamNames,
-                               Map<String, List<EventType>> eventTypeInfo,
+                               Map<String, List<EventPropertyDef>> 
eventTypeInfo,
                                List<String> outputEventKeys) {
     this.params = params;
     this.inputStreamNames = inputStreamNames;
@@ -49,7 +51,7 @@ public class SiddhiProcessorParams<B extends 
EventProcessorBindingParams> {
     return inputStreamNames;
   }
 
-  public Map<String, List<EventType>> getEventTypeInfo() {
+  public Map<String, List<EventPropertyDef>> getEventTypeInfo() {
     return eventTypeInfo;
   }
 
@@ -57,6 +59,11 @@ public class SiddhiProcessorParams<B extends 
EventProcessorBindingParams> {
     return outputEventKeys;
   }
 
+  public List<Tuple2<SiddhiStreamSelector, String>> getAllInputFieldNames() {
+    //return this.params.getInEventTypes()
+    return null;
+  }
+
   public String getCustomOutputSelectStatement(DataProcessorInvocation 
invocation) {
     StringBuilder selectString = new StringBuilder();
     selectString.append(SiddhiConstants.SELECT).append(" ");
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/SelectClause.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/SelectClause.java
index c126880..2b64e9d 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/SelectClause.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/SelectClause.java
@@ -20,15 +20,59 @@ package org.apache.streampipes.wrapper.siddhi.query;
 import org.apache.streampipes.wrapper.siddhi.constants.SiddhiConstants;
 import org.apache.streampipes.wrapper.siddhi.query.expression.Expression;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
-public class SelectClause extends AbstractQueryGenerator {
+public class SelectClause extends Expression {
 
-  public static String createWildcard() {
-    return join(SiddhiConstants.SELECT, SiddhiConstants.ASTERISK);
+  private boolean wildcard;
+  private List<Expression> outputProperties;
+
+  private SelectClause(boolean wildcard) {
+    this.wildcard = wildcard;
+    this.outputProperties = new ArrayList<>();
+  }
+
+  private SelectClause(List<Expression> outputProperties) {
+    this.wildcard = false;
+    this.outputProperties = outputProperties;
+  }
+
+  public static SelectClause create() {
+    return new SelectClause(false);
+  }
+
+  public static SelectClause createWildcard() {
+    return new SelectClause(true);
+  }
+
+  public static SelectClause create(List<Expression> outputProperties) {
+    return new SelectClause(outputProperties);
+  }
+
+  public static SelectClause create(Expression... outputProperties) {
+    return new SelectClause(Arrays.asList(outputProperties));
+  }
+
+  public void addProperty(Expression property) {
+    this.outputProperties.add(property);
+  }
+
+  private String toWildcardStatement() {
+    return join(SiddhiConstants.WHITESPACE, SiddhiConstants.SELECT, 
SiddhiConstants.ASTERISK);
+  }
+
+  private String toPropertyExpressionStatement() {
+    String properties = join(SiddhiConstants.COMMA,
+            
this.outputProperties.stream().map(Expression::toSiddhiEpl).collect(Collectors.toList()));
+
+    return join(SiddhiConstants.WHITESPACE, properties);
   }
 
-  public static String create(List<Expression> outputEventProperties) {
-    return null;
+  @Override
+  public String toSiddhiEpl() {
+    return wildcard ? toWildcardStatement() : toPropertyExpressionStatement();
   }
 }
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expression.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expression.java
index aa4d10d..3d5d15a 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expression.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expression.java
@@ -17,16 +17,19 @@
  */
 package org.apache.streampipes.wrapper.siddhi.query.expression;
 
-import org.apache.streampipes.wrapper.siddhi.constants.SiddhiConstants;
-
 import java.util.Arrays;
+import java.util.List;
 import java.util.StringJoiner;
 
 public abstract class Expression {
 
-  public String join(String... substrings) {
-    StringJoiner joiner = new StringJoiner(SiddhiConstants.WHITESPACE);
-    Arrays.stream(substrings).forEach(joiner::add);
+  protected String join(String delimiter, String... substrings) {
+    return join(delimiter, Arrays.asList(substrings));
+  }
+
+  protected String join(String delimiter, List<String> substrings) {
+    StringJoiner joiner = new StringJoiner(delimiter);
+    substrings.forEach(joiner::add);
 
     return joiner.toString();
   }
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
index cf600e1..30905df 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/Expressions.java
@@ -17,14 +17,25 @@
  */
 package org.apache.streampipes.wrapper.siddhi.query.expression;
 
+import org.apache.streampipes.wrapper.siddhi.constants.SiddhiStreamSelector;
+import org.apache.streampipes.wrapper.siddhi.model.EventPropertyDef;
+
 public class Expressions {
 
-  public static Expression property(String propertyName) {
+  public static PropertyExpression property(String propertyName) {
     //return new PropertyExpression(propertyName);
     return null;
   }
 
-  public static Expression property(String propertyName, String targetName) {
+  public static PropertyExpression property(SiddhiStreamSelector selector, 
String propertyName) {
+    return null;
+  }
+
+  public static PropertyExpression property(EventPropertyDef propertyDef) {
+    return null;
+  }
+
+  public static Expression as(Expression property, String targetName) {
     return null;
   }
 }
diff --git 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/PropertyExpression.java
 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/PropertyExpression.java
index ceade46..2a2610d 100644
--- 
a/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/PropertyExpression.java
+++ 
b/streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/query/expression/PropertyExpression.java
@@ -17,5 +17,20 @@
  */
 package org.apache.streampipes.wrapper.siddhi.query.expression;
 
-public abstract class PropertyExpression extends Expression {
+import org.apache.streampipes.wrapper.siddhi.model.EventPropertyDef;
+
+public class PropertyExpression extends Expression {
+
+  public PropertyExpression(String property) {
+
+  }
+
+  public PropertyExpression(EventPropertyDef propertyDef) {
+
+  }
+
+  @Override
+  public String toSiddhiEpl() {
+    return null;
+  }
 }

Reply via email to