Merge branch 'dev' of https://github.com/apache/incubator-streampipes-examples into dev
diff --git a/pom.xml b/pom.xml
index 95104b2..93dd9b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,18 +25,18 @@
<parent>
<groupId>org.apache.streampipes</groupId>
<artifactId>streampipes-parent</artifactId>
- <version>0.68.0-SNAPSHOT</version>
+ <version>0.69.0-SNAPSHOT</version>
</parent>
<artifactId>streampipes-pipeline-elements-examples</artifactId>
<packaging>pom</packaging>
- <version>0.68.0-SNAPSHOT</version>
+ <version>0.69.0-SNAPSHOT</version>
<modules>
<module>streampipes-pipeline-elements-examples-processors-jvm</module>
</modules>
<properties>
- <streampipes.version>0.68.0-SNAPSHOT</streampipes.version>
+ <streampipes.version>0.69.0-SNAPSHOT</streampipes.version>
<lightcouch.version>0.1.8</lightcouch.version>
<maven-shade-plugin.version>3.0.0</maven-shade-plugin.version>
diff --git a/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/ExamplesInit.java b/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/ExamplesInit.java
index 1bdabb3..e5ac627 100644
--- a/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/ExamplesInit.java
+++ b/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/ExamplesInit.java
@@ -54,6 +54,7 @@
.add(new ColorPickerExampleController())
.add(new CollectionMappingExample())
.add(new NestedListRequirementsController())
+ .add(new TwoStreamsMappingExample())
.add(new AppendOutputController())
.add(new CustomOutputController())
diff --git a/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/staticproperty/TwoStreamsMappingExample.java b/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/staticproperty/TwoStreamsMappingExample.java
new file mode 100644
index 0000000..ec56c57
--- /dev/null
+++ b/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/staticproperty/TwoStreamsMappingExample.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.pe.examples.jvm.staticproperty;
+
+import org.apache.streampipes.model.DataProcessorType;
+import org.apache.streampipes.model.graph.DataProcessorDescription;
+import org.apache.streampipes.model.graph.DataProcessorInvocation;
+import org.apache.streampipes.model.schema.PropertyScope;
+import org.apache.streampipes.pe.examples.jvm.base.DummyEngine;
+import org.apache.streampipes.pe.examples.jvm.base.DummyParameters;
+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.OutputStrategies;
+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 TwoStreamsMappingExample extends StandaloneEventProcessingDeclarer<DummyParameters> {
+
+ private static final String KEY_STREAM_1 = "stream-1-key";
+ private static final String PROPERTIES_STREAM_1 = "stream-1-properties";
+ private static final String KEY_STREAM_2 = "stream-2-key";
+ private static final String PROPERTIES_STREAM_2 = "stream-2-properties";
+
+ private static final String ID = "org.apache.streampipes.examples.staticproperty.twostreamsmapping";
+ @Override
+ public DataProcessorDescription declareModel() {
+ return ProcessingElementBuilder.create(ID, "Two Streams", "")
+ .withAssets(Assets.DOCUMENTATION, Assets.ICON)
+ .category(DataProcessorType.ALGORITHM)
+ .requiredStream(StreamRequirementsBuilder
+ .create()
+ .requiredPropertyWithNaryMapping(
+ EpRequirements.numberReq(),
+ Labels.from(PROPERTIES_STREAM_1, "S1 Properties", ""),
+ PropertyScope.NONE)
+ .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
+ Labels.from(KEY_STREAM_1, "S1 Key", ""), PropertyScope.NONE)
+ .build())
+ .requiredStream(StreamRequirementsBuilder
+ .create()
+ .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
+ Labels.from(PROPERTIES_STREAM_2, "S2 Properties", ""),
+ PropertyScope.NONE)
+ .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
+ Labels.from(KEY_STREAM_2, "S2 Key", ""),
+ PropertyScope.NONE)
+ .build())
+ .outputStrategy(OutputStrategies.keep())
+ .build();
+
+ }
+
+ @Override
+ public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
+
+ List<String> selProps1 = extractor.mappingPropertyValues(PROPERTIES_STREAM_1);
+ List<String> selProps = extractor.mappingPropertyValues(PROPERTIES_STREAM_2);
+
+ String selKey1 = extractor.mappingPropertyValue(KEY_STREAM_1);
+ String selKey2 = extractor.mappingPropertyValue(KEY_STREAM_2);
+
+ return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
+ }
+
+}