This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch STREAMPIPES-319
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
The following commit(s) were added to refs/heads/STREAMPIPES-319 by this push:
new 6a569a9 [STREAMPIPES-319] Add config extraction feature to
onInvocation method
6a569a9 is described below
commit 6a569a910d3b354f1c101fa8de8c02acd0f51b6e
Author: Dominik Riemer <[email protected]>
AuthorDate: Mon May 10 13:49:53 2021 +0200
[STREAMPIPES-319] Add config extraction feature to onInvocation method
---
.../api/InvocablePipelineElementResource.java | 9 ++++++--
.../container/config/ConfigExtractor.java | 25 ++++++++++++----------
.../container/declarer/InvocableDeclarer.java | 7 +++---
.../container/init/DeclarersSingleton.java | 7 ++++++
.../apache/streampipes/rest/impl/RdfEndpoint.java | 2 +-
.../distributed/runtime/DistributedRuntime.java | 1 -
.../wrapper/flink/FlinkDataProcessorRuntime.java | 3 ++-
.../wrapper/flink/FlinkDataSinkRuntime.java | 3 ++-
.../wrapper/spark/AbstractSparkDeclarer.java | 4 ++--
.../StandaloneEventProcessingDeclarer.java | 13 +++++++----
.../StandaloneEventProcessorDeclarerSingleton.java | 12 ++++++++---
.../declarer/StandaloneEventSinkDeclarer.java | 10 ++++++---
.../StandaloneEventSinkDeclarerSingleton.java | 10 ++++++---
.../StandaloneExternalEventProcessingDeclarer.java | 8 +++++--
.../StandaloneExternalEventSinkDeclarer.java | 8 +++++--
streampipes-wrapper/pom.xml | 7 +++++-
.../wrapper/context/RuntimeContext.java | 8 +++++++
.../context/SpEventProcessorRuntimeContext.java | 9 ++++++--
.../wrapper/context/SpEventSinkRuntimeContext.java | 8 +++++--
.../wrapper/context/SpRuntimeContext.java | 20 ++++++++++++++++-
.../wrapper/declarer/EventProcessorDeclarer.java | 4 ++--
.../wrapper/declarer/EventSinkDeclarer.java | 4 ++--
.../wrapper/declarer/PipelineElementDeclarer.java | 24 ++++++++++++++-------
.../runtime/EventProcessorRuntimeParams.java | 11 +++++++---
.../params/runtime/EventSinkRuntimeParams.java | 11 +++++++---
.../wrapper/params/runtime/RuntimeParams.java | 11 +++++++++-
26 files changed, 175 insertions(+), 64 deletions(-)
diff --git
a/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
b/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
index 4530f8a..1adce39 100644
---
a/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
+++
b/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
@@ -21,6 +21,7 @@ package org.apache.streampipes.container.api;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
import org.apache.streampipes.container.declarer.Declarer;
import org.apache.streampipes.container.declarer.InvocableDeclarer;
+import org.apache.streampipes.container.init.DeclarersSingleton;
import org.apache.streampipes.container.init.RunningInstances;
import org.apache.streampipes.model.Response;
import org.apache.streampipes.model.base.InvocableStreamPipesEntity;
@@ -70,7 +71,7 @@ public abstract class InvocablePipelineElementResource<I
extends InvocableStream
String runningInstanceId = getInstanceId(graph.getElementId(),
elementId);
if (!RunningInstances.INSTANCE.exists(runningInstanceId)) {
RunningInstances.INSTANCE.add(runningInstanceId, graph,
declarer.getClass().newInstance());
- Response resp =
RunningInstances.INSTANCE.getInvocation(runningInstanceId).invokeRuntime(graph);
+ Response resp =
RunningInstances.INSTANCE.getInvocation(runningInstanceId).invokeRuntime(graph,
getServiceId());
return ok(resp);
} else {
LOG.info("Pipeline element {} with id {} seems to be
already running, skipping invocation request.", graph.getName(),
runningInstanceId);
@@ -138,7 +139,7 @@ public abstract class InvocablePipelineElementResource<I
extends InvocableStream
InvocableDeclarer runningInstance =
RunningInstances.INSTANCE.getInvocation(runningInstanceId);
if (runningInstance != null) {
- Response resp = runningInstance.detachRuntime(runningInstanceId);
+ Response resp = runningInstance.detachRuntime(runningInstanceId,
getServiceId());
if (resp.isSuccess()) {
RunningInstances.INSTANCE.remove(runningInstanceId);
@@ -157,5 +158,9 @@ public abstract class InvocablePipelineElementResource<I
extends InvocableStream
private Boolean isDebug() {
return "true".equals(System.getenv("SP_DEBUG"));
}
+
+ private String getServiceId() {
+ return DeclarersSingleton.getInstance().getServiceId();
+ }
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
b/streampipes-container/src/main/java/org/apache/streampipes/container/config/ConfigExtractor.java
similarity index 62%
copy from
streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
copy to
streampipes-container/src/main/java/org/apache/streampipes/container/config/ConfigExtractor.java
index 83c2580..a43d9d6 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
+++
b/streampipes-container/src/main/java/org/apache/streampipes/container/config/ConfigExtractor.java
@@ -15,21 +15,24 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.wrapper.context;
+package org.apache.streampipes.container.config;
-import org.apache.streampipes.logging.api.Logger;
-import org.apache.streampipes.model.runtime.SchemaInfo;
-import org.apache.streampipes.model.runtime.SourceInfo;
+import org.apache.streampipes.config.SpConfig;
+import org.apache.streampipes.config.consul.ConsulSpConfig;
-import java.util.List;
+public class ConfigExtractor {
-public interface RuntimeContext {
+ private SpConfig config;
- Logger getLogger();
+ public static ConfigExtractor from(String serviceId) {
+ return new ConfigExtractor(serviceId);
+ }
- List<SchemaInfo> getInputSchemaInfo();
+ private ConfigExtractor(String serviceId) {
+ this.config = new ConsulSpConfig(serviceId);
+ }
- List<SourceInfo> getInputSourceInfo();
-
- String getCorrespondingUser();
+ public SpConfig getConfig() {
+ return this.config;
+ }
}
diff --git
a/streampipes-container/src/main/java/org/apache/streampipes/container/declarer/InvocableDeclarer.java
b/streampipes-container/src/main/java/org/apache/streampipes/container/declarer/InvocableDeclarer.java
index 9792132..e3e05f7 100644
---
a/streampipes-container/src/main/java/org/apache/streampipes/container/declarer/InvocableDeclarer.java
+++
b/streampipes-container/src/main/java/org/apache/streampipes/container/declarer/InvocableDeclarer.java
@@ -22,9 +22,10 @@ import
org.apache.streampipes.model.base.InvocableStreamPipesEntity;
import org.apache.streampipes.model.base.NamedStreamPipesEntity;
import org.apache.streampipes.model.Response;
-public interface InvocableDeclarer<D extends NamedStreamPipesEntity, I extends
InvocableStreamPipesEntity> extends Declarer<D> {
+public interface InvocableDeclarer<D extends NamedStreamPipesEntity,
+ I extends InvocableStreamPipesEntity> extends Declarer<D> {
- Response invokeRuntime(I invocationGraph);
+ Response invokeRuntime(I invocationGraph, String serviceId);
- Response detachRuntime(String pipelineId);
+ Response detachRuntime(String pipelineId, String serviceId);
}
diff --git
a/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
b/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
index 4de3c8d..1b908e8 100644
---
a/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
+++
b/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
@@ -49,6 +49,8 @@ public class DeclarersSingleton {
private Map<String, TransportProtocol> supportedProtocols;
private Map<String, TransportFormat> supportedFormats;
+ private String serviceId;
+
private int port;
private String route;
private String hostName;
@@ -77,6 +79,7 @@ public class DeclarersSingleton {
this.addDeclarers(serviceDef.getDeclarers());
this.registerProtocols(serviceDef.getProtocolDefinitionFactories());
this.registerDataFormats(serviceDef.getDataFormatFactories());
+ this.serviceId = serviceDef.getServiceId();
}
public void addDeclarers(List<Declarer<?>> allDeclarers) {
@@ -222,6 +225,10 @@ public class DeclarersSingleton {
return Http + hostName + Colon + port + route;
}
+ public String getServiceId() {
+ return serviceId;
+ }
+
private void checkAndStartExecutableStreams(DataStreamDeclarer declarer) {
if (declarer.isExecutable()) {
declarer.executeStream();
diff --git
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/RdfEndpoint.java
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/RdfEndpoint.java
index 7de93c5..5842003 100644
---
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/RdfEndpoint.java
+++
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/RdfEndpoint.java
@@ -125,7 +125,7 @@ public class RdfEndpoint extends AbstractRestResource {
private List<RdfEndpointItem> getAllDataSinkEndpoints(String username,
List<RdfEndpointItem> existingItems) {
return getAllDataSinkUris(username)
.stream()
- .filter(s -> existingItems.stream().noneMatch(item ->
item.getElementId().equals(s)))
+ .filter(s -> existingItems.stream().noneMatch(item ->
s.equals(item.getElementId())))
.map(s ->
getTripleStorage().getPipelineElementStorage().getDataSinkById(s))
.map(source -> makeItem(source, "action"))
.collect(Collectors.toList());
diff --git
a/streampipes-wrapper-distributed/src/main/java/org/apache/streampipes/wrapper/distributed/runtime/DistributedRuntime.java
b/streampipes-wrapper-distributed/src/main/java/org/apache/streampipes/wrapper/distributed/runtime/DistributedRuntime.java
index dcd1694..2c508c7 100644
---
a/streampipes-wrapper-distributed/src/main/java/org/apache/streampipes/wrapper/distributed/runtime/DistributedRuntime.java
+++
b/streampipes-wrapper-distributed/src/main/java/org/apache/streampipes/wrapper/distributed/runtime/DistributedRuntime.java
@@ -17,7 +17,6 @@
*/
package org.apache.streampipes.wrapper.distributed.runtime;
-import org.apache.streampipes.config.backend.SpDataFormat;
import org.apache.streampipes.dataformat.SpDataFormatDefinition;
import org.apache.streampipes.dataformat.SpDataFormatManager;
import org.apache.streampipes.messaging.kafka.config.ConsumerConfigFactory;
diff --git
a/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataProcessorRuntime.java
b/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataProcessorRuntime.java
index 519725e..b9a49d8 100644
---
a/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataProcessorRuntime.java
+++
b/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataProcessorRuntime.java
@@ -107,6 +107,7 @@ public abstract class FlinkDataProcessorRuntime<B extends
EventProcessorBindingP
}
protected EventProcessorRuntimeParams<B> makeRuntimeParams() {
- return new EventProcessorRuntimeParams<>(bindingParams, false);
+ // TODO add support for config extractor & client
+ return new EventProcessorRuntimeParams<>(bindingParams, false, null, null);
}
}
diff --git
a/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataSinkRuntime.java
b/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataSinkRuntime.java
index 611f671..761c6de 100644
---
a/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataSinkRuntime.java
+++
b/streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataSinkRuntime.java
@@ -58,7 +58,8 @@ public abstract class FlinkDataSinkRuntime<B extends
EventSinkBindingParams> ext
public abstract void getSink(DataStream<Event>... convertedStream1);
protected EventSinkRuntimeParams<B> makeRuntimeParams() {
- return new EventSinkRuntimeParams<>(bindingParams, false);
+ // TODO add support for config extractor & client
+ return new EventSinkRuntimeParams<>(bindingParams, false, null, null);
}
}
diff --git
a/streampipes-wrapper-spark/src/main/java/org/apache/streampipes/wrapper/spark/AbstractSparkDeclarer.java
b/streampipes-wrapper-spark/src/main/java/org/apache/streampipes/wrapper/spark/AbstractSparkDeclarer.java
index 4798ca5..5c41055 100644
---
a/streampipes-wrapper-spark/src/main/java/org/apache/streampipes/wrapper/spark/AbstractSparkDeclarer.java
+++
b/streampipes-wrapper-spark/src/main/java/org/apache/streampipes/wrapper/spark/AbstractSparkDeclarer.java
@@ -28,7 +28,7 @@ public abstract class AbstractSparkDeclarer<D extends
NamedStreamPipesEntity, I
protected I graph;
@Override
- public Response invokeRuntime(I sepaInvocation) {
+ public Response invokeRuntime(I sepaInvocation, String serviceId) {
runtime = getRuntime(sepaInvocation);
graph = sepaInvocation;
@@ -40,7 +40,7 @@ public abstract class AbstractSparkDeclarer<D extends
NamedStreamPipesEntity, I
}
@Override
- public Response detachRuntime(String s) {
+ public Response detachRuntime(String pipelineId, String serviceId) {
if (runtime.stop()) {
return new Response(graph.getElementId(), true);
} else {
diff --git
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessingDeclarer.java
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessingDeclarer.java
index 953c758..9cba639 100644
---
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessingDeclarer.java
+++
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessingDeclarer.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.standalone.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataProcessorInvocation;
import
org.apache.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
import org.apache.streampipes.wrapper.declarer.EventProcessorDeclarer;
@@ -27,16 +29,19 @@ import
org.apache.streampipes.wrapper.standalone.ConfiguredEventProcessor;
import
org.apache.streampipes.wrapper.standalone.runtime.StandaloneEventProcessorRuntime;
public abstract class StandaloneEventProcessingDeclarer<B extends
- EventProcessorBindingParams> extends EventProcessorDeclarer<B,
StandaloneEventProcessorRuntime> {
+ EventProcessorBindingParams> extends EventProcessorDeclarer<B,
StandaloneEventProcessorRuntime<B>> {
- public abstract ConfiguredEventProcessor<B>
onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor
extractor);
+ public abstract ConfiguredEventProcessor<B>
onInvocation(DataProcessorInvocation graph,
+
ProcessingElementParameterExtractor extractor);
@Override
public StandaloneEventProcessorRuntime<B> getRuntime(DataProcessorInvocation
graph,
- ProcessingElementParameterExtractor extractor) {
+
ProcessingElementParameterExtractor extractor,
+ ConfigExtractor
configExtractor,
+ StreamPipesClient
streamPipesClient) {
ConfiguredEventProcessor<B> configuredEngine = onInvocation(graph,
extractor);
EventProcessorRuntimeParams<B> runtimeParams = new
EventProcessorRuntimeParams<>
- (configuredEngine.getBindingParams(), false);
+ (configuredEngine.getBindingParams(), false, configExtractor,
streamPipesClient);
return new
StandaloneEventProcessorRuntime<>(configuredEngine.getEngineSupplier(),
runtimeParams);
diff --git
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessorDeclarerSingleton.java
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessorDeclarerSingleton.java
index e9435ab..2fcf23f 100644
---
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessorDeclarerSingleton.java
+++
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessorDeclarerSingleton.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.standalone.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataProcessorInvocation;
import
org.apache.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
import org.apache.streampipes.wrapper.declarer.EventProcessorDeclarer;
@@ -26,14 +28,18 @@ import
org.apache.streampipes.wrapper.params.runtime.EventProcessorRuntimeParams
import org.apache.streampipes.wrapper.standalone.ConfiguredEventProcessor;
import
org.apache.streampipes.wrapper.standalone.runtime.StandaloneEventProcessorRuntime;
-public abstract class StandaloneEventProcessorDeclarerSingleton<B extends
EventProcessorBindingParams> extends EventProcessorDeclarer<B,
StandaloneEventProcessorRuntime> {
+public abstract class StandaloneEventProcessorDeclarerSingleton<B extends
EventProcessorBindingParams>
+ extends EventProcessorDeclarer<B, StandaloneEventProcessorRuntime<B>> {
@Override
- public StandaloneEventProcessorRuntime getRuntime(DataProcessorInvocation
graph, ProcessingElementParameterExtractor extractor) {
+ public StandaloneEventProcessorRuntime<B> getRuntime(DataProcessorInvocation
graph,
+
ProcessingElementParameterExtractor extractor,
+ ConfigExtractor
configExtractor,
+ StreamPipesClient
streamPipesClient) {
ConfiguredEventProcessor<B> configuredEngine = onInvocation(graph,
extractor);
EventProcessorRuntimeParams<B> runtimeParams = new
EventProcessorRuntimeParams<>
- (configuredEngine.getBindingParams(), true);
+ (configuredEngine.getBindingParams(), true, configExtractor,
streamPipesClient);
return new
StandaloneEventProcessorRuntime<>(configuredEngine.getEngineSupplier(),
runtimeParams);
diff --git
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarer.java
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarer.java
index 7842316..048b857 100644
---
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarer.java
+++
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarer.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.standalone.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataSinkInvocation;
import org.apache.streampipes.sdk.extractor.DataSinkParameterExtractor;
import org.apache.streampipes.wrapper.declarer.EventSinkDeclarer;
@@ -27,15 +29,17 @@ import
org.apache.streampipes.wrapper.standalone.ConfiguredEventSink;
import
org.apache.streampipes.wrapper.standalone.runtime.StandaloneEventSinkRuntime;
public abstract class StandaloneEventSinkDeclarer<B extends
- EventSinkBindingParams> extends EventSinkDeclarer<B,
StandaloneEventSinkRuntime> {
+ EventSinkBindingParams> extends EventSinkDeclarer<B,
StandaloneEventSinkRuntime<B>> {
@Override
public StandaloneEventSinkRuntime<B> getRuntime(DataSinkInvocation graph,
- DataSinkParameterExtractor extractor) {
+ DataSinkParameterExtractor
extractor,
+ ConfigExtractor
configExtractor,
+ StreamPipesClient
streamPipesClient) {
ConfiguredEventSink<B> configuredEngine = onInvocation(graph, extractor);
EventSinkRuntimeParams<B> runtimeParams = new EventSinkRuntimeParams<>
- (configuredEngine.getBindingParams(), false);
+ (configuredEngine.getBindingParams(), false, configExtractor,
streamPipesClient);
return new
StandaloneEventSinkRuntime<>(configuredEngine.getEngineSupplier(),
runtimeParams);
}
diff --git
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarerSingleton.java
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarerSingleton.java
index 82aab6f..aa2a27b 100644
---
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarerSingleton.java
+++
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarerSingleton.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.standalone.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataSinkInvocation;
import org.apache.streampipes.sdk.extractor.DataSinkParameterExtractor;
import org.apache.streampipes.wrapper.declarer.EventSinkDeclarer;
@@ -27,15 +29,17 @@ import
org.apache.streampipes.wrapper.standalone.ConfiguredEventSink;
import
org.apache.streampipes.wrapper.standalone.runtime.StandaloneEventSinkRuntime;
public abstract class StandaloneEventSinkDeclarerSingleton<B extends
- EventSinkBindingParams> extends EventSinkDeclarer<B,
StandaloneEventSinkRuntime> {
+ EventSinkBindingParams> extends EventSinkDeclarer<B,
StandaloneEventSinkRuntime<B>> {
@Override
public StandaloneEventSinkRuntime<B> getRuntime(DataSinkInvocation graph,
- DataSinkParameterExtractor extractor) {
+ DataSinkParameterExtractor
extractor,
+ ConfigExtractor
configExtractor,
+ StreamPipesClient
streamPipesClient) {
ConfiguredEventSink<B> configuredEngine = onInvocation(graph, extractor);
EventSinkRuntimeParams<B> runtimeParams = new EventSinkRuntimeParams<>
- (configuredEngine.getBindingParams(), true);
+ (configuredEngine.getBindingParams(), true, configExtractor,
streamPipesClient);
return new
StandaloneEventSinkRuntime<>(configuredEngine.getEngineSupplier(),
runtimeParams);
}
diff --git
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventProcessingDeclarer.java
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventProcessingDeclarer.java
index feb702c..8e020cf 100644
---
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventProcessingDeclarer.java
+++
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventProcessingDeclarer.java
@@ -17,6 +17,8 @@
*/
package org.apache.streampipes.wrapper.standalone.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataProcessorInvocation;
import
org.apache.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
import org.apache.streampipes.wrapper.declarer.EventProcessorDeclarer;
@@ -34,10 +36,12 @@ public abstract class
StandaloneExternalEventProcessingDeclarer<B extends
@Override
public StandaloneExternalEventProcessorRuntime<B>
getRuntime(DataProcessorInvocation graph,
-
ProcessingElementParameterExtractor extractor) {
+
ProcessingElementParameterExtractor extractor,
+ ConfigExtractor
configExtractor,
+
StreamPipesClient streamPipesClient) {
ConfiguredExternalEventProcessor<B> configuredEngine = onInvocation(graph,
extractor);
EventProcessorRuntimeParams<B> runtimeParams = new
EventProcessorRuntimeParams<>
- (configuredEngine.getBindingParams(), false);
+ (configuredEngine.getBindingParams(), false, configExtractor,
streamPipesClient);
return new
StandaloneExternalEventProcessorRuntime<>(configuredEngine.getEngineSupplier(),
runtimeParams);
diff --git
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventSinkDeclarer.java
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventSinkDeclarer.java
index 7ba8c97..2815c08 100644
---
a/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventSinkDeclarer.java
+++
b/streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventSinkDeclarer.java
@@ -17,6 +17,8 @@
*/
package org.apache.streampipes.wrapper.standalone.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataSinkInvocation;
import org.apache.streampipes.sdk.extractor.DataSinkParameterExtractor;
import org.apache.streampipes.wrapper.declarer.EventSinkDeclarer;
@@ -31,11 +33,13 @@ public abstract class StandaloneExternalEventSinkDeclarer<B
extends
@Override
public StandaloneExternalEventSinkRuntime<B> getRuntime(DataSinkInvocation
graph,
- DataSinkParameterExtractor
extractor) {
+
DataSinkParameterExtractor extractor,
+ ConfigExtractor
configExtractor,
+ StreamPipesClient
streamPipesClient) {
ConfiguredExternalEventSink<B> configuredEngine = onInvocation(graph,
extractor);
EventSinkRuntimeParams<B> runtimeParams = new EventSinkRuntimeParams<>
- (configuredEngine.getBindingParams(), false);
+ (configuredEngine.getBindingParams(), false, configExtractor,
streamPipesClient);
return new
StandaloneExternalEventSinkRuntime<>(configuredEngine.getEngineSupplier(),
runtimeParams);
diff --git a/streampipes-wrapper/pom.xml b/streampipes-wrapper/pom.xml
index 5a92e38..1801bd8 100644
--- a/streampipes-wrapper/pom.xml
+++ b/streampipes-wrapper/pom.xml
@@ -34,6 +34,11 @@
</dependency>
<dependency>
<groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-client</artifactId>
+ <version>0.68.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
<artifactId>streampipes-dataformat</artifactId>
<version>0.68.0-SNAPSHOT</version>
</dependency>
@@ -48,4 +53,4 @@
<version>0.68.0-SNAPSHOT</version>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
index 83c2580..5570767 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.streampipes.wrapper.context;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.logging.api.Logger;
import org.apache.streampipes.model.runtime.SchemaInfo;
import org.apache.streampipes.model.runtime.SourceInfo;
@@ -32,4 +34,10 @@ public interface RuntimeContext {
List<SourceInfo> getInputSourceInfo();
String getCorrespondingUser();
+
+ ConfigExtractor getConfigStore();
+
+ StreamPipesClient getStreamPipesClient();
+
+
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventProcessorRuntimeContext.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventProcessorRuntimeContext.java
index a8159fe..3d8579b 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventProcessorRuntimeContext.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventProcessorRuntimeContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.streampipes.wrapper.context;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.runtime.SchemaInfo;
import org.apache.streampipes.model.runtime.SourceInfo;
@@ -33,8 +35,10 @@ public class SpEventProcessorRuntimeContext extends
SpRuntimeContext implements
List<SchemaInfo> inputSchemaInfo,
SourceInfo outputSourceInfo,
SchemaInfo outputSchemaInfo,
- String correspondingUser) {
- super(inputSourceInfo, inputSchemaInfo, correspondingUser);
+ String correspondingUser,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient) {
+ super(inputSourceInfo, inputSchemaInfo, correspondingUser,
configExtractor, streamPipesClient);
this.outputSchemaInfo = outputSchemaInfo;
this.outputSourceInfo = outputSourceInfo;
}
@@ -52,4 +56,5 @@ public class SpEventProcessorRuntimeContext extends
SpRuntimeContext implements
public SourceInfo getOutputSourceInfo() {
return outputSourceInfo;
}
+
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventSinkRuntimeContext.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventSinkRuntimeContext.java
index 19c79aa..033918a 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventSinkRuntimeContext.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpEventSinkRuntimeContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.streampipes.wrapper.context;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.runtime.SchemaInfo;
import org.apache.streampipes.model.runtime.SourceInfo;
@@ -28,7 +30,9 @@ public class SpEventSinkRuntimeContext extends
SpRuntimeContext implements
public SpEventSinkRuntimeContext(List<SourceInfo> sourceInfo,
List<SchemaInfo> inputSchemaInfo,
- String correspondingUser) {
- super(sourceInfo, inputSchemaInfo, correspondingUser);
+ String correspondingUser,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient) {
+ super(sourceInfo, inputSchemaInfo, correspondingUser, configExtractor,
streamPipesClient);
}
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpRuntimeContext.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpRuntimeContext.java
index 40b9f34..44d6d61 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpRuntimeContext.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/SpRuntimeContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.streampipes.wrapper.context;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.logging.api.Logger;
import org.apache.streampipes.model.runtime.SchemaInfo;
import org.apache.streampipes.model.runtime.SourceInfo;
@@ -28,13 +30,19 @@ public class SpRuntimeContext implements RuntimeContext {
private List<SchemaInfo> inputSchemaInfo;
private List<SourceInfo> sourceInfo;
private String correspondingUser;
+ private ConfigExtractor configExtractor;
+ private StreamPipesClient streamPipesClient;
public SpRuntimeContext(List<SourceInfo> sourceInfo,
List<SchemaInfo> inputSchemaInfo,
- String correspondingUser) {
+ String correspondingUser,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient) {
this.inputSchemaInfo = inputSchemaInfo;
this.sourceInfo = sourceInfo;
this.correspondingUser = correspondingUser;
+ this.configExtractor = configExtractor;
+ this.streamPipesClient = streamPipesClient;
}
public SpRuntimeContext() {
@@ -61,4 +69,14 @@ public class SpRuntimeContext implements RuntimeContext {
public String getCorrespondingUser() {
return correspondingUser;
}
+
+ @Override
+ public ConfigExtractor getConfigStore() {
+ return this.configExtractor;
+ }
+
+ @Override
+ public StreamPipesClient getStreamPipesClient() {
+ return streamPipesClient;
+ }
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventProcessorDeclarer.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventProcessorDeclarer.java
index fa8c5bf..a8427da 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventProcessorDeclarer.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventProcessorDeclarer.java
@@ -40,8 +40,8 @@ public abstract class EventProcessorDeclarer<B extends
EventProcessorBindingPara
}
@Override
- public Response invokeRuntime(DataProcessorInvocation graph) {
- return invokeEPRuntime(graph);
+ public Response invokeRuntime(DataProcessorInvocation graph, String
serviceId) {
+ return invokeEPRuntime(graph, serviceId);
}
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventSinkDeclarer.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventSinkDeclarer.java
index f510f86..03974e0 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventSinkDeclarer.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventSinkDeclarer.java
@@ -36,8 +36,8 @@ public abstract class EventSinkDeclarer<B extends
EventSinkBindingParams, ES ext
}
@Override
- public Response invokeRuntime(DataSinkInvocation graph) {
- return invokeEPRuntime(graph);
+ public Response invokeRuntime(DataSinkInvocation graph, String serviceId) {
+ return invokeEPRuntime(graph, serviceId);
}
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/PipelineElementDeclarer.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/PipelineElementDeclarer.java
index 97877d6..73bb9ff 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/PipelineElementDeclarer.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/PipelineElementDeclarer.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.declarer;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.Response;
import org.apache.streampipes.model.base.InvocableStreamPipesEntity;
import org.apache.streampipes.sdk.extractor.AbstractParameterExtractor;
@@ -31,22 +33,24 @@ public abstract class PipelineElementDeclarer<B extends
BindingParams, EPR exten
protected EPR epRuntime;
protected String elementId;
- public Response invokeEPRuntime(I graph) {
+ public Response invokeEPRuntime(I graph, String serviceId) {
try {
elementId = graph.getElementId();
- // change to getRuntime(graph, extractor)
- epRuntime = getRuntime(graph, getExtractor(graph));
+ ConfigExtractor configExtractor = makeConfigExtractor(serviceId);
+ // TODO add StreamPipes Client support
+ StreamPipesClient streamPipesClient = null;
+ epRuntime = getRuntime(graph, getExtractor(graph), configExtractor,
streamPipesClient);
epRuntime.bindRuntime();
return new Response(graph.getElementId(), true);
} catch (Exception e) {
e.printStackTrace();
return new Response(graph.getElementId(), false, e.getMessage());
}
-
}
- public Response detachRuntime(String pipelineId) {
+ public Response detachRuntime(String pipelineId,
+ String serviceId) {
try {
epRuntime.discardRuntime();
return new Response(elementId, true);
@@ -58,9 +62,13 @@ public abstract class PipelineElementDeclarer<B extends
BindingParams, EPR exten
protected abstract EX getExtractor(I graph);
- public abstract EPR getRuntime(I graph, EX extractor);
-
-
+ public abstract EPR getRuntime(I graph,
+ EX extractor,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient);
+ private ConfigExtractor makeConfigExtractor(String serviceId) {
+ return ConfigExtractor.from(serviceId);
+ }
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventProcessorRuntimeParams.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventProcessorRuntimeParams.java
index 3160e9c..b26c7ae 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventProcessorRuntimeParams.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventProcessorRuntimeParams.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.params.runtime;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataProcessorInvocation;
import org.apache.streampipes.wrapper.context.EventProcessorRuntimeContext;
import org.apache.streampipes.wrapper.context.SpEventProcessorRuntimeContext;
@@ -26,8 +28,11 @@ import
org.apache.streampipes.wrapper.params.binding.EventProcessorBindingParams
public class EventProcessorRuntimeParams<B extends
EventProcessorBindingParams> extends
RuntimeParams<B, DataProcessorInvocation,
EventProcessorRuntimeContext> { // B - Bind Type
- public EventProcessorRuntimeParams(B bindingParams, Boolean singletonEngine)
{
- super(bindingParams, singletonEngine);
+ public EventProcessorRuntimeParams(B bindingParams,
+ Boolean singletonEngine,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient) {
+ super(bindingParams, singletonEngine, configExtractor, streamPipesClient);
}
@Override
@@ -35,7 +40,7 @@ public class EventProcessorRuntimeParams<B extends
EventProcessorBindingParams>
return new SpEventProcessorRuntimeContext(getSourceInfo(),
getSchemaInfo(), bindingParams.getOutputStreamParams()
.getSourceInfo(),
bindingParams.getOutputStreamParams().getSchemaInfo(),
- bindingParams.getGraph().getCorrespondingUser());
+ bindingParams.getGraph().getCorrespondingUser(), configExtractor,
streamPipesClient);
}
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventSinkRuntimeParams.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventSinkRuntimeParams.java
index 0286991..58ef58d 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventSinkRuntimeParams.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventSinkRuntimeParams.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.params.runtime;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.graph.DataSinkInvocation;
import org.apache.streampipes.wrapper.context.EventSinkRuntimeContext;
import org.apache.streampipes.wrapper.context.SpEventSinkRuntimeContext;
@@ -26,14 +28,17 @@ import
org.apache.streampipes.wrapper.params.binding.EventSinkBindingParams;
public class EventSinkRuntimeParams<B extends EventSinkBindingParams> extends
RuntimeParams<B, DataSinkInvocation, EventSinkRuntimeContext> {
- public EventSinkRuntimeParams(B bindingParams, Boolean singletonEngine) {
- super(bindingParams, singletonEngine);
+ public EventSinkRuntimeParams(B bindingParams,
+ Boolean singletonEngine,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient) {
+ super(bindingParams, singletonEngine, configExtractor, streamPipesClient);
}
@Override
protected EventSinkRuntimeContext makeRuntimeContext() {
return new SpEventSinkRuntimeContext(getSourceInfo(), getSchemaInfo(),
- bindingParams.getGraph().getCorrespondingUser());
+ bindingParams.getGraph().getCorrespondingUser(), configExtractor,
streamPipesClient);
}
}
diff --git
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/RuntimeParams.java
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/RuntimeParams.java
index fb77a92..d866a15 100644
---
a/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/RuntimeParams.java
+++
b/streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/RuntimeParams.java
@@ -18,6 +18,8 @@
package org.apache.streampipes.wrapper.params.runtime;
+import org.apache.streampipes.client.StreamPipesClient;
+import org.apache.streampipes.container.config.ConfigExtractor;
import org.apache.streampipes.model.base.InvocableStreamPipesEntity;
import org.apache.streampipes.model.runtime.Event;
import org.apache.streampipes.model.runtime.EventFactory;
@@ -38,14 +40,21 @@ public abstract class RuntimeParams<B extends
BindingParams<I>, I extends
protected final B bindingParams;
protected RC runtimeContext;
+ protected ConfigExtractor configExtractor;
+ protected StreamPipesClient streamPipesClient;
private Map<String, Integer> eventInfoMap = new HashMap<>();
private Boolean singletonEngine;
- public RuntimeParams(B bindingParams, Boolean singletonEngine) {
+ public RuntimeParams(B bindingParams,
+ Boolean singletonEngine,
+ ConfigExtractor configExtractor,
+ StreamPipesClient streamPipesClient) {
this.bindingParams = bindingParams;
this.singletonEngine = singletonEngine;
+ this.configExtractor = configExtractor;
+ this.streamPipesClient = streamPipesClient;
buildEventInfoMap();
this.runtimeContext = makeRuntimeContext();
}