aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/impl/StateMachineHandler.java20
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/event/EnEvent.java25
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/Executor.java8
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateExecutor.java114
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutor.java132
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutor.java109
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskExecutor.java138
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutor.java110
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContext.java47
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContext.java32
-rw-r--r--core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskSelectionExecutionContext.java5
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/engine/impl/DummySmExecutor.java32
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyStateFinalizerExecutor.java30
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskExecutor.java39
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskSelectExecutor.java31
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateExecutorTest.java10
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutorTest.java22
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutorTest.java32
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskExecutorTest.java12
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutorTest.java24
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContextTest.java8
-rw-r--r--core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContextTest.java8
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java33
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java47
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java4
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaConsumer.java2
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaProducer.java7
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java4
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java37
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java16
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/SupportApexEventReceiver.java23
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java4
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducer.java4
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducerTest.java10
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java4
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerProducer.java6
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/java/org/onap/policy/apex/plugins/event/carrier/restserver/SupportApexEventReceiver.java23
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketConsumer.java4
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducer.java20
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/test/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducerTest.java2
-rw-r--r--plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutor.java10
-rw-r--r--plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutor.java10
-rw-r--r--plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutor.java30
-rw-r--r--plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutorTest.java14
-rw-r--r--plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutorTest.java14
-rw-r--r--plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutorTest.java14
-rw-r--r--plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutor.java13
-rw-r--r--plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutor.java13
-rw-r--r--plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutor.java13
-rw-r--r--plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutorTest.java6
-rw-r--r--plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutorTest.java10
-rw-r--r--plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutorTest.java10
-rw-r--r--plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutor.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutor.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutor.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutorTest.java4
-rw-r--r--plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutorTest.java4
-rw-r--r--plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutorTest.java4
-rw-r--r--plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutor.java9
-rw-r--r--plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutor.java13
-rw-r--r--plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutor.java13
-rw-r--r--plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutorTest.java6
-rw-r--r--plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutorTest.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutorTest.java6
-rw-r--r--plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutor.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutor.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutor.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutorTest.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutorTest.java8
-rw-r--r--plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutorTest.java8
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEvent.java136
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventConverter.java6
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventProducer.java17
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventReceiver.java14
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumer.java20
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducer.java52
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/ApexFileEventConsumer.java18
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/producer/ApexFileEventProducer.java50
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventMarshaller.java3
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java67
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyStateFinalizerExecutor.java18
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskExecutor.java24
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskSelectExecutor.java23
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/SuperDooperEventProducer.java56
84 files changed, 903 insertions, 1135 deletions
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/impl/StateMachineHandler.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/impl/StateMachineHandler.java
index 636f87af3..c1007b1fe 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/impl/StateMachineHandler.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/impl/StateMachineHandler.java
@@ -38,13 +38,12 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * This handler holds and manages state machines for each policy in an Apex engine. When the class
- * is instantiated, an executor {@link StateMachineExecutor} is created for each policy in the
- * policy model the state machine handler will execute. The executors for each policy are held in a
- * map indexed by event.
+ * This handler holds and manages state machines for each policy in an Apex engine. When the class is instantiated, an
+ * executor {@link StateMachineExecutor} is created for each policy in the policy model the state machine handler will
+ * execute. The executors for each policy are held in a map indexed by event.
*
- * <p>When an event is received on the policy, the state machine executor to execute that event is
- * looked up on the executor map and the event is passed to the executor for execution.
+ * <p>When an event is received on the policy, the state machine executor to execute that event is looked up on the
+ * executor map and the event is passed to the executor for execution.
*
* @author Liam Fallon
*
@@ -111,8 +110,7 @@ public class StateMachineHandler {
}
/**
- * This constructor starts the state machines for each policy, carrying out whatever
- * initialization executors need.
+ * This constructor starts the state machines for each policy, carrying out whatever initialization executors need.
*
* @throws StateMachineException On state machine initiation errors
*/
@@ -127,8 +125,7 @@ public class StateMachineHandler {
final String stateMachineId = smExecutor.getContext().getKey().getId();
String message = "start()<-" + key.getId() + ", start failed, state machine \"" + stateMachineId + "\"";
LOGGER.warn(message, e);
- throw new StateMachineException(
- message, e);
+ throw new StateMachineException(message, e);
}
}
@@ -159,7 +156,8 @@ public class StateMachineHandler {
// Run the state machine
try {
LOGGER.debug("execute(): state machine \"{}\" execution starting . . .", stateMachineExecutor);
- final EnEvent outputObject = stateMachineExecutor.execute(event.getExecutionId(), event);
+ final EnEvent outputObject =
+ stateMachineExecutor.execute(event.getExecutionId(), event.getExecutionProperties(), event);
LOGGER.debug("execute()<-: state machine \"{}\" execution completed", stateMachineExecutor);
return outputObject;
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/event/EnEvent.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/event/EnEvent.java
index c510763cc..b7afedfea 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/event/EnEvent.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/event/EnEvent.java
@@ -26,6 +26,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
+import java.util.Properties;
import java.util.Random;
import java.util.Set;
@@ -70,6 +71,9 @@ public class EnEvent extends HashMap<String, Object> {
// be reset
private long executionId = rand.nextLong();
+ // Event related properties used during processing of this event
+ private Properties executionProperties;
+
// A string holding a message that indicates why processing of this event threw an exception
private String exceptionMessage;
@@ -89,7 +93,7 @@ public class EnEvent extends HashMap<String, Object> {
*/
public EnEvent(final AxEvent axEvent) {
super();
-
+
if (axEvent == null) {
throw new EnException("event definition is null or was not found in model service");
}
@@ -160,6 +164,24 @@ public class EnEvent extends HashMap<String, Object> {
}
/**
+ * Get the event execution properties.
+ *
+ * @return the event execution properties
+ */
+ public Properties getExecutionProperties() {
+ return executionProperties;
+ }
+
+ /**
+ * Set the event execution properties.
+ *
+ * @param executionProperties the execution properties to set
+ */
+ public void setExecutionProperties(Properties executionProperties) {
+ this.executionProperties = executionProperties;
+ }
+
+ /**
* Gets the exception message explaining why processing of this event to fail.
*
* @return the exception message
@@ -177,7 +199,6 @@ public class EnEvent extends HashMap<String, Object> {
this.exceptionMessage = exceptionMessage;
}
-
/**
* Get the user artifact stack of the event.
*
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/Executor.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/Executor.java
index 7a026edf7..fa0b40e77 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/Executor.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/Executor.java
@@ -20,6 +20,8 @@
package org.onap.policy.apex.core.engine.executor;
+import java.util.Properties;
+
import org.onap.policy.apex.core.engine.ExecutorParameters;
import org.onap.policy.apex.core.engine.executor.exception.StateMachineException;
import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
@@ -65,20 +67,22 @@ public interface Executor<I, O, S, C> {
* Executes the executor, running through its context in its natural order.
*
* @param executionId the execution ID of the current APEX execution policy thread
+ * @param executionProperties the execution properties to set
* @param incomingEntity the incoming entity that triggers execution
* @return The outgoing entity that is the result of execution
* @throws ApexException on an execution error
*/
- O execute(long executionId, I incomingEntity) throws ApexException;
+ O execute(long executionId, Properties executionProperties, I incomingEntity) throws ApexException;
/**
* Carry out the preparatory work for execution.
*
* @param executionId the execution ID of the current APEX execution policy thread
+ * @param executionProperties the execution properties to set
* @param incomingEntity the incoming entity that triggers execution
* @throws ApexException on an execution error
*/
- void executePre(long executionId, I incomingEntity) throws ApexException;
+ void executePre(long executionId, Properties executionProperties, I incomingEntity) throws ApexException;
/**
* Carry out the post work for execution, the returning entity should be set by the child
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateExecutor.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateExecutor.java
index 28ea13ea7..069c750c0 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateExecutor.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateExecutor.java
@@ -23,6 +23,7 @@ package org.onap.policy.apex.core.engine.executor;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Properties;
import java.util.TreeMap;
import org.onap.policy.apex.context.ContextException;
@@ -84,18 +85,14 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
/**
* Constructor, save the executor factory.
*
- * @param executorFactory the executor factory to use for getting executors for task selection
- * logic
+ * @param executorFactory the executor factory to use for getting executors for task selection logic
*/
public StateExecutor(final ExecutorFactory executorFactory) {
this.executorFactory = executorFactory;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setContext(org.onap.policy.apex.core.
- * engine.executor.Executor, java.lang.Object, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setContext(final Executor<?, ?, ?, ?> incomingParent, final AxState incomingAxState,
@@ -145,10 +142,8 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#prepare()
+ /**
+ * {@inheritDoc}
*/
@Override
public void prepare() throws StateMachineException {
@@ -164,15 +159,12 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long,
- * java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public StateOutput execute(final long executionId, final EnEvent incomingEvent)
- throws StateMachineException, ContextException {
+ public StateOutput execute(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEvent) throws StateMachineException, ContextException {
this.lastIncomingEvent = incomingEvent;
// Check that the incoming event matches the trigger for this state
@@ -188,7 +180,7 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
// There may be no task selection logic, in which case just return the default task
if (taskSelectExecutor != null) {
// Fire the task selector to find the task to run
- taskKey = taskSelectExecutor.execute(executionId, incomingEvent);
+ taskKey = taskSelectExecutor.execute(executionId, executionProperties, incomingEvent);
}
// If there's no task selection logic or the TSL returned no task, just use the default
@@ -201,7 +193,7 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
final TreeMap<String, Object> incomingValues = new TreeMap<>();
incomingValues.putAll(incomingEvent);
final Map<String, Object> taskExecutionResultMap =
- taskExecutorMap.get(taskKey).execute(executionId, incomingValues);
+ taskExecutorMap.get(taskKey).execute(executionId, executionProperties, incomingValues);
final AxTask task = taskExecutorMap.get(taskKey).getSubject();
// Check if this task has direct output
@@ -220,7 +212,7 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
// Execute the state finalizer logic to select a state output and to adjust the
// taskExecutionResultMap
stateOutputName =
- finalizerLogicExecutor.execute(incomingEvent.getExecutionId(), taskExecutionResultMap);
+ finalizerLogicExecutor.execute(executionId, executionProperties, taskExecutionResultMap);
}
// Now look up the the actual state output
@@ -242,6 +234,7 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
// Set the ExecutionID for the outgoing event to the value in the incoming event.
if (stateOutput.getOutputEvent() != null) {
stateOutput.getOutputEvent().setExecutionId(incomingEvent.getExecutionId());
+ stateOutput.getOutputEvent().setExecutionProperties(incomingEvent.getExecutionProperties());
}
// That's it, the state execution is complete
@@ -255,31 +248,22 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePre(java.lang.long,
- * java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public final void executePre(final long executionId, final EnEvent incomingEntity) throws StateMachineException {
+ public final void executePre(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEntity) throws StateMachineException {
throw new StateMachineException("execution pre work not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePost(boolean)
- */
@Override
public final void executePost(final boolean returnValue) throws StateMachineException {
throw new StateMachineException("execution post work not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
@@ -294,94 +278,72 @@ public class StateExecutor implements Executor<EnEvent, StateOutput, AxState, Ap
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getKey()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxReferenceKey getKey() {
return axState.getKey();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getParent()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<?, ?, ?, ?> getParent() {
return parent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getSubject()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxState getSubject() {
return axState;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getContext()
+ /**
+ * {@inheritDoc}
*/
@Override
public final ApexInternalContext getContext() {
return context;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getIncoming()
+ /**
+ * {@inheritDoc}
*/
@Override
public final EnEvent getIncoming() {
return lastIncomingEvent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getOutgoing()
+ /**
+ * {@inheritDoc}
*/
@Override
public final StateOutput getOutgoing() {
return lastStateOutput;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.core.engine.executor.Executor#setNext(org.onap.policy.apex.core.engine.
- * executor.Executor)
+ /**
+ * {@inheritDoc}
*/
@Override
public final void setNext(final Executor<EnEvent, StateOutput, AxState, ApexInternalContext> incomingNextExecutor) {
this.nextExecutor = incomingNextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getNext()
+ /**
+ * {@inheritDoc}
*/
@Override
public final Executor<EnEvent, StateOutput, AxState, ApexInternalContext> getNext() {
return nextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.core.engine.executor.Executor#setParameters(org.onap.policy.apex.core.
- * engine. ExecutorParameters)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setParameters(final ExecutorParameters parameters) {
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutor.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutor.java
index 2e6d96143..d406ac9ec 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutor.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutor.java
@@ -24,6 +24,7 @@ package org.onap.policy.apex.core.engine.executor;
import static org.onap.policy.common.utils.validation.Assertions.argumentOfClassNotNull;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.ExecutorParameters;
@@ -44,7 +45,7 @@ import org.slf4j.ext.XLoggerFactory;
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
public abstract class StateFinalizerExecutor
- implements Executor<Map<String, Object>, String, AxStateFinalizerLogic, ApexInternalContext> {
+ implements Executor<Map<String, Object>, String, AxStateFinalizerLogic, ApexInternalContext> {
// Logger for this class
private static final XLogger LOGGER = XLoggerFactory.getXLogger(StateFinalizerExecutor.class);
@@ -77,76 +78,64 @@ public abstract class StateFinalizerExecutor
return executionContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setContext(org.onap.policy.apex.core.
- * engine.executor.Executor, java.lang.Object, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setContext(final Executor<?, ?, ?, ?> incomingParent,
- final AxStateFinalizerLogic incomingFinalizerLogic,
- final ApexInternalContext incomingInternalContext) {
+ final AxStateFinalizerLogic incomingFinalizerLogic, final ApexInternalContext incomingInternalContext) {
this.parent = incomingParent;
axState = (AxState) parent.getSubject();
this.finalizerLogic = incomingFinalizerLogic;
this.internalContext = incomingInternalContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#prepare()
+ /**
+ * {@inheritDoc}
*/
@Override
public void prepare() throws StateMachineException {
LOGGER.debug("prepare:" + finalizerLogic.getId() + "," + finalizerLogic.getLogicFlavour() + ","
- + finalizerLogic.getLogic());
+ + finalizerLogic.getLogic());
argumentOfClassNotNull(finalizerLogic.getLogic(), StateMachineException.class,
- "state finalizer logic cannot be null.");
+ "state finalizer logic cannot be null.");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public String execute(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
throw new StateMachineException("execute() not implemented on abstract StateFinalizerExecutionContext class, "
- + "only on its subclasses");
+ + "only on its subclasses");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePre(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public final void executePre(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
+ public final void executePre(final long executionId, final Properties executionProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
LOGGER.debug("execute-pre:" + finalizerLogic.getLogicFlavour() + "," + getSubject().getId() + ","
- + finalizerLogic.getLogic());
+ + finalizerLogic.getLogic());
// Record the incoming fields
this.incomingFields = newIncomingFields;
// Get state finalizer context object
- executionContext = new StateFinalizerExecutionContext(this, executionId, axState, getIncoming(),
- axState.getStateOutputs().keySet(), getContext());
+ executionContext = new StateFinalizerExecutionContext(this, executionId, executionProperties, axState,
+ getIncoming(), axState.getStateOutputs().keySet(), getContext());
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePost(boolean)
+ /**
+ * {@inheritDoc}
*/
@Override
public final void executePost(final boolean returnValue) throws StateMachineException, ContextException {
if (!returnValue) {
String errorMessage = "execute-post: state finalizer logic execution failure on state \"" + axState.getId()
- + "\" on finalizer logic " + finalizerLogic.getId();
+ + "\" on finalizer logic " + finalizerLogic.getId();
if (executionContext.getMessage() != null) {
errorMessage += ", user message: " + executionContext.getMessage();
}
@@ -163,79 +152,65 @@ public abstract class StateFinalizerExecutor
if (!axState.getStateOutputs().keySet().contains(getOutgoing())) {
LOGGER.warn(EXECUTE_POST_SFL + finalizerLogic.getId() + "\" selected output state \"" + getOutgoing()
- + "\" that does not exsist on state \"" + axState.getId() + "\"");
+ + "\" that does not exsist on state \"" + axState.getId() + "\"");
throw new StateMachineException(EXECUTE_POST_SFL + finalizerLogic.getId() + "\" selected output state \""
- + getOutgoing() + "\" that does not exsist on state \"" + axState.getId() + "\"");
+ + getOutgoing() + "\" that does not exsist on state \"" + axState.getId() + "\"");
}
LOGGER.debug("execute-post:{}, returning state output \"{}\" and fields {}", finalizerLogic.getId(),
- getOutgoing(), incomingFields);
+ getOutgoing(), incomingFields);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
throw new StateMachineException("cleanUp() not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getKey()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxReferenceKey getKey() {
return finalizerLogic.getKey();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getParent()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<?, ?, ?, ?> getParent() {
return parent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getSubject()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxStateFinalizerLogic getSubject() {
return finalizerLogic;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getContext()
+ /**
+ * {@inheritDoc}
*/
@Override
public ApexInternalContext getContext() {
return internalContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getIncoming()
+ /**
+ * {@inheritDoc}
*/
@Override
public Map<String, Object> getIncoming() {
return incomingFields;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getOutgoing()
+ /**
+ * {@inheritDoc}
*/
@Override
public String getOutgoing() {
@@ -246,35 +221,26 @@ public abstract class StateFinalizerExecutor
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setNext(org.onap.policy.apex.core.engine.
- * executor.Executor)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setNext(
- final Executor<Map<String, Object>, String, AxStateFinalizerLogic, ApexInternalContext> inNextEx) {
+ final Executor<Map<String, Object>, String, AxStateFinalizerLogic, ApexInternalContext> inNextEx) {
this.nextExecutor = inNextEx;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getNext()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<Map<String, Object>, String, AxStateFinalizerLogic, ApexInternalContext> getNext() {
return nextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setParameters(org.onap.policy.apex.core. engine.
- * ExecutorParameters)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void setParameters(final ExecutorParameters parameters) {
- }
+ public void setParameters(final ExecutorParameters parameters) {}
}
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutor.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutor.java
index 34ba3942c..afc888e8d 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutor.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutor.java
@@ -21,6 +21,7 @@
package org.onap.policy.apex.core.engine.executor;
import java.util.Map;
+import java.util.Properties;
import java.util.TreeMap;
import org.onap.policy.apex.context.ContextException;
@@ -59,8 +60,7 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
private ExecutorFactory executorFactory = null;
/**
- * Constructor, save the executor factory that will give us executors for task selection logic
- * and task logic.
+ * Constructor, save the executor factory that will give us executors for task selection logic and task logic.
*
* @param executorFactory the executor factory
* @param owner the artifact key of the owner of this state machine
@@ -69,11 +69,8 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
this.executorFactory = executorFactory;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setContext(org.onap.policy.apex.core.
- * engine.executor.Executor, java.lang.Object, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setContext(final Executor<?, ?, ?, ?> newParent, final AxPolicy newAxPolicy,
@@ -109,10 +106,8 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#prepare()
+ /**
+ * {@inheritDoc}
*/
@Override
public void prepare() throws StateMachineException {
@@ -121,14 +116,11 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executeDirected(java.lang.long,
- * java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public EnEvent execute(final long executionId, final EnEvent incomingEvent)
+ public EnEvent execute(final long executionId, final Properties executionProperties, final EnEvent incomingEvent)
throws StateMachineException, ContextException {
// Check if there are any states on the state machine
if (stateExecutorMap.size() == 0) {
@@ -145,9 +137,10 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
StateExecutor stateExecutor = firstExecutor;
StateOutput stateOutput = new StateOutput(new AxStateOutput(firstExecutor.getSubject().getKey(),
incomingEvent.getKey(), firstExecutor.getSubject().getKey()), incomingEvent);
+
while (true) {
// Execute the state, it returns an output or throws an exception
- stateOutput = stateExecutor.execute(executionId, stateOutput.getOutputEvent());
+ stateOutput = stateExecutor.execute(executionId, executionProperties, stateOutput.getOutputEvent());
// Use the next state of the state output to find if all the states have executed
if (stateOutput.getNextState().equals(AxReferenceKey.getNullKey())) {
@@ -165,31 +158,25 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
return stateOutput.getOutputEvent();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePre(java.lang.long,
- * java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public final void executePre(final long executionId, final EnEvent incomingEntity) throws StateMachineException {
+ public final void executePre(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEntity) throws StateMachineException {
throw new StateMachineException("execution pre work not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePost(boolean)
+ /**
+ * {@inheritDoc}
*/
@Override
public final void executePost(final boolean returnValue) throws StateMachineException {
throw new StateMachineException("execution post work not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
@@ -198,94 +185,72 @@ public class StateMachineExecutor implements Executor<EnEvent, EnEvent, AxPolicy
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getKey()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxArtifactKey getKey() {
return axPolicy.getKey();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getParent()
+ /**
+ * {@inheritDoc}
*/
@Override
public final Executor<?, ?, ?, ?> getParent() {
return parent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getSubject()
+ /**
+ * {@inheritDoc}
*/
@Override
public final AxPolicy getSubject() {
return axPolicy;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getContext()
+ /**
+ * {@inheritDoc}
*/
@Override
public final ApexInternalContext getContext() {
return internalContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getIncoming()
+ /**
+ * {@inheritDoc}
*/
@Override
public final EnEvent getIncoming() {
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getOutgoing()
+ /**
+ * {@inheritDoc}
*/
@Override
public final EnEvent getOutgoing() {
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.core.engine.executor.Executor#setNext(org.onap.policy.apex.core.engine.
- * executor.Executor)
+ /**
+ * {@inheritDoc}
*/
@Override
public final void setNext(final Executor<EnEvent, EnEvent, AxPolicy, ApexInternalContext> newNextExecutor) {
this.nextExecutor = newNextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getNext()
+ /**
+ * {@inheritDoc}
*/
@Override
public final Executor<EnEvent, EnEvent, AxPolicy, ApexInternalContext> getNext() {
return nextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.core.engine.executor.Executor#setParameters(org.onap.policy.apex.core.
- * engine. ExecutorParameters)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setParameters(final ExecutorParameters parameters) {
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskExecutor.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskExecutor.java
index 9c21dc570..0aade5ff1 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskExecutor.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskExecutor.java
@@ -25,6 +25,7 @@ import static org.onap.policy.common.utils.validation.Assertions.argumentOfClass
import java.util.Iterator;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
@@ -49,7 +50,7 @@ import org.slf4j.ext.XLoggerFactory;
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
public abstract class TaskExecutor
- implements Executor<Map<String, Object>, Map<String, Object>, AxTask, ApexInternalContext> {
+ implements Executor<Map<String, Object>, Map<String, Object>, AxTask, ApexInternalContext> {
// Logger for this class
private static final XLogger LOGGER = XLoggerFactory.getXLogger(TaskExecutor.class);
@@ -79,55 +80,46 @@ public abstract class TaskExecutor
return executionContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setContext(org.onap.policy.apex.core.
- * engine.executor.Executor, java.lang.Object, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setContext(final Executor<?, ?, ?, ?> newParent, final AxTask newAxTask,
- final ApexInternalContext newInternalContext) {
+ final ApexInternalContext newInternalContext) {
this.parent = newParent;
this.axTask = newAxTask;
this.internalContext = newInternalContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#prepare()
+ /**
+ * {@inheritDoc}
*/
@Override
public void prepare() throws StateMachineException {
LOGGER.debug("prepare:" + axTask.getKey().getId() + "," + axTask.getTaskLogic().getLogicFlavour() + ","
- + axTask.getTaskLogic().getLogic());
+ + axTask.getTaskLogic().getLogic());
argumentOfClassNotNull(axTask.getTaskLogic().getLogic(), StateMachineException.class,
- "task logic cannot be null.");
+ "task logic cannot be null.");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
throw new StateMachineException(
- "execute() not implemented on abstract TaskExecutor class, only on its subclasses");
+ "execute() not implemented on abstract TaskExecutor class, only on its subclasses");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePre(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public final void executePre(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
+ public final void executePre(final long executionId, final Properties executionProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
LOGGER.debug("execute-pre:" + getSubject().getTaskLogic().getLogicFlavour() + ","
- + getSubject().getKey().getId() + "," + getSubject().getTaskLogic().getLogic());
+ + getSubject().getKey().getId() + "," + getSubject().getTaskLogic().getLogic());
// Check that the incoming event has all the input fields for this state
final Set<String> missingTaskInputFields = new TreeSet<>(axTask.getInputFields().keySet());
@@ -136,7 +128,7 @@ public abstract class TaskExecutor
// Remove fields from the set that are optional
final Set<String> optionalFields = new TreeSet<>();
for (final Iterator<String> missingFieldIterator = missingTaskInputFields.iterator(); missingFieldIterator
- .hasNext();) {
+ .hasNext();) {
final String missingField = missingFieldIterator.next();
if (axTask.getInputFields().get(missingField).getOptional()) {
optionalFields.add(missingField);
@@ -145,7 +137,7 @@ public abstract class TaskExecutor
missingTaskInputFields.removeAll(optionalFields);
if (!missingTaskInputFields.isEmpty()) {
throw new StateMachineException("task input fields \"" + missingTaskInputFields
- + "\" are missing for task \"" + axTask.getKey().getId() + "\"");
+ + "\" are missing for task \"" + axTask.getKey().getId() + "\"");
}
// Record the incoming fields
@@ -158,20 +150,18 @@ public abstract class TaskExecutor
}
// Get task context object
- executionContext = new TaskExecutionContext(this, executionId, getSubject(), getIncoming(), getOutgoing(),
- getContext());
+ executionContext = new TaskExecutionContext(this, executionId, executionProperties, getSubject(), getIncoming(),
+ getOutgoing(), getContext());
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePost(boolean)
+ /**
+ * {@inheritDoc}
*/
@Override
public final void executePost(final boolean returnValue) throws StateMachineException, ContextException {
if (!returnValue) {
String errorMessage = "execute-post: task logic execution failure on task \"" + axTask.getKey().getName()
- + "\" in model " + internalContext.getKey().getId();
+ + "\" in model " + internalContext.getKey().getId();
if (executionContext.getMessage() != null) {
errorMessage += ", user message: " + executionContext.getMessage();
}
@@ -194,17 +184,17 @@ public abstract class TaskExecutor
// Remove fields from the set that are optional
final Set<String> optionalOrCopiedFields = new TreeSet<>();
for (final Iterator<String> missingFieldIterator = missingTaskOutputFields.iterator(); missingFieldIterator
- .hasNext();) {
+ .hasNext();) {
final String missingField = missingFieldIterator.next();
if (axTask.getInputFields().containsKey(missingField)
- || axTask.getOutputFields().get(missingField).getOptional()) {
+ || axTask.getOutputFields().get(missingField).getOptional()) {
optionalOrCopiedFields.add(missingField);
}
}
missingTaskOutputFields.removeAll(optionalOrCopiedFields);
if (!missingTaskOutputFields.isEmpty()) {
throw new StateMachineException("task output fields \"" + missingTaskOutputFields
- + "\" are missing for task \"" + axTask.getKey().getId() + "\"");
+ + "\" are missing for task \"" + axTask.getKey().getId() + "\"");
}
// Finally, check that the outgoing field map don't have any extra fields, if present, raise
@@ -214,7 +204,7 @@ public abstract class TaskExecutor
extraTaskOutputFields.removeAll(axTask.getOutputFields().keySet());
if (!extraTaskOutputFields.isEmpty()) {
throw new StateMachineException("task output fields \"" + extraTaskOutputFields
- + "\" are unwanted for task \"" + axTask.getKey().getId() + "\"");
+ + "\" are unwanted for task \"" + axTask.getKey().getId() + "\"");
}
String message = "execute-post:" + axTask.getKey().getId() + ", returning fields " + outgoingFields.toString();
@@ -246,105 +236,81 @@ public abstract class TaskExecutor
getOutgoing().put(field, getIncoming().get(field));
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
throw new StateMachineException("cleanUp() not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getKey()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxArtifactKey getKey() {
return axTask.getKey();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getParent()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<?, ?, ?, ?> getParent() {
return parent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getSubject()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxTask getSubject() {
return axTask;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getContext()
+ /**
+ * {@inheritDoc}
*/
@Override
public ApexInternalContext getContext() {
return internalContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getIncoming()
+ /**
+ * {@inheritDoc}
*/
@Override
public Map<String, Object> getIncoming() {
return incomingFields;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getOutgoing()
+ /**
+ * {@inheritDoc}
*/
@Override
public Map<String, Object> getOutgoing() {
return outgoingFields;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setNext(org.onap.policy.apex.core.engine.
- * executor.Executor)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void setNext(
- final Executor<Map<String, Object>, Map<String, Object>, AxTask, ApexInternalContext> nextEx) {
+ public void setNext(final Executor<Map<String, Object>, Map<String, Object>, AxTask, ApexInternalContext> nextEx) {
this.nextExecutor = nextEx;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getNext()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<Map<String, Object>, Map<String, Object>, AxTask, ApexInternalContext> getNext() {
return nextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setParameters(org.onap.policy.apex.core. engine.
- * ExecutorParameters)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void setParameters(final ExecutorParameters parameters) {
- }
+ public void setParameters(final ExecutorParameters parameters) {}
}
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutor.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutor.java
index 3439655c9..66ffa9b32 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutor.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutor.java
@@ -23,6 +23,8 @@ package org.onap.policy.apex.core.engine.executor;
import static org.onap.policy.common.utils.validation.Assertions.argumentNotNull;
+import java.util.Properties;
+
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.ExecutorParameters;
import org.onap.policy.apex.core.engine.context.ApexInternalContext;
@@ -36,8 +38,8 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * This abstract class executes a the task selection logic of a state of an Apex policy and is
- * specialized by classes that implement execution of task selection logic.
+ * This abstract class executes a the task selection logic of a state of an Apex policy and is specialized by classes
+ * that implement execution of task selection logic.
*
* @author Sven van der Meer (sven.van.der.meer@ericsson.com)
* @author Liam Fallon (liam.fallon@ericsson.com)
@@ -72,11 +74,8 @@ public abstract class TaskSelectExecutor implements Executor<EnEvent, AxArtifact
return executionContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#setContext(org.onap.policy.apex.core.
- * engine.executor.Executor, java.lang.Object, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setContext(final Executor<?, ?, ?, ?> newParent, final AxState newAxState,
@@ -86,10 +85,8 @@ public abstract class TaskSelectExecutor implements Executor<EnEvent, AxArtifact
this.context = newContext;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#prepare()
+ /**
+ * {@inheritDoc}
*/
@Override
public void prepare() throws StateMachineException {
@@ -98,26 +95,21 @@ public abstract class TaskSelectExecutor implements Executor<EnEvent, AxArtifact
argumentNotNull(axState.getTaskSelectionLogic().getLogic(), "task selection logic cannot be null.");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long,
- * java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent newIncomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent newIncomingEvent) throws StateMachineException, ContextException {
throw new StateMachineException("execute() not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePre(java.lang.long,
- * java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public final void executePre(final long executionId, final EnEvent newIncomingEvent) throws StateMachineException {
+ public final void executePre(final long executionId, final Properties executionProperties,
+ final EnEvent newIncomingEvent) throws StateMachineException {
LOGGER.debug("execute-pre:" + axState.getKey().getId() + "," + axState.getTaskSelectionLogic().getLogicFlavour()
+ "," + axState.getTaskSelectionLogic().getLogic());
@@ -131,10 +123,8 @@ public abstract class TaskSelectExecutor implements Executor<EnEvent, AxArtifact
getOutgoing(), getContext());
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executePost(boolean)
+ /**
+ * {@inheritDoc}
*/
@Override
public final void executePost(final boolean returnValue) throws StateMachineException {
@@ -164,104 +154,80 @@ public abstract class TaskSelectExecutor implements Executor<EnEvent, AxArtifact
LOGGER.debug("execute-post:" + axState.getKey().getId() + "," + ", returning task " + outgoingTaskKey.getId());
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
throw new StateMachineException("cleanUp() not implemented on class");
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getKey()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxReferenceKey getKey() {
return axState.getKey();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getParent()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<?, ?, ?, ?> getParent() {
return parent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getSubject()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxState getSubject() {
return axState;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getContext()
+ /**
+ * {@inheritDoc}
*/
@Override
public ApexInternalContext getContext() {
return context;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.core.engine.executor.Executor#setNext(org.onap.policy.apex.core.engine.
- * executor.Executor)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setNext(final Executor<EnEvent, AxArtifactKey, AxState, ApexInternalContext> newNextExecutor) {
this.nextExecutor = newNextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getNext()
+ /**
+ * {@inheritDoc}
*/
@Override
public Executor<EnEvent, AxArtifactKey, AxState, ApexInternalContext> getNext() {
return nextExecutor;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getIncoming()
+ /**
+ * {@inheritDoc}
*/
@Override
public EnEvent getIncoming() {
return incomingEvent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getOutgoing()
+ /**
+ * {@inheritDoc}
*/
@Override
public AxArtifactKey getOutgoing() {
return outgoingTaskKey;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.core.engine.executor.Executor#setParameters(org.onap.policy.apex.core.
- * engine. ExecutorParameters)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setParameters(final ExecutorParameters parameters) {}
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContext.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContext.java
index 460639b90..5efd47e53 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContext.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContext.java
@@ -23,6 +23,7 @@ package org.onap.policy.apex.core.engine.executor.context;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
@@ -38,16 +39,15 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * Container class for the execution context for state finalizer logic executions in a state being
- * executed in an Apex engine. The state finalizer must have easy access to the state definition,
- * the fields, as well as the policy, global, and external context.
+ * Container class for the execution context for state finalizer logic executions in a state being executed in an Apex
+ * engine. The state finalizer must have easy access to the state definition, the fields, as well as the policy, global,
+ * and external context.
*
* @author Sven van der Meer (sven.van.der.meer@ericsson.com)
*/
public class StateFinalizerExecutionContext {
/**
- * Logger for state finalizer execution, state finalizer logic can use this field to access and
- * log to Apex logging.
+ * Logger for state finalizer execution, state finalizer logic can use this field to access and log to Apex logging.
*/
private static final XLogger EXCEUTION_LOGGER =
XLoggerFactory.getXLogger("org.onap.policy.apex.executionlogging.StateFinalizerExecutionLogging");
@@ -60,17 +60,19 @@ public class StateFinalizerExecutionContext {
/** the execution ID for the current APEX policy execution instance. */
public final Long executionId;
+ /** the execution properties the current APEX policy execution instance. */
+ public final Properties executionProperties;
+
/**
- * The list of state outputs for this state finalizer. The purpose of a state finalizer is to
- * select a state output for a state from this list of state output names.
+ * The list of state outputs for this state finalizer. The purpose of a state finalizer is to select a state output
+ * for a state from this list of state output names.
*/
public final Set<String> stateOutputNames;
/**
- * The fields of this state finalizer. A state finalizer receives this list of fields from a
- * task and may use these fields to determine what state output to select. Once a state
- * finalizer has selected a state output, it must marshal these fields so that they match the
- * fields required for the event defined in the state output.
+ * The fields of this state finalizer. A state finalizer receives this list of fields from a task and may use these
+ * fields to determine what state output to select. Once a state finalizer has selected a state output, it must
+ * marshal these fields so that they match the fields required for the event defined in the state output.
*/
public final Map<String, Object> fields;
@@ -78,15 +80,13 @@ public class StateFinalizerExecutionContext {
private String message;
/**
- * The state output that the state finalizer logic has selected for a state. The state finalizer
- * logic sets this field in its logic after executing and the Apex engine uses this state output
- * for this state.
+ * The state output that the state finalizer logic has selected for a state. The state finalizer logic sets this
+ * field in its logic after executing and the Apex engine uses this state output for this state.
*/
private String selectedStateOutputName;
/**
- * Logger for state finalizer execution, state finalizer logic can use this field to access and
- * log to Apex logging.
+ * Logger for state finalizer execution, state finalizer logic can use this field to access and log to Apex logging.
*/
public final XLogger logger = EXCEUTION_LOGGER;
@@ -100,20 +100,20 @@ public class StateFinalizerExecutionContext {
*
* @param stateFinalizerExecutor the state finalizer executor that requires context
* @param executionId the execution ID for the current APEX policy execution instance
+ * @param executionProperties the execution properties for task execution
* @param axState the state definition that is the subject of execution
* @param fields the fields to be manipulated by the state finalizer
- * @param stateOutputNames the state output names, one of which will be selected by the state
- * finalizer
- * @param internalContext the execution context of the Apex engine in which the task is being
- * executed
+ * @param stateOutputNames the state output names, one of which will be selected by the state finalizer
+ * @param internalContext the execution context of the Apex engine in which the task is being executed
*/
public StateFinalizerExecutionContext(final StateFinalizerExecutor stateFinalizerExecutor, final long executionId,
- final AxState axState, final Map<String, Object> fields, final Set<String> stateOutputNames,
- final ApexInternalContext internalContext) {
+ final Properties executionProperties, final AxState axState, final Map<String, Object> fields,
+ final Set<String> stateOutputNames, final ApexInternalContext internalContext) {
subject = new AxStateFacade(axState);
// Execution ID is the current policy execution instance
this.executionId = executionId;
+ this.executionProperties = executionProperties;
this.fields = fields;
this.stateOutputNames = stateOutputNames;
@@ -147,8 +147,7 @@ public class StateFinalizerExecutionContext {
*
* @param contextAlbumName The context album name
* @return The context album
- * @throws ContextRuntimeException if the context album does not exist on the state for this
- * executor
+ * @throws ContextRuntimeException if the context album does not exist on the state for this executor
*/
public ContextAlbum getContextAlbum(final String contextAlbumName) {
// Find the context album
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContext.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContext.java
index 4a9e83063..6fb55a3e7 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContext.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContext.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.TreeMap;
import org.onap.policy.apex.context.ContextAlbum;
@@ -38,9 +39,9 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * Container class for the execution context for Task logic executions in a task being executed in
- * an Apex engine. The task must have easy access to the task definition, the incoming and outgoing
- * field contexts, as well as the policy, global, and external context.
+ * Container class for the execution context for Task logic executions in a task being executed in an Apex engine. The
+ * task must have easy access to the task definition, the incoming and outgoing field contexts, as well as the policy,
+ * global, and external context.
*
* @author Sven van der Meer (sven.van.der.meer@ericsson.com)
*/
@@ -65,15 +66,18 @@ public class TaskExecutionContext {
/** the execution ID for the current APEX policy execution instance. */
public final Long executionId;
+ /** the execution properties the current APEX policy execution instance. */
+ public final Properties executionProperties;
+
/**
- * The incoming fields from the trigger event for the task. The task logic can access these
- * fields when executing its logic.
+ * The incoming fields from the trigger event for the task. The task logic can access these fields when executing
+ * its logic.
*/
public final Map<String, Object> inFields;
/**
- * The outgoing fields from the task. The task logic can access and set these fields with its
- * logic. A task outputs its result using these fields.
+ * The outgoing fields from the task. The task logic can access and set these fields with its logic. A task outputs
+ * its result using these fields.
*/
public final Map<String, Object> outFields;
@@ -98,20 +102,21 @@ public class TaskExecutionContext {
*
* @param taskExecutor the task executor that requires context
* @param executionId the execution ID for the current APEX policy execution instance
+ * @param executionProperties the execution properties for task execution
* @param axTask the task definition that is the subject of execution
* @param inFields the in fields
* @param outFields the out fields
- * @param internalContext the execution context of the Apex engine in which the task is being
- * executed
+ * @param internalContext the execution context of the Apex engine in which the task is being executed
*/
- public TaskExecutionContext(final TaskExecutor taskExecutor, final long executionId, final AxTask axTask,
- final Map<String, Object> inFields, final Map<String, Object> outFields,
- final ApexInternalContext internalContext) {
+ public TaskExecutionContext(final TaskExecutor taskExecutor, final long executionId,
+ final Properties executionProperties, final AxTask axTask, final Map<String, Object> inFields,
+ final Map<String, Object> outFields, final ApexInternalContext internalContext) {
// The subject is the task definition
subject = new AxTaskFacade(axTask);
// Execution ID is the current policy execution instance
this.executionId = executionId;
+ this.executionProperties = executionProperties;
// The input and output fields
this.inFields = Collections.unmodifiableMap(inFields);
@@ -144,8 +149,7 @@ public class TaskExecutionContext {
*
* @param contextAlbumName The context album name
* @return The context album
- * @throws ContextRuntimeException if the context album does not exist on the task for this
- * executor
+ * @throws ContextRuntimeException if the context album does not exist on the task for this executor
*/
public ContextAlbum getContextAlbum(final String contextAlbumName) {
// Find the context album
diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskSelectionExecutionContext.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskSelectionExecutionContext.java
index 63052348a..10d21a76f 100644
--- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskSelectionExecutionContext.java
+++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskSelectionExecutionContext.java
@@ -23,6 +23,7 @@ package org.onap.policy.apex.core.engine.executor.context;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.TreeMap;
import org.onap.policy.apex.context.ContextAlbum;
@@ -65,6 +66,9 @@ public class TaskSelectionExecutionContext {
/** the execution ID for the current APEX policy execution instance. */
public final Long executionId;
+ /** the execution properties the current APEX policy execution instance. */
+ public final Properties executionProperties;
+
/**
* The incoming fields from the trigger event for the state. The task selection logic can access
* these fields to decide what task to select for the state.
@@ -111,6 +115,7 @@ public class TaskSelectionExecutionContext {
// Execution ID is the current policy execution instance
this.executionId = executionId;
+ this.executionProperties = incomingEvent.getExecutionProperties();
// The events
inFields = incomingEvent;
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/engine/impl/DummySmExecutor.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/engine/impl/DummySmExecutor.java
index db8fc32d9..b95e959f0 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/engine/impl/DummySmExecutor.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/engine/impl/DummySmExecutor.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.core.engine.engine.impl;
+import java.util.Properties;
+
import org.onap.policy.apex.core.engine.event.EnEvent;
import org.onap.policy.apex.core.engine.executor.ExecutorFactory;
import org.onap.policy.apex.core.engine.executor.StateMachineExecutor;
@@ -32,10 +34,10 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
public class DummySmExecutor extends StateMachineExecutor {
private boolean cleanupWorks = false;
private boolean prepareWorks;
-
+
/**
* Constructor.
- *
+ *
* @param executorFactory the factory for executors
* @param owner the owner key
*/
@@ -43,10 +45,8 @@ public class DummySmExecutor extends StateMachineExecutor {
super(executorFactory, owner);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#prepare()
+ /**
+ * {@inheritDoc}
*/
@Override
public void prepare() throws StateMachineException {
@@ -59,20 +59,16 @@ public class DummySmExecutor extends StateMachineExecutor {
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#executeDirected(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public EnEvent execute(final long executionId, final EnEvent incomingEvent) {
+ public EnEvent execute(final long executionId, final Properties executionProperties, final EnEvent incomingEvent) {
return incomingEvent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyStateFinalizerExecutor.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyStateFinalizerExecutor.java
index abc11871e..b4fefc2d9 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyStateFinalizerExecutor.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyStateFinalizerExecutor.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,6 +21,7 @@
package org.onap.policy.apex.core.engine.executor;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.executor.exception.StateMachineException;
@@ -30,34 +31,31 @@ import org.onap.policy.apex.core.engine.executor.exception.StateMachineException
*/
public class DummyStateFinalizerExecutor extends StateFinalizerExecutor {
private boolean override;
-
+
private boolean returnBad;
public DummyStateFinalizerExecutor() {
this(false);
}
-
+
public DummyStateFinalizerExecutor(final boolean override) {
this.override = override;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public String execute(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
-
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
+
if (!override) {
- super.execute(executionId, newIncomingFields);
+ super.execute(executionId, executionProperties, newIncomingFields);
}
-
+
if (returnBad) {
return "stateOutputBad";
- }
- else {
+ } else {
return "stateOutput1";
}
}
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskExecutor.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskExecutor.java
index 93fc6190f..fcfc85f66 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskExecutor.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskExecutor.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,6 +21,7 @@
package org.onap.policy.apex.core.engine.executor;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.event.EnEvent;
@@ -48,42 +49,36 @@ public class DummyTaskExecutor extends TaskExecutor {
super.prepare();
}
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long, java.lang.Object)
+
+ /**
+ * {@inheritDoc}
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
if (!override) {
- super.execute(executionId, newIncomingFields);
+ super.execute(executionId, executionProperties, newIncomingFields);
}
-
+
AxArtifactKey event0Key = new AxArtifactKey("Event0:0.0.1");
return new EnEvent(event0Key);
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#getSubject()
+
+ /**
+ * {@inheritDoc}
*/
@Override
public AxTask getSubject() {
if (!override) {
super.getSubject();
}
-
+
AxArtifactKey taskKey = new AxArtifactKey("FirstTask:0.0.1");
return new AxTask(taskKey);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskSelectExecutor.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskSelectExecutor.java
index abbb1bd79..03d0b2894 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskSelectExecutor.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskSelectExecutor.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.core.engine.executor;
+import java.util.Properties;
+
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.event.EnEvent;
import org.onap.policy.apex.core.engine.executor.exception.StateMachineException;
@@ -32,7 +34,7 @@ public class DummyTaskSelectExecutor extends TaskSelectExecutor {
private boolean override;
private static int taskNo;
-
+
public DummyTaskSelectExecutor() {
this(false);
}
@@ -48,30 +50,25 @@ public class DummyTaskSelectExecutor extends TaskSelectExecutor {
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#execute(java.lang.long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent newIncomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent newIncomingEvent) throws StateMachineException, ContextException {
if (!override) {
- return super.execute(executionId, newIncomingEvent);
+ return super.execute(executionId, executionProperties, newIncomingEvent);
}
-
+
return new AxArtifactKey("task" + (taskNo++) + ":0.0.1");
}
public void setTaskNo(int incomingTaskNo) {
taskNo = incomingTaskNo;
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.core.engine.executor.Executor#cleanUp()
+ /**
+ * {@inheritDoc}
*/
@Override
public void cleanUp() throws StateMachineException {
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateExecutorTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateExecutorTest.java
index 08ab03b06..ed5f9135c 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateExecutorTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -56,7 +56,7 @@ public class StateExecutorTest {
@Before
public void startMocking() {
MockitoAnnotations.initMocks(this);
-
+
Mockito.doReturn(new AxReferenceKey("Policy:0.0.1:PolName:State0")).when(axStateMock).getKey();
}
@@ -80,7 +80,7 @@ public class StateExecutorTest {
assertEquals(null, executor.getNext());
try {
- executor.executePre(0, null);
+ executor.executePre(0, null, null);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("execution pre work not implemented on class", ex.getMessage());
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutorTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutorTest.java
index 82ac610c9..a94fe9e80 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutorTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateFinalizerExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -63,10 +63,10 @@ public class StateFinalizerExecutorTest {
@Before
public void startMocking() {
MockitoAnnotations.initMocks(this);
-
+
AxState state = new AxState();
state.getStateOutputs().put("ValidOutput", null);
-
+
Mockito.doReturn(state).when(parentMock).getSubject();
Mockito.doReturn(new AxReferenceKey("State:0.0.1:StateName:StateSFL")).when(stateFinalizerLogicMock).getKey();
@@ -117,19 +117,19 @@ public class StateFinalizerExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception ex) {
assertEquals("task input fields \"[InField0]\" are missing for task \"Task0:0.0.1\"", ex.getMessage());
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception e) {
fail("test should not throw an exception");
}
try {
- executor.execute(0, incomingEvent);
+ executor.execute(0, null, incomingEvent);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("execute() not implemented on abstract StateFinalizerExecutionContext class, "
@@ -154,7 +154,7 @@ public class StateFinalizerExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -168,7 +168,7 @@ public class StateFinalizerExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -184,7 +184,7 @@ public class StateFinalizerExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception ex) {
fail("test should not throw an exception");
}
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutorTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutorTest.java
index f9d3edc6c..c2abd1e96 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutorTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/StateMachineExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -187,7 +187,7 @@ public class StateMachineExecutorTest {
new AxArtifactKey("OwnerKey:0.0.1"));
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("no states defined on state machine", ex.getMessage());
@@ -209,7 +209,7 @@ public class StateMachineExecutorTest {
assertEquals(null, executor.getNext());
try {
- executor.executePre(0, null);
+ executor.executePre(0, null, null);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("execution pre work not implemented on class", ex.getMessage());
@@ -231,7 +231,7 @@ public class StateMachineExecutorTest {
axPolicy.setFirstState("BadState");
executor.setContext(null, axPolicy, internalContextMock);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("first state not defined on state machine", ex.getMessage());
@@ -240,14 +240,14 @@ public class StateMachineExecutorTest {
axPolicy.setFirstState("state0");
executor.setContext(null, axPolicy, internalContextMock);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -256,7 +256,7 @@ public class StateMachineExecutorTest {
axPolicy.getStateMap().get("State1").getStateOutputs().get("stateOutput1").setNextState(badStateKey);
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("state execution failed, next state \"Policy:0.0.1:PName:BadState\" not found",
@@ -267,7 +267,7 @@ public class StateMachineExecutorTest {
.setNextState(AxReferenceKey.getNullKey());
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -275,7 +275,7 @@ public class StateMachineExecutorTest {
axPolicy.getStateMap().get("State1").setTrigger(new AxArtifactKey("BadTrigger:0.0.1"));
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("incoming event \"Event1:0.0.1\" does not match trigger \"BadTrigger:0.0.1\" "
@@ -285,7 +285,7 @@ public class StateMachineExecutorTest {
axPolicy.getStateMap().get("State1").setTrigger(new AxArtifactKey("Event1:0.0.1"));
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -309,7 +309,7 @@ public class StateMachineExecutorTest {
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -334,7 +334,7 @@ public class StateMachineExecutorTest {
dummyTsle.setTaskNo(0);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
@@ -342,7 +342,7 @@ public class StateMachineExecutorTest {
dummyTsle.setTaskNo(0);
dummySfle.setReturnBad(true);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("State execution of state \"Policy:0.0.1:NULL:state1\" on task \"task1:0.0.1\" failed: "
@@ -353,7 +353,7 @@ public class StateMachineExecutorTest {
dummyTsle.setTaskNo(0);
dummySfle.setReturnBad(false);
try {
- executor.execute(0, incomingEventMock);
+ executor.execute(0, null, incomingEventMock);
} catch (Exception ex) {
fail("test should not throw an exception");
}
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskExecutorTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskExecutorTest.java
index bfc8e2b6d..a4a0f21ec 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskExecutorTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -158,20 +158,20 @@ public class TaskExecutorTest {
Map<String, Object> incomingFields = new LinkedHashMap<>();
try {
- executor.executePre(0, incomingFields);
+ executor.executePre(0, null, incomingFields);
} catch (Exception ex) {
assertEquals("task input fields \"[InField0]\" are missing for task \"Task0:0.0.1\"", ex.getMessage());
}
incomingFields.put("InField0", "A Value");
try {
- executor.executePre(0, incomingFields);
+ executor.executePre(0, null, incomingFields);
} catch (Exception e) {
fail("test should not throw an exception");
}
try {
- executor.execute(0, incomingFields);
+ executor.execute(0, null, incomingFields);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("execute() not implemented on abstract TaskExecutor class, only on its subclasses",
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutorTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutorTest.java
index b303df06a..2ee308977 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutorTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskSelectExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -70,7 +70,7 @@ public class TaskSelectExecutorTest {
AxReferenceKey state0Key = new AxReferenceKey("State0Parent:0.0.1:Parent:State0");
Mockito.doReturn(state0Key).when(axStateMock).getKey();
Mockito.doReturn(state0Key.getId()).when(axStateMock).getId();
-
+
Map<AxArtifactKey, AxStateTaskReference> taskReferences = new LinkedHashMap<>();
taskReferences.put(new AxArtifactKey("Task0:0.0.0"), null);
taskReferences.put(new AxArtifactKey("Task1:0.0.0"), null);
@@ -127,19 +127,19 @@ public class TaskSelectExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception ex) {
assertEquals("task input fields \"[InField0]\" are missing for task \"Task0:0.0.1\"", ex.getMessage());
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception e) {
fail("test should not throw an exception");
}
try {
- executor.execute(0, incomingEvent);
+ executor.execute(0, null, incomingEvent);
fail("test should throw an exception");
} catch (Exception ex) {
assertEquals("execute() not implemented on class", ex.getMessage());
@@ -163,7 +163,7 @@ public class TaskSelectExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception e) {
fail("test should not throw an exception");
}
@@ -176,7 +176,7 @@ public class TaskSelectExecutorTest {
}
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception e) {
fail("test should not throw an exception");
}
@@ -189,15 +189,15 @@ public class TaskSelectExecutorTest {
assertEquals("task \"IDontExist:0.0.0\" returned by task selection logic not defined "
+ "on state \"State0Parent:0.0.1:Parent:State0\"", ex.getMessage());
}
-
+
try {
- executor.executePre(0, incomingEvent);
+ executor.executePre(0, null, incomingEvent);
} catch (Exception e) {
fail("test should not throw an exception");
}
executor.getOutgoing().setName("Task0");
-
+
try {
executor.executePost(true);
assertEquals("Task0", executor.getOutgoing().getName());
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContextTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContextTest.java
index 8b0710ec7..fe437b823 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContextTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/StateFinalizerExecutionContextTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -89,7 +89,7 @@ public class StateFinalizerExecutionContextTest {
final Map<String, Object> fields = new LinkedHashMap<>();
final Set<String> stateOutputNames = new LinkedHashSet<>();
- StateFinalizerExecutionContext sfec = new StateFinalizerExecutionContext(stateFinalizerExecutorMock, 0,
+ StateFinalizerExecutionContext sfec = new StateFinalizerExecutionContext(stateFinalizerExecutorMock, 0, null,
axStateMock, fields, stateOutputNames, internalContextMock);
assertNotNull(sfec);
diff --git a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContextTest.java b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContextTest.java
index c6c196a01..29c536ed4 100644
--- a/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContextTest.java
+++ b/core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContextTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -87,7 +87,7 @@ public class TaskExecutionContextTest {
final Map<String, Object> inFields = new LinkedHashMap<>();
final Map<String, Object> outFields = new LinkedHashMap<>();
- TaskExecutionContext tec = new TaskExecutionContext(taskExecutorMock, 0, axTaskMock, inFields, outFields,
+ TaskExecutionContext tec = new TaskExecutionContext(taskExecutorMock, 0, null, axTaskMock, inFields, outFields,
internalContextMock);
assertNotNull(tec);
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java
index 303165558..3fd39eedf 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java
@@ -142,10 +142,8 @@ public class ApexJmsConsumer implements MessageListener, ApexEventConsumer, Runn
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#start()
+ /**
+ * {@inheritDoc}
*/
@Override
public void start() {
@@ -156,21 +154,16 @@ public class ApexJmsConsumer implements MessageListener, ApexEventConsumer, Runn
consumerThread.start();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#getName()
+ /**
+ * {@inheritDoc}
*/
@Override
public String getName() {
return name;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#getPeeredReference(org.onap.policy.apex.service.
- * parameters. eventhandler.EventHandlerPeeredMode)
+ /**
+ * {@inheritDoc}
*/
@Override
public PeeredReference getPeeredReference(final EventHandlerPeeredMode peeredMode) {
@@ -231,10 +224,8 @@ public class ApexJmsConsumer implements MessageListener, ApexEventConsumer, Runn
}
}
- /*
- * (non-Javadoc)
- *
- * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
+ /**
+ * {@inheritDoc}
*/
@Override
public void onMessage(final Message jmsMessage) {
@@ -245,7 +236,7 @@ public class ApexJmsConsumer implements MessageListener, ApexEventConsumer, Runn
jmsMessage.getJMSType());
}
- eventReceiver.receiveEvent(jmsMessage);
+ eventReceiver.receiveEvent(null, jmsMessage);
} catch (final Exception e) {
final String errorMessage = "failed to receive message from JMS";
LOGGER.warn(errorMessage, e);
@@ -253,10 +244,8 @@ public class ApexJmsConsumer implements MessageListener, ApexEventConsumer, Runn
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.apps.uservice.producer.ApexEventProducer#stop()
+ /**
+ * {@inheritDoc}
*/
@Override
public void stop() {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java
index 4dcbf80c8..e98ee8ff8 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java
@@ -23,6 +23,7 @@ package org.onap.policy.apex.plugins.event.carrier.jms;
import java.io.Serializable;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
@@ -82,13 +83,13 @@ public class ApexJmsProducer implements ApexEventProducer {
*/
@Override
public void init(final String producerName, final EventHandlerParameters producerParameters)
- throws ApexEventException {
+ throws ApexEventException {
this.name = producerName;
// Check and get the JMS Properties
if (!(producerParameters.getCarrierTechnologyParameters() instanceof JmsCarrierTechnologyParameters)) {
- final String errorMessage = "specified producer properties are not applicable to a JMS producer ("
- + this.name + ")";
+ final String errorMessage =
+ "specified producer properties are not applicable to a JMS producer (" + this.name + ")";
LOGGER.warn(errorMessage);
throw new ApexEventException(errorMessage);
}
@@ -104,13 +105,13 @@ public class ApexJmsProducer implements ApexEventProducer {
// Check if we actually got a connection factory
if (connectionFactory == null) {
throw new IllegalArgumentException(
- "JMS context lookup of \"" + jmsProducerProperties.getConnectionFactory()
- + "\" returned null for producer (" + this.name + ")");
+ "JMS context lookup of \"" + jmsProducerProperties.getConnectionFactory()
+ + "\" returned null for producer (" + this.name + ")");
}
} catch (final Exception e) {
final String errorMessage = "lookup of JMS connection factory \""
- + jmsProducerProperties.getConnectionFactory() + "\" failed for JMS producer properties \""
- + jmsProducerProperties.getJmsConsumerProperties() + FOR_PRODUCER_TAG + this.name + ")";
+ + jmsProducerProperties.getConnectionFactory() + "\" failed for JMS producer properties \""
+ + jmsProducerProperties.getJmsConsumerProperties() + FOR_PRODUCER_TAG + this.name + ")";
LOGGER.warn(errorMessage, e);
throw new ApexEventException(errorMessage, e);
}
@@ -123,12 +124,12 @@ public class ApexJmsProducer implements ApexEventProducer {
// Check if we actually got a topic
if (jmsOutgoingTopic == null) {
throw new IllegalArgumentException("JMS context lookup of \"" + jmsProducerProperties.getProducerTopic()
- + "\" returned null for producer (" + this.name + ")");
+ + "\" returned null for producer (" + this.name + ")");
}
} catch (final Exception e) {
final String errorMessage = "lookup of JMS topic \"" + jmsProducerProperties.getProducerTopic()
- + "\" failed for JMS producer properties \""
- + jmsProducerProperties.getJmsProducerProperties() + FOR_PRODUCER_TAG + this.name + ")";
+ + "\" failed for JMS producer properties \"" + jmsProducerProperties.getJmsProducerProperties()
+ + FOR_PRODUCER_TAG + this.name + ")";
LOGGER.warn(errorMessage, e);
throw new ApexEventException(errorMessage, e);
}
@@ -136,11 +137,11 @@ public class ApexJmsProducer implements ApexEventProducer {
// Create and start a connection to the JMS server
try {
connection = connectionFactory.createConnection(jmsProducerProperties.getSecurityPrincipal(),
- jmsProducerProperties.getSecurityCredentials());
+ jmsProducerProperties.getSecurityCredentials());
connection.start();
} catch (final Exception e) {
final String errorMessage = "connection to JMS server failed for JMS properties \""
- + jmsProducerProperties.getJmsConsumerProperties() + FOR_PRODUCER_TAG + this.name + ")";
+ + jmsProducerProperties.getJmsConsumerProperties() + FOR_PRODUCER_TAG + this.name + ")";
LOGGER.warn(errorMessage, e);
throw new ApexEventException(errorMessage, e);
}
@@ -150,7 +151,7 @@ public class ApexJmsProducer implements ApexEventProducer {
jmsSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
} catch (final Exception e) {
final String errorMessage = "creation of session to JMS server failed for JMS properties \""
- + jmsProducerProperties.getJmsConsumerProperties() + FOR_PRODUCER_TAG + this.name + ")";
+ + jmsProducerProperties.getJmsConsumerProperties() + FOR_PRODUCER_TAG + this.name + ")";
LOGGER.warn(errorMessage, e);
throw new ApexEventException(errorMessage, e);
}
@@ -159,8 +160,8 @@ public class ApexJmsProducer implements ApexEventProducer {
try {
messageProducer = jmsSession.createProducer(jmsOutgoingTopic);
} catch (final Exception e) {
- final String errorMessage = "creation of producer for sending events "
- + "to JMS server failed for JMS properties \""
+ final String errorMessage =
+ "creation of producer for sending events " + "to JMS server failed for JMS properties \""
+ jmsProducerProperties.getJmsConsumerProperties() + "\"";
LOGGER.warn(errorMessage, e);
throw new ApexEventException(errorMessage, e);
@@ -206,10 +207,11 @@ public class ApexJmsProducer implements ApexEventProducer {
* java.lang.Object)
*/
@Override
- public void sendEvent(final long executionId, final String eventname, final Object eventObject) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventname,
+ final Object eventObject) {
// Check if this is a synchronized event, if so we have received a reply
- final SynchronousEventCache synchronousEventCache = (SynchronousEventCache) peerReferenceMap
- .get(EventHandlerPeeredMode.SYNCHRONOUS);
+ final SynchronousEventCache synchronousEventCache =
+ (SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
if (synchronousEventCache != null) {
synchronousEventCache.removeCachedEventToApexIfExists(executionId);
}
@@ -217,8 +219,7 @@ public class ApexJmsProducer implements ApexEventProducer {
// Check if the object to be sent is serializable
if (!Serializable.class.isAssignableFrom(eventObject.getClass())) {
final String errorMessage = COULD_NOT_SEND_PREFIX + eventname + JMS_MESSAGE_PRODUCER_TAG + this.name
- + ", object of type \"" + eventObject.getClass().getCanonicalName()
- + "\" is not serializable";
+ + ", object of type \"" + eventObject.getClass().getCanonicalName() + "\" is not serializable";
LOGGER.warn(errorMessage);
throw new ApexEventRuntimeException(errorMessage);
}
@@ -233,7 +234,7 @@ public class ApexJmsProducer implements ApexEventProducer {
jmsMessage = jmsSession.createObjectMessage((Serializable) eventObject);
} catch (final Exception e) {
final String errorMessage = COULD_NOT_SEND_PREFIX + eventname + JMS_MESSAGE_PRODUCER_TAG + this.name
- + ", could not create JMS Object Message for object \"" + eventObject;
+ + ", could not create JMS Object Message for object \"" + eventObject;
LOGGER.warn(errorMessage, e);
throw new ApexEventRuntimeException(errorMessage);
}
@@ -243,7 +244,7 @@ public class ApexJmsProducer implements ApexEventProducer {
jmsMessage = jmsSession.createTextMessage(eventObject.toString());
} catch (final Exception e) {
final String errorMessage = COULD_NOT_SEND_PREFIX + eventname + JMS_MESSAGE_PRODUCER_TAG + this.name
- + ", could not create JMS Text Message for object \"" + eventObject;
+ + ", could not create JMS Text Message for object \"" + eventObject;
LOGGER.warn(errorMessage, e);
throw new ApexEventRuntimeException(errorMessage);
}
@@ -253,7 +254,7 @@ public class ApexJmsProducer implements ApexEventProducer {
messageProducer.send(jmsMessage);
} catch (final Exception e) {
final String errorMessage = COULD_NOT_SEND_PREFIX + eventname + JMS_MESSAGE_PRODUCER_TAG + this.name
- + ", send failed for object \"" + eventObject;
+ + ", send failed for object \"" + eventObject;
LOGGER.warn(errorMessage, e);
throw new ApexEventRuntimeException(errorMessage);
}
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java
index e981f4158..34ffc4c75 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java
@@ -101,7 +101,7 @@ public class ApexJmsProducerTest {
synchronousEventCache);
ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
"testSource", "testTarget");
- apexJmsProducer.sendEvent(1000L, "TestApexJmsProducer", apexEvent);
+ apexJmsProducer.sendEvent(1000L, null, "TestApexJmsProducer", apexEvent);
}
@Test(expected = ApexEventRuntimeException.class)
@@ -111,7 +111,7 @@ public class ApexJmsProducerTest {
apexJmsConsumer, apexJmsProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT);
apexJmsProducer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS,
synchronousEventCache);
- apexJmsProducer.sendEvent(-1L, "TestApexJmsProducer", new ApexJmsProducerTest());
+ apexJmsProducer.sendEvent(-1L, null, "TestApexJmsProducer", new ApexJmsProducerTest());
}
@Test
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaConsumer.java
index 6860bca22..3ddc97a86 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaConsumer.java
@@ -167,7 +167,7 @@ public class ApexKafkaConsumer implements ApexEventConsumer, Runnable {
kafkaConsumer.poll(kafkaConsumerProperties.getConsumerPollDuration().toMillis());
for (final ConsumerRecord<String, String> record : records) {
traceIfTraceEnabled(record);
- eventReceiver.receiveEvent(record.value());
+ eventReceiver.receiveEvent(null, record.value());
}
} catch (final Exception e) {
LOGGER.warn("error receiving events on thread {}", consumerThread.getName(), e);
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaProducer.java
index c83c0ae1e..706568ae7 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/ApexKafkaProducer.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.event.carrier.kafka;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
@@ -66,8 +67,7 @@ public class ApexKafkaProducer implements ApexEventProducer {
if (!(producerParameters.getCarrierTechnologyParameters() instanceof KafkaCarrierTechnologyParameters)) {
String message = "specified producer properties are not applicable to a Kafka producer (" + this.name + ")";
LOGGER.warn(message);
- throw new ApexEventException(
- message);
+ throw new ApexEventException(message);
}
kafkaProducerProperties =
(KafkaCarrierTechnologyParameters) producerParameters.getCarrierTechnologyParameters();
@@ -112,7 +112,8 @@ public class ApexKafkaProducer implements ApexEventProducer {
* java.lang.Object)
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
// Check if this is a synchronized event, if so we have received a reply
final SynchronousEventCache synchronousEventCache =
(SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java
index ddd000dd9..39389c297 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java
@@ -223,7 +223,7 @@ public class ApexRestClientConsumer implements ApexEventConsumer, Runnable {
}
// Send the event into Apex
- eventReceiver.receiveEvent(eventJsonString);
+ eventReceiver.receiveEvent(null, eventJsonString);
} catch (final Exception e) {
LOGGER.warn("error receiving events on thread {}", consumerThread.getName(), e);
}
@@ -232,7 +232,7 @@ public class ApexRestClientConsumer implements ApexEventConsumer, Runnable {
/**
* Hook for unit test mocking of HTTP client.
- *
+ *
* @param client the mocked client
*/
protected void setClient(final Client client) {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java
index 4113cea4b..275f5a8c2 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.event.carrier.restclient;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
@@ -67,18 +68,18 @@ public class ApexRestClientProducer implements ApexEventProducer {
*/
@Override
public void init(final String producerName, final EventHandlerParameters producerParameters)
- throws ApexEventException {
+ throws ApexEventException {
this.name = producerName;
// Check and get the REST Properties
if (!(producerParameters.getCarrierTechnologyParameters() instanceof RestClientCarrierTechnologyParameters)) {
- final String errorMessage = "specified producer properties are not applicable to REST client producer ("
- + this.name + ")";
+ final String errorMessage =
+ "specified producer properties are not applicable to REST client producer (" + this.name + ")";
LOGGER.warn(errorMessage);
throw new ApexEventException(errorMessage);
}
- restProducerProperties = (RestClientCarrierTechnologyParameters) producerParameters
- .getCarrierTechnologyParameters();
+ restProducerProperties =
+ (RestClientCarrierTechnologyParameters) producerParameters.getCarrierTechnologyParameters();
// Check if the HTTP method has been set
if (restProducerProperties.getHttpMethod() == null) {
@@ -86,10 +87,11 @@ public class ApexRestClientProducer implements ApexEventProducer {
}
if (!RestClientCarrierTechnologyParameters.HttpMethod.POST.equals(restProducerProperties.getHttpMethod())
- && !RestClientCarrierTechnologyParameters.HttpMethod.PUT.equals(restProducerProperties.getHttpMethod())) {
+ && !RestClientCarrierTechnologyParameters.HttpMethod.PUT
+ .equals(restProducerProperties.getHttpMethod())) {
final String errorMessage = "specified HTTP method of \"" + restProducerProperties.getHttpMethod()
- + "\" is invalid, only HTTP methods \"POST\" and \"PUT\" are supproted "
- + "for event sending on REST client producer (" + this.name + ")";
+ + "\" is invalid, only HTTP methods \"POST\" and \"PUT\" are supproted "
+ + "for event sending on REST client producer (" + this.name + ")";
LOGGER.warn(errorMessage);
throw new ApexEventException(errorMessage);
}
@@ -137,10 +139,11 @@ public class ApexRestClientProducer implements ApexEventProducer {
* java.lang.Object)
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
// Check if this is a synchronized event, if so we have received a reply
- final SynchronousEventCache synchronousEventCache = (SynchronousEventCache) peerReferenceMap
- .get(EventHandlerPeeredMode.SYNCHRONOUS);
+ final SynchronousEventCache synchronousEventCache =
+ (SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
if (synchronousEventCache != null) {
synchronousEventCache.removeCachedEventToApexIfExists(executionId);
}
@@ -151,15 +154,15 @@ public class ApexRestClientProducer implements ApexEventProducer {
// Check that the request worked
if (response.getStatus() != Response.Status.OK.getStatusCode()) {
final String errorMessage = "send of event to URL \"" + restProducerProperties.getUrl() + "\" using HTTP \""
- + restProducerProperties.getHttpMethod() + "\" failed with status code " + response.getStatus()
- + " and message \"" + response.readEntity(String.class) + "\", event:\n" + event;
+ + restProducerProperties.getHttpMethod() + "\" failed with status code " + response.getStatus()
+ + " and message \"" + response.readEntity(String.class) + "\", event:\n" + event;
LOGGER.warn(errorMessage);
throw new ApexEventRuntimeException(errorMessage);
}
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("event sent from engine using {} to URL {} with HTTP {} : {} and response {} ", this.name,
- restProducerProperties.getUrl(), restProducerProperties.getHttpMethod(), event, response);
+ restProducerProperties.getUrl(), restProducerProperties.getHttpMethod(), event, response);
}
}
@@ -184,16 +187,16 @@ public class ApexRestClientProducer implements ApexEventProducer {
// We have already checked that it is a PUT or POST request
if (RestClientCarrierTechnologyParameters.HttpMethod.POST.equals(restProducerProperties.getHttpMethod())) {
return client.target(restProducerProperties.getUrl()).request("application/json")
- .headers(restProducerProperties.getHttpHeadersAsMultivaluedMap()).post(Entity.json(event));
+ .headers(restProducerProperties.getHttpHeadersAsMultivaluedMap()).post(Entity.json(event));
} else {
return client.target(restProducerProperties.getUrl()).request("application/json")
- .headers(restProducerProperties.getHttpHeadersAsMultivaluedMap()).put(Entity.json(event));
+ .headers(restProducerProperties.getHttpHeadersAsMultivaluedMap()).put(Entity.json(event));
}
}
/**
* Hook for unit test mocking of HTTP client.
- *
+ *
* @param client the mocked client
*/
protected void setClient(final Client client) {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
index 8f0e0940b..8ef0ec95c 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -166,7 +166,7 @@ public class ApexRestClientProducerTest {
arcp.setClient(httpClientMock);
try {
- arcp.sendEvent(123, "EventName", "This is an Event");
+ arcp.sendEvent(123, null, "EventName", "This is an Event");
arcp.stop();
} catch (Exception ex) {
fail("test should not throw an exception");
@@ -203,7 +203,7 @@ public class ApexRestClientProducerTest {
arcp.setClient(httpClientMock);
try {
- arcp.sendEvent(123, "EventName", "This is an Event");
+ arcp.sendEvent(123, null, "EventName", "This is an Event");
arcp.stop();
} catch (Exception e) {
fail("test should not throw an exception");
@@ -246,7 +246,7 @@ public class ApexRestClientProducerTest {
arcp.setClient(httpClientMock);
try {
- arcp.sendEvent(123, "EventName", "This is an Event");
+ arcp.sendEvent(123, null, "EventName", "This is an Event");
arcp.stop();
} catch (Exception e) {
fail("test should not throw an exception");
@@ -292,7 +292,7 @@ public class ApexRestClientProducerTest {
arcp.setClient(httpClientMock);
try {
- arcp.sendEvent(123, "EventName", "This is an Event");
+ arcp.sendEvent(123, null, "EventName", "This is an Event");
arcp.stop();
} catch (Exception e) {
fail("test should not throw an exception");
@@ -329,7 +329,7 @@ public class ApexRestClientProducerTest {
arcp.setClient(httpClientMock);
try {
- arcp.sendEvent(123, "EventName", "This is an Event");
+ arcp.sendEvent(123, null, "EventName", "This is an Event");
fail("test should throw an exception here");
} catch (Exception e) {
assertEquals(
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/SupportApexEventReceiver.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/SupportApexEventReceiver.java
index d3f8b9e82..5459310fa 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/SupportApexEventReceiver.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/SupportApexEventReceiver.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.plugins.event.carrier.restclient;
+import java.util.Properties;
+
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventReceiver;
@@ -32,21 +34,26 @@ public class SupportApexEventReceiver implements ApexEventReceiver {
private Object lastEvent;
private int eventCount;
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventReceiver#receiveEvent(long, java.lang.Object)
*/
@Override
- public void receiveEvent(long executionId, Object event) throws ApexEventException {
+ public void receiveEvent(final long executionId, final Properties executionProperties, final Object event)
+ throws ApexEventException {
this.lastExecutionId = executionId;
this.lastEvent = event;
this.eventCount++;
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventReceiver#receiveEvent(java.lang.Object)
*/
@Override
- public void receiveEvent(Object event) throws ApexEventException {
+ public void receiveEvent(final Properties executionProperties, final Object event) throws ApexEventException {
this.lastEvent = event;
this.eventCount++;
}
@@ -61,7 +68,7 @@ public class SupportApexEventReceiver implements ApexEventReceiver {
/**
* Get the number of events received.
- *
+ *
* @return the number of events received
*/
public int getEventCount() {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java
index 57c14b946..1ba00ec0a 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java
@@ -370,7 +370,7 @@ public class ApexRestRequestorConsumer implements ApexEventConsumer, Runnable {
}
// Send the event into Apex
- eventReceiver.receiveEvent(request.getExecutionId(), eventJsonString);
+ eventReceiver.receiveEvent(request.getExecutionId(), null, eventJsonString);
synchronized (eventsReceivedLock) {
eventsReceived++;
@@ -393,7 +393,7 @@ public class ApexRestRequestorConsumer implements ApexEventConsumer, Runnable {
/**
* Execute the REST request.
*
- *
+ *
* @return the response to the REST request
*/
public Response sendEventAsRestRequest() {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducer.java
index 4985fe16f..cf5294253 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducer.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.event.carrier.restrequestor;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.service.engine.event.ApexEventConsumer;
import org.onap.policy.apex.service.engine.event.ApexEventException;
@@ -149,7 +150,8 @@ public class ApexRestRequestorProducer implements ApexEventProducer {
* java.lang.Object)
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
// Check if this is a synchronized event, if so we have received a reply
final SynchronousEventCache synchronousEventCache =
(SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducerTest.java
index 136c189db..5222f5bdb 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorProducerTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -119,7 +119,7 @@ public class ApexRestRequestorProducerTest {
String event = "This is the event";
try {
- producer.sendEvent(12345, eventName, event);
+ producer.sendEvent(12345, null, eventName, event);
fail("test should throw an exception here");
} catch (Exception aee) {
assertEquals("send of event to URL \"null\" failed, REST response consumer is not defined\n"
@@ -134,7 +134,7 @@ public class ApexRestRequestorProducerTest {
PeeredReference peeredReference = new PeeredReference(EventHandlerPeeredMode.REQUESTOR, consumer, producer);
producer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, peeredReference);
try {
- producer.sendEvent(12345, eventName, event);
+ producer.sendEvent(12345, null, eventName, event);
fail("test should throw an exception here");
} catch (Exception aee) {
assertEquals("send of event to URL \"null\" failed, REST response consumer "
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java
index 35490926a..b18c658af 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java
@@ -105,7 +105,7 @@ public class ApexRestServerConsumer implements ApexEventConsumer, Runnable {
LOGGER.warn(errorMessage);
throw new ApexEventException(errorMessage);
}
-
+
// The REST parameters read from the parameter service
RestServerCarrierTechnologyParameters restConsumerProperties =
(RestServerCarrierTechnologyParameters) consumerParameters.getCarrierTechnologyParameters();
@@ -209,7 +209,7 @@ public class ApexRestServerConsumer implements ApexEventConsumer, Runnable {
try {
// Send the event into Apex
- eventReceiver.receiveEvent(executionId, event);
+ eventReceiver.receiveEvent(executionId, null, event);
} catch (final Exception e) {
final String errorMessage = "error receiving events on event consumer " + name + ", " + e.getMessage();
LOGGER.warn(errorMessage, e);
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerProducer.java
index cacdb3408..b228ccbf0 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerProducer.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.event.carrier.restserver;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventProducer;
@@ -65,7 +66,7 @@ public class ApexRestServerProducer implements ApexEventProducer {
LOGGER.warn(errorMessage);
throw new ApexEventException(errorMessage);
}
-
+
// The REST carrier properties
RestServerCarrierTechnologyParameters restProducerProperties =
(RestServerCarrierTechnologyParameters) producerParameters.getCarrierTechnologyParameters();
@@ -128,7 +129,8 @@ public class ApexRestServerProducer implements ApexEventProducer {
* java.lang.Object)
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
if (LOGGER.isDebugEnabled()) {
String message = name + ": event " + executionId + ':' + eventName + " recevied from Apex, event=" + event;
LOGGER.debug(message);
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/java/org/onap/policy/apex/plugins/event/carrier/restserver/SupportApexEventReceiver.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/java/org/onap/policy/apex/plugins/event/carrier/restserver/SupportApexEventReceiver.java
index aaba4c262..8f6e72b14 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/java/org/onap/policy/apex/plugins/event/carrier/restserver/SupportApexEventReceiver.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/java/org/onap/policy/apex/plugins/event/carrier/restserver/SupportApexEventReceiver.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.plugins.event.carrier.restserver;
+import java.util.Properties;
+
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventReceiver;
@@ -32,21 +34,26 @@ public class SupportApexEventReceiver implements ApexEventReceiver {
private Object lastEvent;
private int eventCount;
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventReceiver#receiveEvent(long, java.lang.Object)
*/
@Override
- public void receiveEvent(long executionId, Object event) throws ApexEventException {
+ public void receiveEvent(final long executionId, final Properties executionProperties, final Object event)
+ throws ApexEventException {
this.lastExecutionId = executionId;
this.lastEvent = event;
this.eventCount++;
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventReceiver#receiveEvent(java.lang.Object)
*/
@Override
- public void receiveEvent(Object event) throws ApexEventException {
+ public void receiveEvent(final Properties executionProperties, final Object event) throws ApexEventException {
this.lastEvent = event;
this.eventCount++;
}
@@ -61,7 +68,7 @@ public class SupportApexEventReceiver implements ApexEventReceiver {
/**
* Get the number of events received.
- *
+ *
* @return the number of events received
*/
public int getEventCount() {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketConsumer.java
index 17955c3be..f6ed6895d 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketConsumer.java
@@ -80,7 +80,7 @@ public class ApexWebSocketConsumer implements ApexEventConsumer, WsStringMessage
LOGGER.warn("specified consumer properties are not applicable to a web socket consumer");
throw new ApexEventException("specified consumer properties are not applicable to a web socket consumer");
}
-
+
// The Web Socket properties
WebSocketCarrierTechnologyParameters webSocketConsumerProperties =
(WebSocketCarrierTechnologyParameters) consumerParameters.getCarrierTechnologyParameters();
@@ -183,7 +183,7 @@ public class ApexWebSocketConsumer implements ApexEventConsumer, WsStringMessage
@Override
public void receiveString(final String eventString) {
try {
- eventReceiver.receiveEvent(eventString);
+ eventReceiver.receiveEvent(null, eventString);
eventsRead++;
} catch (final Exception e) {
final String errorMessage = "Error sending event " + name + '_' + eventsRead + ", " + e.getMessage()
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducer.java
index 6f04024b4..07b6d42e6 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/main/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducer.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.event.carrier.websocket;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WsStringMessageClient;
@@ -57,25 +58,25 @@ public class ApexWebSocketProducer implements ApexEventProducer, WsStringMessage
@Override
public void init(final String producerName, final EventHandlerParameters producerParameters)
- throws ApexEventException {
+ throws ApexEventException {
this.name = producerName;
// Check and get the web socket Properties
if (!(producerParameters.getCarrierTechnologyParameters() instanceof WebSocketCarrierTechnologyParameters)) {
- String message = "specified producer properties for " + this.name
- + "are not applicable to a web socket producer";
+ String message =
+ "specified producer properties for " + this.name + "are not applicable to a web socket producer";
LOGGER.warn(message);
throw new ApexEventException("specified producer properties are not applicable to a web socket producer");
}
// The Web Socket properties
WebSocketCarrierTechnologyParameters webSocketProducerProperties =
- (WebSocketCarrierTechnologyParameters) producerParameters.getCarrierTechnologyParameters();
+ (WebSocketCarrierTechnologyParameters) producerParameters.getCarrierTechnologyParameters();
// Check if this is a server or a client Web Socket
if (webSocketProducerProperties.isWsClient()) {
// Create a WS client
wsStringMessager = new WsStringMessageClient(webSocketProducerProperties.getHost(),
- webSocketProducerProperties.getPort());
+ webSocketProducerProperties.getPort());
} else {
wsStringMessager = new WsStringMessageServer(webSocketProducerProperties.getPort());
}
@@ -128,10 +129,11 @@ public class ApexWebSocketProducer implements ApexEventProducer, WsStringMessage
* java.lang.Object)
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
// Check if this is a synchronized event, if so we have received a reply
- final SynchronousEventCache synchronousEventCache = (SynchronousEventCache) peerReferenceMap
- .get(EventHandlerPeeredMode.SYNCHRONOUS);
+ final SynchronousEventCache synchronousEventCache =
+ (SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
if (synchronousEventCache != null) {
synchronousEventCache.removeCachedEventToApexIfExists(executionId);
}
@@ -161,7 +163,7 @@ public class ApexWebSocketProducer implements ApexEventProducer, WsStringMessage
@Override
public void receiveString(final String messageString) {
String message = "received message \"" + messageString + "\" on web socket producer (" + this.name
- + ") , no messages should be received on a web socket producer";
+ + ") , no messages should be received on a web socket producer";
LOGGER.warn(message);
}
}
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/test/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/test/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducerTest.java
index b97f42ffb..d4b3114d5 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/test/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/test/java/org/onap/policy/apex/plugins/event/carrier/websocket/ApexWebSocketProducerTest.java
@@ -107,7 +107,7 @@ public class ApexWebSocketProducerTest {
apexWebSocketConsumer, apexWebSocketProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT);
apexWebSocketProducer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS,
synchronousEventCache);
- apexWebSocketProducer.sendEvent(1000L, "TestApexWebSocketProducer", "apexEvent");
+ apexWebSocketProducer.sendEvent(1000L, null, "TestApexWebSocketProducer", "apexEvent");
}
@Test
diff --git a/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutor.java b/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutor.java
index ef0a8d178..ce242bafb 100644
--- a/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutor.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.executor.java;
import java.lang.reflect.Method;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.executor.StateFinalizerExecutor;
@@ -66,16 +67,17 @@ public class JavaStateFinalizerExecutor extends StateFinalizerExecutor {
* Executes the executor for the state finalizer logic in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields for finalisation
* @return The state output for the state
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public String execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Check and execute the Java logic
boolean returnValue = false;
@@ -84,7 +86,7 @@ public class JavaStateFinalizerExecutor extends StateFinalizerExecutor {
// StateFinalizerExecutionContext executor) throws ApexException"
// to invoke the
// task logic in the Java class
- final Method method = stateFinalizerLogicObject.getClass().getDeclaredMethod("getStateOutput", (Class[])
+ final Method method = stateFinalizerLogicObject.getClass().getDeclaredMethod("getStateOutput",
new Class[] { StateFinalizerExecutionContext.class });
returnValue = (boolean) method.invoke(stateFinalizerLogicObject, getExecutionContext());
} catch (final Exception e) {
diff --git a/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutor.java b/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutor.java
index e9bf45305..1ceeba3b1 100644
--- a/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutor.java
@@ -22,6 +22,7 @@ package org.onap.policy.apex.plugins.executor.java;
import java.lang.reflect.Method;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.executor.TaskExecutor;
@@ -67,16 +68,17 @@ public class JavaTaskExecutor extends TaskExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields
* @return The outgoing fields
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Check and execute the Java logic
boolean returnValue = false;
@@ -84,7 +86,7 @@ public class JavaTaskExecutor extends TaskExecutor {
// Find and call the method with the signature "public boolean getEvent(final TaskExecutionContext executor)
// throws ApexException" to invoke the
// task logic in the Java class
- final Method method = taskLogicObject.getClass().getDeclaredMethod("getEvent", (Class[])
+ final Method method = taskLogicObject.getClass().getDeclaredMethod("getEvent",
new Class[] { TaskExecutionContext.class });
returnValue = (boolean) method.invoke(taskLogicObject, getExecutionContext());
} catch (final Exception e) {
diff --git a/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutor.java b/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutor.java
index 02794cdf6..17758b19e 100644
--- a/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-java/src/main/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutor.java
@@ -21,6 +21,7 @@
package org.onap.policy.apex.plugins.executor.java;
import java.lang.reflect.Method;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.event.EnEvent;
@@ -58,10 +59,10 @@ public class JavaTaskSelectExecutor extends TaskSelectExecutor {
// Create the task logic object from the byte code of the class
taskSelectionLogicObject = Class.forName(getSubject().getTaskSelectionLogic().getLogic()).newInstance();
} catch (final Exception e) {
- LOGGER.error("instantiation error on Java class \"" + getSubject().getTaskSelectionLogic().getLogic()
- + "\"", e);
- throw new StateMachineException("instantiation error on Java class \""
- + getSubject().getTaskSelectionLogic().getLogic() + "\"", e);
+ LOGGER.error(
+ "instantiation error on Java class \"" + getSubject().getTaskSelectionLogic().getLogic() + "\"", e);
+ throw new StateMachineException(
+ "instantiation error on Java class \"" + getSubject().getTaskSelectionLogic().getLogic() + "\"", e);
}
}
@@ -69,16 +70,17 @@ public class JavaTaskSelectExecutor extends TaskSelectExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingEvent the incoming event
* @return The outgoing event
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent incomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEvent) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingEvent);
+ executePre(executionId, executionProperties, incomingEvent);
// Check and execute the Java logic
boolean returnValue = false;
@@ -87,14 +89,14 @@ public class JavaTaskSelectExecutor extends TaskSelectExecutor {
// executor)" to invoke the task selection
// logic in the Java class
final Method method = taskSelectionLogicObject.getClass().getDeclaredMethod("getTask",
- (Class[]) new Class[] { TaskSelectionExecutionContext.class });
+ new Class[] { TaskSelectionExecutionContext.class });
returnValue = (boolean) method.invoke(taskSelectionLogicObject, getExecutionContext());
} catch (final Exception e) {
- LOGGER.error("execute: task selection logic failed to run for state \"" + getSubject().getKey().getId()
- + "\"", e);
+ LOGGER.error(
+ "execute: task selection logic failed to run for state \"" + getSubject().getKey().getId() + "\"",
+ e);
throw new StateMachineException(
- "task selection logic failed to run for state \"" + getSubject().getKey().getId() + "\"",
- e);
+ "task selection logic failed to run for state \"" + getSubject().getKey().getId() + "\"", e);
}
// Do the execution post work
@@ -112,7 +114,7 @@ public class JavaTaskSelectExecutor extends TaskSelectExecutor {
@Override
public void cleanUp() throws StateMachineException {
LOGGER.debug("cleanUp:" + getSubject().getKey().getId() + ","
- + getSubject().getTaskSelectionLogic().getLogicFlavour() + ","
- + getSubject().getTaskSelectionLogic().getLogic());
+ + getSubject().getTaskSelectionLogic().getLogicFlavour() + ","
+ + getSubject().getTaskSelectionLogic().getLogic());
}
}
diff --git a/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutorTest.java b/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutorTest.java
index 6638e7183..f779a3005 100644
--- a/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaStateFinalizerExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -120,7 +120,7 @@ public class JavaStateFinalizerExecutorTest {
}
try {
- jsfe.execute(-1, null);
+ jsfe.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("state finalizer logic failed to run for state finalizer \"NULL:0.0.0:NULL:NULL\"",
@@ -130,7 +130,7 @@ public class JavaStateFinalizerExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- jsfe.execute(-1, event);
+ jsfe.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("state finalizer logic failed to run for state finalizer \"NULL:0.0.0:NULL:NULL\"",
@@ -140,7 +140,7 @@ public class JavaStateFinalizerExecutorTest {
stateFinalizerLogic.setLogic("org.onap.policy.apex.plugins.executor.java.DummyJavaStateFinalizerLogic");
try {
jsfe.prepare();
- jsfe.execute(-1, event);
+ jsfe.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("execute-post: state finalizer logic execution failure on state \"NULL:0.0.0:NULL:NULL\" "
@@ -150,7 +150,7 @@ public class JavaStateFinalizerExecutorTest {
state.getStateOutputs().put("SelectedOutputIsMe", null);
try {
jsfe.prepare();
- String stateOutput = jsfe.execute(0, event);
+ String stateOutput = jsfe.execute(0, null, event);
assertEquals("SelectedOutputIsMe", stateOutput);
jsfe.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutorTest.java b/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutorTest.java
index f3ea1ce4d..fb5bc4f55 100644
--- a/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -102,7 +102,7 @@ public class JavaTaskExecutorTest {
}
try {
- jte.execute(-1, null);
+ jte.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals(java.lang.NullPointerException.class, jteException.getClass());
@@ -110,7 +110,7 @@ public class JavaTaskExecutorTest {
Map<String, Object> incomingParameters = new HashMap<>();
try {
- jte.execute(-1, incomingParameters);
+ jte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("task logic failed to run for task \"NULL:0.0.0\"", jteException.getMessage());
@@ -119,7 +119,7 @@ public class JavaTaskExecutorTest {
task.getTaskLogic().setLogic("org.onap.policy.apex.plugins.executor.java.DummyJavaTaskLogic");
try {
jte.prepare();
- jte.execute(-1, incomingParameters);
+ jte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("execute-post: task logic execution failure on task \"NULL\" in model NULL:0.0.0",
@@ -128,7 +128,7 @@ public class JavaTaskExecutorTest {
try {
jte.prepare();
- Map<String, Object> returnMap = jte.execute(0, incomingParameters);
+ Map<String, Object> returnMap = jte.execute(0, null, incomingParameters);
assertEquals(0, returnMap.size());
jte.cleanUp();
} catch (Exception jteException) {
diff --git a/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutorTest.java b/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutorTest.java
index 64dfaea10..27eac53d3 100644
--- a/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-java/src/test/java/org/onap/policy/apex/plugins/executor/java/JavaTaskSelectExecutorTest.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -102,7 +102,7 @@ public class JavaTaskSelectExecutorTest {
}
try {
- jtse.execute(-1, null);
+ jtse.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(java.lang.NullPointerException.class, jtseException.getClass());
@@ -111,7 +111,7 @@ public class JavaTaskSelectExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("task selection logic failed to run for state \"NULL:0.0.0:NULL:NULL\"",
@@ -122,7 +122,7 @@ public class JavaTaskSelectExecutorTest {
.setLogic("org.onap.policy.apex.plugins.executor.java.DummyJavaTaskSelectionLogic");
try {
jtse.prepare();
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("execute-post: task selection logic failed on state \"NULL:0.0.0:NULL:NULL\"",
@@ -131,7 +131,7 @@ public class JavaTaskSelectExecutorTest {
try {
jtse.prepare();
- AxArtifactKey taskKey = jtse.execute(0, event);
+ AxArtifactKey taskKey = jtse.execute(0, null, event);
assertEquals("NULL:0.0.0", taskKey.getId());
jtse.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutor.java b/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutor.java
index c906a9ca3..cd660c807 100644
--- a/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutor.java
@@ -22,6 +22,8 @@
package org.onap.policy.apex.plugins.executor.javascript;
import java.util.Map;
+import java.util.Properties;
+
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
@@ -34,8 +36,8 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * The Class JavascriptStateFinalizerExecutor is the state finalizer executor for state finalizer
- * logic written in Javascript It is unlikely that this is thread safe.
+ * The Class JavascriptStateFinalizerExecutor is the state finalizer executor for state finalizer logic written in
+ * Javascript It is unlikely that this is thread safe.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -70,16 +72,17 @@ public class JavascriptStateFinalizerExecutor extends StateFinalizerExecutor {
* Executes the executor for the state finalizer logic in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields for finalisation
* @return The state output for the state
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public String execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Set up the Javascript engine
engine.put("executor", getExecutionContext());
diff --git a/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutor.java b/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutor.java
index 4b6ff0232..9769f42db 100644
--- a/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutor.java
@@ -22,6 +22,8 @@
package org.onap.policy.apex.plugins.executor.javascript;
import java.util.Map;
+import java.util.Properties;
+
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
@@ -34,8 +36,8 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * The Class JavascriptTaskExecutor is the task executor for task logic written in Javascript It is
- * unlikely that this is thread safe.
+ * The Class JavascriptTaskExecutor is the task executor for task logic written in Javascript It is unlikely that this
+ * is thread safe.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -69,16 +71,17 @@ public class JavascriptTaskExecutor extends TaskExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields
* @return The outgoing fields
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Set up the Javascript engine
engine.put("executor", getExecutionContext());
diff --git a/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutor.java b/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutor.java
index 305f3a2da..afc7d0183 100644
--- a/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-javascript/src/main/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutor.java
@@ -21,6 +21,8 @@
package org.onap.policy.apex.plugins.executor.javascript;
+import java.util.Properties;
+
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
@@ -35,8 +37,8 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * The Class JavascriptTaskSelectExecutor is the task selection executor for task selection logic
- * written in Javascript It is unlikely that this is thread safe.
+ * The Class JavascriptTaskSelectExecutor is the task selection executor for task selection logic written in Javascript
+ * It is unlikely that this is thread safe.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -76,16 +78,17 @@ public class JavascriptTaskSelectExecutor extends TaskSelectExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingEvent the incoming event
* @return The outgoing event
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent incomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEvent) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingEvent);
+ executePre(executionId, executionProperties, incomingEvent);
// Set up the Javascript engine
engine.put("executor", getExecutionContext());
diff --git a/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutorTest.java b/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutorTest.java
index 4dd403e38..d42ad6cb9 100644
--- a/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptStateFinalizerExecutorTest.java
@@ -117,7 +117,7 @@ public class JavascriptStateFinalizerExecutorTest {
Map<String, Object> incomingParameters1 = new HashMap<>();
try {
- jsfe.execute(-1, incomingParameters1);
+ jsfe.execute(-1, null, incomingParameters1);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("state finalizer logic failed to run for state finalizer \"NULL:0.0.0:NULL:NULL\"",
@@ -141,7 +141,7 @@ public class JavascriptStateFinalizerExecutorTest {
+ "var returnValue = new returnValueType(true);}");
try {
jsfe.prepare();
- jsfe.execute(-1, event);
+ jsfe.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(
@@ -153,7 +153,7 @@ public class JavascriptStateFinalizerExecutorTest {
state.getStateOutputs().put("SelectedOutputIsMe", null);
try {
jsfe.prepare();
- String stateOutput = jsfe.execute(0, event);
+ String stateOutput = jsfe.execute(0, null, event);
assertEquals("SelectedOutputIsMe", stateOutput);
jsfe.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutorTest.java b/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutorTest.java
index 50610b2e0..20e758fae 100644
--- a/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskExecutorTest.java
@@ -95,7 +95,7 @@ public class JavascriptTaskExecutorTest {
Map<String, Object> incomingParameters2 = new HashMap<>();
try {
- jte.execute(-1, incomingParameters2);
+ jte.execute(-1, null, incomingParameters2);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("task logic failed to run for task \"NULL:0.0.0\"", jteException.getMessage());
@@ -110,7 +110,7 @@ public class JavascriptTaskExecutorTest {
}
try {
- jte.execute(-1, null);
+ jte.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals(java.lang.NullPointerException.class, jteException.getClass());
@@ -118,7 +118,7 @@ public class JavascriptTaskExecutorTest {
Map<String, Object> incomingParameters = new HashMap<>();
try {
- jte.execute(-1, incomingParameters);
+ jte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("execute: task logic failed to set a return value for task \"NULL:0.0.0\"",
@@ -129,7 +129,7 @@ public class JavascriptTaskExecutorTest {
+ "var returnValue = new returnValueType(false); ");
try {
jte.prepare();
- jte.execute(-1, incomingParameters);
+ jte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("execute-post: task logic execution failure on task \"NULL\" in model NULL:0.0.0",
@@ -140,7 +140,7 @@ public class JavascriptTaskExecutorTest {
+ "var returnValue = new returnValueType(true); ");
try {
jte.prepare();
- Map<String, Object> returnMap = jte.execute(0, incomingParameters);
+ Map<String, Object> returnMap = jte.execute(0, null, incomingParameters);
assertEquals(0, returnMap.size());
jte.cleanUp();
} catch (Exception jteException) {
diff --git a/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutorTest.java b/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutorTest.java
index 17c0be15f..8efbc6241 100644
--- a/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-javascript/src/test/java/org/onap/policy/apex/plugins/executor/javascript/JavascriptTaskSelectExecutorTest.java
@@ -98,7 +98,7 @@ public class JavascriptTaskSelectExecutorTest {
AxEvent axEvent1 = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event1 = new EnEvent(axEvent1);
try {
- jtse.execute(-1, event1);
+ jtse.execute(-1, null, event1);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(
@@ -115,7 +115,7 @@ public class JavascriptTaskSelectExecutorTest {
}
try {
- jtse.execute(-1, null);
+ jtse.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(java.lang.NullPointerException.class, jtseException.getClass());
@@ -124,7 +124,7 @@ public class JavascriptTaskSelectExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(
@@ -136,7 +136,7 @@ public class JavascriptTaskSelectExecutorTest {
+ "var returnValue = new returnValueType(false); ");
try {
jtse.prepare();
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("execute-post: task selection logic failed on state \"NULL:0.0.0:NULL:NULL\"",
@@ -147,7 +147,7 @@ public class JavascriptTaskSelectExecutorTest {
+ "var returnValue = new returnValueType(true); ");
try {
jtse.prepare();
- AxArtifactKey taskKey = jtse.execute(0, event);
+ AxArtifactKey taskKey = jtse.execute(0, null, event);
assertEquals("NULL:0.0.0", taskKey.getId());
jtse.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutor.java b/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutor.java
index 5c62cf8b0..d6e9f4d07 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutor.java
@@ -21,6 +21,7 @@
package org.onap.policy.apex.plugins.executor.jruby;
import java.util.Map;
+import java.util.Properties;
import org.jruby.embed.EmbedEvalUnit;
import org.jruby.embed.LocalContextScope;
@@ -71,16 +72,17 @@ public class JrubyStateFinalizerExecutor extends StateFinalizerExecutor {
* Executes the executor for the state finalizer logic in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields for finalisation
* @return The state output for the state
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public String execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Check and execute the JRuby logic
container.put("executor", getExecutionContext());
diff --git a/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutor.java b/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutor.java
index 8d2ccffe1..c805597e9 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutor.java
@@ -21,6 +21,7 @@
package org.onap.policy.apex.plugins.executor.jruby;
import java.util.Map;
+import java.util.Properties;
import org.jruby.embed.EmbedEvalUnit;
import org.jruby.embed.LocalContextScope;
@@ -71,16 +72,17 @@ public class JrubyTaskExecutor extends TaskExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields
* @return The outgoing fields
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Check and execute the JRuby logic
container.put("executor", getExecutionContext());
diff --git a/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutor.java b/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutor.java
index 02ae0d8e4..274acbed1 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-jruby/src/main/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutor.java
@@ -20,6 +20,7 @@
package org.onap.policy.apex.plugins.executor.jruby;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
@@ -72,16 +73,17 @@ public class JrubyTaskSelectExecutor extends TaskSelectExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingEvent the incoming event
* @return The outgoing event
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent incomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEvent) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingEvent);
+ executePre(executionId, executionProperties, incomingEvent);
// Check and execute the JRuby logic
container.put("executor", getExecutionContext());
diff --git a/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutorTest.java b/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutorTest.java
index c49d502fa..635430fa1 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyStateFinalizerExecutorTest.java
@@ -113,7 +113,7 @@ public class JrubyStateFinalizerExecutorTest {
}
try {
- jsfe.execute(-1, null);
+ jsfe.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("execute-post: state finalizer logic execution failure on state \"NULL:0.0.0:NULL:NULL\" on "
@@ -130,7 +130,7 @@ public class JrubyStateFinalizerExecutorTest {
state.getStateOutputs().put("SelectedOutputIsMe", null);
try {
jsfe.prepare();
- String stateOutput = jsfe.execute(0, event);
+ String stateOutput = jsfe.execute(0, null, event);
assertEquals("SelectedOutputIsMe", stateOutput);
jsfe.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutorTest.java b/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutorTest.java
index 5fa9865c8..9f83459d8 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskExecutorTest.java
@@ -95,7 +95,7 @@ public class JrubyTaskExecutorTest {
Map<String, Object> incomingParameters = new HashMap<>();
try {
- jte.execute(-1, incomingParameters);
+ jte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("execute-post: task logic execution failure on task \"NULL\" in model NULL:0.0.0",
@@ -108,7 +108,7 @@ public class JrubyTaskExecutorTest {
try {
jte.prepare();
- Map<String, Object> returnMap = jte.execute(0, incomingParameters);
+ Map<String, Object> returnMap = jte.execute(0, null, incomingParameters);
assertEquals(0, returnMap.size());
jte.cleanUp();
} catch (Exception jteException) {
diff --git a/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutorTest.java b/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutorTest.java
index 6320b59c6..683c43cb4 100644
--- a/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-jruby/src/test/java/org/onap/policy/apex/plugins/executor/jruby/JrubyTaskSelectExecutorTest.java
@@ -99,7 +99,7 @@ public class JrubyTaskSelectExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("execute-post: task selection logic failed on state \"NULL:0.0.0:NULL:NULL\"",
@@ -112,7 +112,7 @@ public class JrubyTaskSelectExecutorTest {
try {
jtse.prepare();
- AxArtifactKey taskKey = jtse.execute(0, event);
+ AxArtifactKey taskKey = jtse.execute(0, null, event);
assertEquals("NULL:0.0.0", taskKey.getId());
jtse.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutor.java b/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutor.java
index 3636d811a..c3c585664 100644
--- a/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutor.java
@@ -21,6 +21,8 @@
package org.onap.policy.apex.plugins.executor.jython;
import java.util.Map;
+import java.util.Properties;
+
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.executor.StateFinalizerExecutor;
import org.onap.policy.apex.core.engine.executor.exception.StateMachineException;
@@ -78,18 +80,19 @@ public class JythonStateFinalizerExecutor extends StateFinalizerExecutor {
*
* @param executionId the execution ID for the current APEX policy execution
* @param incomingFields the incoming fields for finalisation
+ * @param executionProperties properties for the current APEX policy execution
* @return The state output for the state
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public String execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
boolean returnValue = false;
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
try {
diff --git a/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutor.java b/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutor.java
index 1280fb85d..974749032 100644
--- a/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutor.java
@@ -21,6 +21,8 @@
package org.onap.policy.apex.plugins.executor.jython;
import java.util.Map;
+import java.util.Properties;
+
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.executor.TaskExecutor;
import org.onap.policy.apex.core.engine.executor.exception.StateMachineException;
@@ -34,8 +36,8 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * The Class JythonTaskExecutor is the task executor for task logic written in Jython It is unlikely
- * that this is thread safe.
+ * The Class JythonTaskExecutor is the task executor for task logic written in Jython It is unlikely that this is thread
+ * safe.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -77,19 +79,20 @@ public class JythonTaskExecutor extends TaskExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields
* @return The outgoing fields
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
boolean returnValue = false;
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
try {
diff --git a/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutor.java b/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutor.java
index d6e6dd70b..f8ca21b1a 100644
--- a/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-jython/src/main/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutor.java
@@ -20,6 +20,8 @@
package org.onap.policy.apex.plugins.executor.jython;
+import java.util.Properties;
+
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.event.EnEvent;
import org.onap.policy.apex.core.engine.executor.TaskSelectExecutor;
@@ -35,8 +37,8 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * The Class JythonTaskSelectExecutor is the task selection executor for task selection logic
- * written in Jython It is unlikely that this is thread safe.
+ * The Class JythonTaskSelectExecutor is the task selection executor for task selection logic written in Jython It is
+ * unlikely that this is thread safe.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -82,19 +84,20 @@ public class JythonTaskSelectExecutor extends TaskSelectExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingEvent the incoming event
* @return The outgoing event
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent incomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEvent) throws StateMachineException, ContextException {
boolean returnValue = false;
// Do execution pre work
- executePre(executionId, incomingEvent);
+ executePre(executionId, executionProperties, incomingEvent);
try {
// Check and execute the Jython logic
diff --git a/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutorTest.java b/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutorTest.java
index 76e35e8cc..213dddb9b 100644
--- a/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonStateFinalizerExecutorTest.java
@@ -130,7 +130,7 @@ public class JythonStateFinalizerExecutorTest {
stateFinalizerLogic.setLogic(scriptSource);
try {
jsfe.prepare();
- jsfe.execute(-1, null);
+ jsfe.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(
@@ -151,7 +151,7 @@ public class JythonStateFinalizerExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- jsfe.execute(0, event);
+ jsfe.execute(0, null, event);
} catch (Exception jtseException) {
jtseException.printStackTrace();
fail("test should not throw an exception here");
@@ -159,7 +159,7 @@ public class JythonStateFinalizerExecutorTest {
try {
jsfe.prepare();
- String stateOutput = jsfe.execute(0, event);
+ String stateOutput = jsfe.execute(0, null, event);
assertEquals("SelectedOutputIsMe", stateOutput);
jsfe.cleanUp();
} catch (Exception jtseException) {
diff --git a/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutorTest.java b/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutorTest.java
index aec7470fa..47e98f391 100644
--- a/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskExecutorTest.java
@@ -103,7 +103,7 @@ public class JythonTaskExecutorTest {
}
try {
- jte.execute(-1, null);
+ jte.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals(java.lang.NullPointerException.class, jteException.getClass());
@@ -111,7 +111,7 @@ public class JythonTaskExecutorTest {
Map<String, Object> incomingParameters = new HashMap<>();
try {
- jte.execute(-1, incomingParameters);
+ jte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception jteException) {
assertEquals("failed to execute Jython code for task NULL:0.0.0", jteException.getMessage());
@@ -124,7 +124,7 @@ public class JythonTaskExecutorTest {
try {
jte.prepare();
- Map<String, Object> returnMap = jte.execute(-1, incomingParameters);
+ Map<String, Object> returnMap = jte.execute(-1, null, incomingParameters);
assertEquals(0, returnMap.size());
jte.cleanUp();
fail("test should throw an exception here");
@@ -136,7 +136,7 @@ public class JythonTaskExecutorTest {
task.getTaskLogic().setLogic(scriptSource);
try {
jte.prepare();
- Map<String, Object> returnMap = jte.execute(0, incomingParameters);
+ Map<String, Object> returnMap = jte.execute(0, null, incomingParameters);
assertEquals(0, returnMap.size());
jte.cleanUp();
} catch (Exception jteException) {
diff --git a/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutorTest.java b/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutorTest.java
index 7874b2315..119f4d035 100644
--- a/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-jython/src/test/java/org/onap/policy/apex/plugins/executor/jython/JythonTaskSelectExecutorTest.java
@@ -99,7 +99,7 @@ public class JythonTaskSelectExecutorTest {
state.getTaskSelectionLogic().setLogic(scriptSource);
try {
jtse.prepare();
- jtse.execute(-1, null);
+ jtse.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals(java.lang.NullPointerException.class, jtseException.getClass());
@@ -109,7 +109,7 @@ public class JythonTaskSelectExecutorTest {
EnEvent event = new EnEvent(axEvent);
try {
jtse.prepare();
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception jtseException) {
assertEquals("failed to execute Jython code for task selection logic in NULL:0.0.0:NULL:NULL",
@@ -120,7 +120,7 @@ public class JythonTaskSelectExecutorTest {
state.getTaskSelectionLogic().setLogic(scriptSource);
try {
jtse.prepare();
- jtse.execute(-1, event);
+ jtse.execute(-1, null, event);
jtse.cleanUp();
} catch (Exception jtseException) {
fail("test should not throw an exception here");
diff --git a/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutor.java b/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutor.java
index 9b941a39a..ab62ca4bf 100644
--- a/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutor.java
@@ -26,6 +26,7 @@ import static org.onap.policy.common.utils.validation.Assertions.argumentNotNull
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
import org.mvel2.MVEL;
import org.onap.policy.apex.context.ContextException;
@@ -70,16 +71,17 @@ public class MvelStateFinalizerExecutor extends StateFinalizerExecutor {
* Executes the executor for the state finalizer logic in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields for finalisation
* @return The state output for the state
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public String execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public String execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Check and execute the MVEL logic
argumentNotNull(compiled, "MVEL state finalizer logic not compiled.");
diff --git a/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutor.java b/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutor.java
index 69a53a26b..3fa753bec 100644
--- a/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutor.java
@@ -26,6 +26,7 @@ import static org.onap.policy.common.utils.validation.Assertions.argumentNotNull
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
import org.mvel2.MVEL;
import org.onap.policy.apex.context.ContextException;
@@ -70,16 +71,17 @@ public class MvelTaskExecutor extends TaskExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingFields the incoming fields
* @return The outgoing fields
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> incomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executionProperties,
+ final Map<String, Object> incomingFields) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingFields);
+ executePre(executionId, executionProperties, incomingFields);
// Check and execute the MVEL logic
argumentNotNull(compiled, "MVEL task not compiled.");
diff --git a/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutor.java b/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutor.java
index eefc50d0d..1ba79ceec 100644
--- a/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutor.java
+++ b/plugins/plugins-executor/plugins-executor-mvel/src/main/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutor.java
@@ -25,6 +25,7 @@ import static org.onap.policy.common.utils.validation.Assertions.argumentNotNull
import java.io.Serializable;
import java.util.HashMap;
+import java.util.Properties;
import org.mvel2.MVEL;
import org.onap.policy.apex.context.ContextException;
@@ -71,16 +72,17 @@ public class MvelTaskSelectExecutor extends TaskSelectExecutor {
* Executes the executor for the task in a sequential manner.
*
* @param executionId the execution ID for the current APEX policy execution
+ * @param executionProperties properties for the current APEX policy execution
* @param incomingEvent the incoming event
* @return The outgoing event
* @throws StateMachineException on an execution error
* @throws ContextException on context errors
*/
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent incomingEvent)
- throws StateMachineException, ContextException {
+ public AxArtifactKey execute(final long executionId, final Properties executionProperties,
+ final EnEvent incomingEvent) throws StateMachineException, ContextException {
// Do execution pre work
- executePre(executionId, incomingEvent);
+ executePre(executionId, executionProperties, incomingEvent);
// Check and execute the MVEL logic
argumentNotNull(compiled, "MVEL task not compiled.");
diff --git a/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutorTest.java b/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutorTest.java
index 948dd31e2..5e66be30f 100644
--- a/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelStateFinalizerExecutorTest.java
@@ -126,7 +126,7 @@ public class MvelStateFinalizerExecutorTest {
}
try {
- msfe.execute(-1, null);
+ msfe.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception msfeException) {
assertEquals("failed to execute MVEL code for state NULL:0.0.0:NULL:NULL",
@@ -136,7 +136,7 @@ public class MvelStateFinalizerExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- msfe.execute(-1, event);
+ msfe.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception msfeException) {
assertEquals("failed to execute MVEL code for state NULL:0.0.0:NULL:NULL",
@@ -146,7 +146,7 @@ public class MvelStateFinalizerExecutorTest {
stateFinalizerLogic.setLogic("executionId !=-1");
try {
msfe.prepare();
- msfe.execute(-1, event);
+ msfe.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception msfeException) {
assertEquals(
@@ -161,7 +161,7 @@ public class MvelStateFinalizerExecutorTest {
state.getStateOutputs().put("SelectedOutputIsMe", null);
try {
msfe.prepare();
- String stateOutput = msfe.execute(0, event);
+ String stateOutput = msfe.execute(0, null, event);
assertEquals("SelectedOutputIsMe", stateOutput);
} catch (Exception msfeException) {
LOGGER.warn("Unexpected exception happened here.", msfeException);
diff --git a/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutorTest.java b/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutorTest.java
index 0759aac23..18bccd670 100644
--- a/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskExecutorTest.java
@@ -103,7 +103,7 @@ public class MvelTaskExecutorTest {
}
try {
- mte.execute(-1, null);
+ mte.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception mteException) {
assertEquals(java.lang.NullPointerException.class, mteException.getClass());
@@ -111,7 +111,7 @@ public class MvelTaskExecutorTest {
Map<String, Object> incomingParameters = new HashMap<>();
try {
- mte.execute(-1, incomingParameters);
+ mte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception mteException) {
assertEquals("failed to execute MVEL code for task NULL:0.0.0", mteException.getMessage());
@@ -120,7 +120,7 @@ public class MvelTaskExecutorTest {
task.getTaskLogic().setLogic("executionId != -1");
try {
mte.prepare();
- mte.execute(-1, incomingParameters);
+ mte.execute(-1, null, incomingParameters);
fail("test should throw an exception here");
} catch (Exception mteException) {
assertEquals("execute-post: task logic execution failure on task \"NULL\" in model NULL:0.0.0",
@@ -129,7 +129,7 @@ public class MvelTaskExecutorTest {
try {
mte.prepare();
- Map<String, Object> returnMap = mte.execute(0, incomingParameters);
+ Map<String, Object> returnMap = mte.execute(0, null, incomingParameters);
assertEquals(0, returnMap.size());
mte.cleanUp();
} catch (Exception mteException) {
diff --git a/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutorTest.java b/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutorTest.java
index fd4857fa0..05591b075 100644
--- a/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutorTest.java
+++ b/plugins/plugins-executor/plugins-executor-mvel/src/test/java/org/onap/policy/apex/plugins/executor/mvel/MvelTaskSelectExecutorTest.java
@@ -103,7 +103,7 @@ public class MvelTaskSelectExecutorTest {
}
try {
- mtse.execute(-1, null);
+ mtse.execute(-1, null, null);
fail("test should throw an exception here");
} catch (Exception mtseException) {
assertEquals(java.lang.NullPointerException.class, mtseException.getClass());
@@ -112,7 +112,7 @@ public class MvelTaskSelectExecutorTest {
AxEvent axEvent = new AxEvent(new AxArtifactKey("Event", "0.0.1"));
EnEvent event = new EnEvent(axEvent);
try {
- mtse.execute(-1, event);
+ mtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception mtseException) {
assertEquals("failed to execute MVEL code for state NULL:0.0.0:NULL:NULL",
@@ -122,7 +122,7 @@ public class MvelTaskSelectExecutorTest {
state.getTaskSelectionLogic().setLogic("executionId != -1");
try {
mtse.prepare();
- mtse.execute(-1, event);
+ mtse.execute(-1, null, event);
fail("test should throw an exception here");
} catch (Exception mtseException) {
assertEquals("execute-post: task selection logic failed on state \"NULL:0.0.0:NULL:NULL\"",
@@ -131,7 +131,7 @@ public class MvelTaskSelectExecutorTest {
try {
mtse.prepare();
- AxArtifactKey taskKey = mtse.execute(0, event);
+ AxArtifactKey taskKey = mtse.execute(0, null, event);
assertEquals("NULL:0.0.0", taskKey.getId());
mtse.cleanUp();
} catch (Exception mtseException) {
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEvent.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEvent.java
index 368305efa..06b9ddf53 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEvent.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEvent.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -23,8 +23,13 @@ package org.onap.policy.apex.service.engine.event;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
import java.util.concurrent.atomic.AtomicLong;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,6 +41,9 @@ import org.slf4j.LoggerFactory;
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
+@Getter
+@ToString
+@EqualsAndHashCode(callSuper = false)
public class ApexEvent extends HashMap<String, Object> implements Serializable {
private static final long serialVersionUID = -4451918242101961685L;
@@ -104,19 +112,20 @@ public class ApexEvent extends HashMap<String, Object> implements Serializable {
/** The target of an Apex event must match this regular expression. */
public static final String TARGET_REGEXP = SOURCE_REGEXP;
- // The fields of the event
- // @formatter:off
+ // The standard fields of the event
private final String name;
private final String version;
private final String nameSpace;
private final String source;
private final String target;
- // @formatter:on
// An identifier for the current event execution. The default value here will always be unique
// in a single JVM
private long executionId = ApexEvent.getNextExecutionId();
+ // Event related properties used during processing of this event
+ private Properties executionProperties;
+
// A string holding a message that indicates why processing of this event threw an exception
private String exceptionMessage;
@@ -144,7 +153,7 @@ public class ApexEvent extends HashMap<String, Object> implements Serializable {
/**
* Private utility to get the next candidate value for a Execution ID. This value will always be
* unique in a single JVM
- *
+ *
* @return the next candidate value for a Execution ID
*/
private static synchronized long getNextExecutionId() {
@@ -190,63 +199,10 @@ public class ApexEvent extends HashMap<String, Object> implements Serializable {
}
/**
- * Gets the name.
+ * Sets the pass-thru executionID for this event.
*
- * @return the name
- */
- public String getName() {
- return name;
- }
-
- /**
- * Gets the version.
- *
- * @return the version
- */
- public String getVersion() {
- return version;
- }
-
- /**
- * Gets the name space.
- *
- * @return the name space
- */
- public String getNameSpace() {
- return nameSpace;
- }
-
- /**
- * Gets the source.
- *
- * @return the source
- */
- public String getSource() {
- return source;
- }
-
- /**
- * Gets the target.
- *
- * @return the target
- */
- public String getTarget() {
- return target;
- }
-
- /**
- * Gets the pass-thru executionID for this event.
- *
- * @return the executionID
- */
- public long getExecutionId() {
- return executionId;
- }
-
- /**
- * Sets the pass-thru executionID for this event. The default value for executionID will be be
- * unique in the current JVM. For some applications/deployments this executionID may need to
- * globally unique
+ * <p>The default value for executionID is unique in the current JVM. For some applications/deployments this
+ * executionID may need to be globally unique
*
* @param executionId the executionID
*/
@@ -255,12 +211,12 @@ public class ApexEvent extends HashMap<String, Object> implements Serializable {
}
/**
- * Gets the exception message explaining why processing of this event to fail.
+ * Set the execution properties for this event.
*
- * @return the exception message
+ * @param executionProperties the execution properties to set
*/
- public String getExceptionMessage() {
- return exceptionMessage;
+ public void setExecutionProperties(Properties executionProperties) {
+ this.executionProperties = executionProperties;
}
/**
@@ -318,50 +274,4 @@ public class ApexEvent extends HashMap<String, Object> implements Serializable {
// Go ahead and put everything
super.putAll(incomingMap);
}
-
- /*
- * Object overrides from here
- */
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- final StringBuilder builder = new StringBuilder();
- builder.append("name=");
- builder.append(name);
- builder.append(",version=");
- builder.append(version);
- builder.append(",nameSpace=");
- builder.append(nameSpace);
- builder.append(",source=");
- builder.append(source);
- builder.append(",target=");
- builder.append(target);
- builder.append(",executionID=");
- builder.append(executionId);
- builder.append(",exceptionMessage=");
- builder.append(exceptionMessage);
- builder.append(",");
- builder.append("[");
-
- boolean firstData = true;
- for (final Map.Entry<String, Object> dataEntry : this.entrySet()) {
- if (firstData) {
- firstData = false;
- } else {
- builder.append(',');
- }
-
- builder.append(dataEntry.getKey());
- builder.append('=');
- builder.append(dataEntry.getValue());
- }
-
- builder.append("]");
- return builder.toString();
- }
}
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventConverter.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventConverter.java
index 11f005ddf..a45ba2e1e 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventConverter.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventConverter.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventProducer.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventProducer.java
index 414fbc9e3..1d6476837 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventProducer.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventProducer.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.service.engine.event;
+import java.util.Properties;
+
import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters;
import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode;
@@ -44,7 +46,7 @@ public interface ApexEventProducer {
/**
* Get the peered reference object for this producer.
- *
+ *
* @param peeredMode the peered mode for which to return the reference
* @return the peered reference object for this producer
*/
@@ -52,7 +54,7 @@ public interface ApexEventProducer {
/**
* Set the peered reference object for this producer.
- *
+ *
* @param peeredMode the peered mode for which to return the reference
* @param peeredReference the peered reference object for this producer
*/
@@ -62,14 +64,15 @@ public interface ApexEventProducer {
* Send an event to the producer.
*
* @param executionId the unique ID that produced this event
+ * @param executionProperties properties used during processing of this event
* @param eventName The name of the event
* @param event The converted event as an object
*/
- void sendEvent(long executionId, String eventName, Object event);
+ void sendEvent(long executionId, Properties executionProperties, String eventName, Object event);
/**
* Get the name of this event producer.
- *
+ *
* @return the event producer name
*/
String getName();
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventReceiver.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventReceiver.java
index 8d7e7bae5..aed031eba 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventReceiver.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/ApexEventReceiver.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.service.engine.event;
+import java.util.Properties;
+
/**
* This interface is used by an Apex event consumer {@link ApexEventConsumer} consumer to pass a
* received event to Apex.
@@ -31,16 +33,18 @@ public interface ApexEventReceiver {
* Receive an event from a consumer for processing.
*
* @param executionId the unique ID for execution of this event
+ * @param executionProperties properties used during processing of this event
* @param event the event to receive
* @throws ApexEventException on exceptions receiving an event into Apex
*/
- void receiveEvent(long executionId, Object event) throws ApexEventException;
+ void receiveEvent(long executionId, Properties executionProperties, Object event) throws ApexEventException;
/**
* Receive an event from a consumer for processing.
*
+ * @param executionProperties properties used during processing of this event
* @param event the event to receive
* @throws ApexEventException on exceptions receiving an event into Apex
*/
- void receiveEvent(Object event) throws ApexEventException;
+ void receiveEvent(Properties executionProperties, Object event) throws ApexEventException;
}
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumer.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumer.java
index f74751a63..8d845e0ce 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumer.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumer.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -99,7 +99,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
/**
* Receive an incoming event send request from the peered event Requestor producer and queue it.
- *
+ *
* @param eventObject the incoming event to process
* @throws ApexEventRuntimeException on queueing errors
*/
@@ -117,7 +117,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#start()
*/
@Override
@@ -131,7 +131,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#getName()
*/
@Override
@@ -141,7 +141,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
/**
* Get the number of events received to date.
- *
+ *
* @return the number of events received
*/
public int getEventsReceived() {
@@ -150,7 +150,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#getPeeredReference(org.onap.
* policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode)
*/
@@ -161,7 +161,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#setPeeredReference(org.onap.
* policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode,
* org.onap.policy.apex.service.engine.event.PeeredReference)
@@ -190,7 +190,7 @@ public class EventRequestorConsumer implements ApexEventConsumer, Runnable {
}
// Send the event into Apex
- eventReceiver.receiveEvent(eventObject);
+ eventReceiver.receiveEvent(null, eventObject);
eventsReceived++;
} catch (final InterruptedException e) {
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducer.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducer.java
index fda48e7ca..9018b91ef 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducer.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducer.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -22,6 +22,7 @@ package org.onap.policy.apex.service.engine.event.impl.eventrequestor;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.service.engine.event.ApexEventConsumer;
import org.onap.policy.apex.service.engine.event.ApexEventException;
@@ -35,11 +36,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Concrete implementation of an Apex event producer that sends one or more events to its peered
- * event requestor consumer.
- *
+ * Concrete implementation of an Apex event producer that sends one or more events to its peered event requestor
+ * consumer.
+ *
* @author Liam Fallon (liam.fallon@ericsson.com)
- *
+ *
*/
public class EventRequestorProducer implements ApexEventProducer {
private static final Logger LOGGER = LoggerFactory.getLogger(EventRequestorProducer.class);
@@ -56,7 +57,7 @@ public class EventRequestorProducer implements ApexEventProducer {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventProducer#init(java.lang.String,
* org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters)
*/
@@ -85,7 +86,7 @@ public class EventRequestorProducer implements ApexEventProducer {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventProducer#getName()
*/
@Override
@@ -95,44 +96,35 @@ public class EventRequestorProducer implements ApexEventProducer {
/**
* Get the number of events sent to date.
- *
+ *
* @return the number of events received
*/
public int getEventsSent() {
return eventsSent;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#getPeeredReference(org.onap.
- * policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode)
+ /**
+ * {@inheritDoc}
*/
@Override
public PeeredReference getPeeredReference(final EventHandlerPeeredMode peeredMode) {
return peerReferenceMap.get(peeredMode);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#setPeeredReference(org.onap.
- * policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode,
- * org.onap.policy.apex.service.engine.event.PeeredReference)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setPeeredReference(final EventHandlerPeeredMode peeredMode, final PeeredReference peeredReference) {
peerReferenceMap.put(peeredMode, peeredReference);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#sendEvent(long, java.lang.
- * String, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object eventObject) {
+ public void sendEvent(final long executionId, final Properties executorProperties, final String eventName,
+ final Object eventObject) {
// Check if this is a synchronized event, if so we have received a reply
final SynchronousEventCache synchronousEventCache =
(SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
@@ -166,10 +158,8 @@ public class EventRequestorProducer implements ApexEventProducer {
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#stop()
+ /**
+ * {@inheritDoc}
*/
@Override
public void stop() {
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/ApexFileEventConsumer.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/ApexFileEventConsumer.java
index 0f0996fb8..076c031e9 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/ApexFileEventConsumer.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/ApexFileEventConsumer.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -80,7 +80,7 @@ public class ApexFileEventConsumer implements ApexEventConsumer, Runnable {
/**
* Private utility to get the next candidate value for a Execution ID. This value will always be unique in a single
* JVM
- *
+ *
* @return the next candidate value for a Execution ID
*/
private static synchronized long getNextExecutionId() {
@@ -142,7 +142,7 @@ public class ApexFileEventConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#getName()
*/
@Override
@@ -152,7 +152,7 @@ public class ApexFileEventConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#getPeeredReference(org.onap.
* policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode)
*/
@@ -163,7 +163,7 @@ public class ApexFileEventConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#setPeeredReference(org.onap.
* policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode,
* org.onap.policy.apex.service.engine.event.PeeredReference)
@@ -175,7 +175,7 @@ public class ApexFileEventConsumer implements ApexEventConsumer, Runnable {
/*
* (non-Javadoc)
- *
+ *
* @see org.onap.policy.apex.service.engine.event.ApexEventConsumer#start()
*/
@Override
@@ -211,7 +211,7 @@ public class ApexFileEventConsumer implements ApexEventConsumer, Runnable {
// Process the event from the text block if there is one there
if (textBlock.getText() != null) {
- eventReceiver.receiveEvent(getNextExecutionId(), textBlock.getText());
+ eventReceiver.receiveEvent(getNextExecutionId(), null, textBlock.getText());
}
}
while (!textBlock.isEndOfText());
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/producer/ApexFileEventProducer.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/producer/ApexFileEventProducer.java
index e12b772df..db8413c6f 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/producer/ApexFileEventProducer.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/producer/ApexFileEventProducer.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.io.PrintStream;
import java.util.EnumMap;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
import org.onap.policy.apex.service.engine.event.ApexEventException;
@@ -57,10 +58,8 @@ public class ApexFileEventProducer implements ApexEventProducer {
private final Map<EventHandlerPeeredMode, PeeredReference> peerReferenceMap =
new EnumMap<>(EventHandlerPeeredMode.class);
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.apps.uservice.producer.ApexEventProducer#init()
+ /**
+ * {@inheritDoc}
*/
@Override
public void init(final String name, final EventHandlerParameters producerParameters) throws ApexEventException {
@@ -105,47 +104,36 @@ public class ApexFileEventProducer implements ApexEventProducer {
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#getName()
+ /**
+ * {@inheritDoc}
*/
@Override
public String getName() {
return producerName;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#getPeeredReference(org.onap.
- * policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode)
+ /**
+ * {@inheritDoc}
*/
@Override
public PeeredReference getPeeredReference(final EventHandlerPeeredMode peeredMode) {
return peerReferenceMap.get(peeredMode);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#setPeeredReference(org.onap.
- * policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode,
- * org.onap.policy.apex.service.engine.event.PeeredReference)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setPeeredReference(final EventHandlerPeeredMode peeredMode, final PeeredReference peeredReference) {
peerReferenceMap.put(peeredMode, peeredReference);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#sendEvent(long,
- * java.lang.String, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
// Check if this is a synchronized event, if so we have received a reply
final SynchronousEventCache synchronousEventCache =
(SynchronousEventCache) peerReferenceMap.get(EventHandlerPeeredMode.SYNCHRONOUS);
@@ -169,10 +157,8 @@ public class ApexFileEventProducer implements ApexEventProducer {
eventOutputStream.flush();
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.apps.uservice.producer.ApexEventProducer#stop()
+ /**
+ * {@inheritDoc}
*/
@Override
public void stop() {
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventMarshaller.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventMarshaller.java
index cb4086d35..7c0c17d6b 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventMarshaller.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventMarshaller.java
@@ -186,7 +186,8 @@ public class ApexEventMarshaller implements ApexEventListener, Runnable {
// Process the next Apex event from the queue
final Object event = converter.fromApexEvent(apexEvent);
- producer.sendEvent(apexEvent.getExecutionId(), apexEvent.getName(), event);
+ producer.sendEvent(apexEvent.getExecutionId(), apexEvent.getExecutionProperties(), apexEvent.getName(),
+ event);
if (LOGGER.isTraceEnabled()) {
final String message = "event sent : " + apexEvent.toString();
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java
index 97aa25fbe..6fdc0fdef 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,6 +21,7 @@
package org.onap.policy.apex.service.engine.main;
import java.util.List;
+import java.util.Properties;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
@@ -88,7 +89,7 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
* @param consumerParameters the consumer parameters for this specific unmarshaler
*/
public ApexEventUnmarshaller(final String name, final EngineServiceParameters engineServiceParameters,
- final EventHandlerParameters consumerParameters) {
+ final EventHandlerParameters consumerParameters) {
this.name = name;
this.engineServiceParameters = engineServiceParameters;
this.consumerParameters = consumerParameters;
@@ -118,8 +119,8 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
consumer.start();
// Configure and start the event reception thread
- final String threadName = engineServiceParameters.getEngineKey().getName() + ":" + this.getClass().getName()
- + ":" + name;
+ final String threadName =
+ engineServiceParameters.getEngineKey().getName() + ":" + this.getClass().getName() + ":" + name;
unmarshallerThread = new ApplicationThreadFactory(threadName).newThread(this);
unmarshallerThread.setDaemon(true);
unmarshallerThread.start();
@@ -154,7 +155,7 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
/**
* Connect a synchronous unmarshaler with a synchronous marshaler.
- *
+ *
* @param peeredMode the peered mode under which the unmarshaler and marshaler are connected
* @param peeredMarshaller the synchronous marshaler to connect with
*/
@@ -164,7 +165,7 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
// To connect a synchronous unmarshaler and marshaler, we create a synchronous event
// cache on the consumer/producer pair
new SynchronousEventCache(peeredMode, consumer, peeredMarshaller.getProducer(),
- consumerParameters.getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
+ consumerParameters.getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
return;
case REQUESTOR:
@@ -176,36 +177,34 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventReceiver#receiveEvent(java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void receiveEvent(final Object event) throws ApexEventException {
- receiveEvent(0, event, true);
+ public void receiveEvent(final Properties executionProperties, final Object event) throws ApexEventException {
+ receiveEvent(0, executionProperties, event, true);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventReceiver#receiveEvent(long, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void receiveEvent(final long executionId, final Object event) throws ApexEventException {
- receiveEvent(executionId, event, false);
+ public void receiveEvent(final long executionId, final Properties executionProperties, final Object event)
+ throws ApexEventException {
+ receiveEvent(executionId, executionProperties, event, false);
}
/**
* Receive an event from a consumer, convert its protocol and forward it to Apex.
*
* @param executionId the execution id the incoming execution ID
+ * @param executionProperties properties used during processing of this event
* @param event the event in its native format
* @param generateExecutionId if true, let Apex generate the execution ID, if false, use the incoming execution ID
* @throws ApexEventException on unmarshaling errors on events
*/
- private void receiveEvent(final long executionId, final Object event, final boolean generateExecutionId)
- throws ApexEventException {
+ private void receiveEvent(final long executionId, final Properties executionProperties, final Object event,
+ final boolean generateExecutionId) throws ApexEventException {
// Push the event onto the queue
if (LOGGER.isTraceEnabled()) {
String eventString = "onMessage(): event received: " + event.toString();
@@ -215,6 +214,7 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
// Convert the incoming events to Apex events
try {
final List<ApexEvent> apexEventList = converter.toApexEvent(consumerParameters.getEventName(), event);
+
for (final ApexEvent apexEvent : apexEventList) {
isEventFilteredOut(apexEvent);
@@ -228,19 +228,21 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
apexEvent.setExecutionId(executionId);
}
+ apexEvent.setExecutionProperties(executionProperties);
+
// Enqueue the event
queue.add(apexEvent);
// Cache synchronized events that are sent
if (consumerParameters.isPeeredMode(EventHandlerPeeredMode.SYNCHRONOUS)) {
- final SynchronousEventCache synchronousEventCache = (SynchronousEventCache) consumer
- .getPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS);
+ final SynchronousEventCache synchronousEventCache =
+ (SynchronousEventCache) consumer.getPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS);
synchronousEventCache.cacheSynchronizedEventToApex(apexEvent.getExecutionId(), apexEvent);
}
}
} catch (final ApexException e) {
final String errorMessage = "Error while converting event into an ApexEvent for " + name + ": "
- + e.getMessage() + ", Event=" + event;
+ + e.getMessage() + ", Event=" + event;
LOGGER.warn(errorMessage, e);
throw new ApexEventException(errorMessage, e);
}
@@ -248,23 +250,22 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
/**
* Check if an event is filtered out and ignored.
- *
+ *
* @param apexEvent the event to check
*/
private boolean isEventFilteredOut(final ApexEvent apexEvent) {
// Check if we are filtering events on this unmarshaler, if so check the event name
// against the filter
if (consumerParameters.isSetEventNameFilter()
- && !apexEvent.getName().matches(consumerParameters.getEventNameFilter())) {
-
+ && !apexEvent.getName().matches(consumerParameters.getEventNameFilter())) {
+
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("onMessage(): event {} not processed, filtered out by filter", apexEvent,
- consumerParameters.getEventNameFilter());
+ consumerParameters.getEventNameFilter());
}
-
+
return true;
- }
- else {
+ } else {
return false;
}
}
@@ -325,7 +326,7 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable {
// Order a stop on the synchronous cache if one exists
if (consumerParameters != null && consumerParameters.isPeeredMode(EventHandlerPeeredMode.SYNCHRONOUS)
- && consumer.getPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS) != null) {
+ && consumer.getPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS) != null) {
((SynchronousEventCache) consumer.getPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS)).stop();
}
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyStateFinalizerExecutor.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyStateFinalizerExecutor.java
index f7c0876d4..6ce7d4aa0 100644
--- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyStateFinalizerExecutor.java
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyStateFinalizerExecutor.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,6 +21,7 @@
package org.onap.policy.apex.service.engine.parameters.dummyclasses;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.executor.StateFinalizerExecutor;
@@ -30,13 +31,12 @@ import org.onap.policy.apex.core.engine.executor.exception.StateMachineException
* Dummy state finalizer executor for testing.
*/
public class DummyStateFinalizerExecutor extends StateFinalizerExecutor {
- public DummyStateFinalizerExecutor() {
- }
-
+ public DummyStateFinalizerExecutor() {}
+
@Override
- public String execute(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
-
+ public String execute(final long executionId, final Properties executorProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
+
return "stateOutput0";
}
}
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskExecutor.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskExecutor.java
index 421cfb9fc..9a93a1f2e 100644
--- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskExecutor.java
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskExecutor.java
@@ -5,15 +5,15 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,6 +21,7 @@
package org.onap.policy.apex.service.engine.parameters.dummyclasses;
import java.util.Map;
+import java.util.Properties;
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.event.EnEvent;
@@ -33,21 +34,19 @@ import org.onap.policy.apex.model.policymodel.concepts.AxTask;
* Dummy task executor for testing.
*/
public class DummyTaskExecutor extends TaskExecutor {
- public DummyTaskExecutor() {
- }
+ public DummyTaskExecutor() {}
@Override
- public void prepare() throws StateMachineException {
- }
-
+ public void prepare() throws StateMachineException {}
+
@Override
- public Map<String, Object> execute(final long executionId, final Map<String, Object> newIncomingFields)
- throws StateMachineException, ContextException {
+ public Map<String, Object> execute(final long executionId, final Properties executorProperties,
+ final Map<String, Object> newIncomingFields) throws StateMachineException, ContextException {
AxArtifactKey event0Key = new AxArtifactKey("Event0:0.0.1");
return new EnEvent(event0Key);
}
-
+
@Override
public AxTask getSubject() {
AxArtifactKey taskKey = new AxArtifactKey("FirstTask:0.0.1");
@@ -55,6 +54,5 @@ public class DummyTaskExecutor extends TaskExecutor {
}
@Override
- public void cleanUp() throws StateMachineException {
- }
+ public void cleanUp() throws StateMachineException {}
}
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskSelectExecutor.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskSelectExecutor.java
index 020e69843..cf41d8699 100644
--- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskSelectExecutor.java
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/DummyTaskSelectExecutor.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.service.engine.parameters.dummyclasses;
+import java.util.Properties;
+
import org.onap.policy.apex.context.ContextException;
import org.onap.policy.apex.core.engine.event.EnEvent;
import org.onap.policy.apex.core.engine.executor.TaskSelectExecutor;
@@ -30,21 +32,18 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
* Dummy task selection executor for testing.
*/
public class DummyTaskSelectExecutor extends TaskSelectExecutor {
- public DummyTaskSelectExecutor() {
- }
+ public DummyTaskSelectExecutor() {}
@Override
- public void prepare() throws StateMachineException {
- }
+ public void prepare() throws StateMachineException {}
@Override
- public AxArtifactKey execute(final long executionId, final EnEvent newIncomingEvent)
- throws StateMachineException, ContextException {
-
+ public AxArtifactKey execute(final long executionId, final Properties executorProperties,
+ final EnEvent newIncomingEvent) throws StateMachineException, ContextException {
+
return new AxArtifactKey("task:0.0.1");
}
@Override
- public void cleanUp() throws StateMachineException {
- }
+ public void cleanUp() throws StateMachineException {}
}
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/SuperDooperEventProducer.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/SuperDooperEventProducer.java
index b30ad1846..ff7d90a40 100644
--- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/SuperDooperEventProducer.java
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/dummyclasses/SuperDooperEventProducer.java
@@ -5,21 +5,23 @@
* Licensed 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.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
package org.onap.policy.apex.service.engine.parameters.dummyclasses;
+import java.util.Properties;
+
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventProducer;
import org.onap.policy.apex.service.engine.event.PeeredReference;
@@ -30,6 +32,7 @@ import org.slf4j.ext.XLoggerFactory;
/**
* Dummy event producer parameters.
+ *
* @author John Keeney (john.keeney@ericsson.com)
*/
public class SuperDooperEventProducer implements ApexEventProducer {
@@ -40,67 +43,48 @@ public class SuperDooperEventProducer implements ApexEventProducer {
public SuperDooperEventProducer() {}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#init(java.lang.String,
- * org.onap.policy.apex.service.parameters.producer.ProducerParameters)
+ /**
+ * {@inheritDoc}
*/
@Override
public void init(final String name, final EventHandlerParameters producerParameters) throws ApexEventException {
this.name = name;
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#getName()
+ /**
+ * {@inheritDoc}
*/
@Override
public String getName() {
return name;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.service.engine.event.ApexEventProducer#getPeeredReference(org.onap.policy.apex
- * .service.parameters.eventhandler.EventHandlerPeeredMode)
+ /**
+ * {@inheritDoc}
*/
@Override
public PeeredReference getPeeredReference(final EventHandlerPeeredMode peeredMode) {
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.onap.policy.apex.service.engine.event.ApexEventProducer#setPeeredReference(org.onap.policy.apex
- * .service.parameters.eventhandler.EventHandlerPeeredMode,
- * org.onap.policy.apex.service.engine.event.PeeredReference)
+ /**
+ * {@inheritDoc}
*/
@Override
public void setPeeredReference(final EventHandlerPeeredMode peeredMode, final PeeredReference peeredReference) {}
-
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#sendEvent(long,
- * java.lang.String, java.lang.Object)
+ /**
+ * {@inheritDoc}
*/
@Override
- public void sendEvent(final long executionId, final String eventName, final Object event) {
+ public void sendEvent(final long executionId, final Properties executionProperties, final String eventName,
+ final Object event) {
LOGGER.info("Sending Event: " + this.getClass().getCanonicalName() + ":" + this.name + " ... event ("
+ eventName + ") : " + event);
}
- /*
- * (non-Javadoc)
- *
- * @see org.onap.policy.apex.service.engine.event.ApexEventProducer#stop()
+ /**
+ * {@inheritDoc}
*/
@Override
public void stop() {}