Passing taskParameters from ApexConfig to policy logic 12/102012/2
authora.sreekumar <ajith.sreekumar@est.tech>
Thu, 13 Feb 2020 11:17:54 +0000 (11:17 +0000)
committera.sreekumar <ajith.sreekumar@est.tech>
Thu, 20 Feb 2020 17:03:05 +0000 (17:03 +0000)
commit8f8df7ee1ddb20b03cedb17dccdc79fc291cc678
tree6ed8b1ebb110992c5e7985100478ab5b216d185d
parent8d22852d50a9b76dd05f68fef2717bb37f3b5bc6
Passing taskParameters from ApexConfig to policy logic

TaskParameters can be used to pass parameters from ApexConfig to the policy logic. In the config, these are optional.
Usage as below:

{
  "engineParameters": {
    "taskParameters": [
      {
        "key": "ParameterKey1",
        "value": "ParameterValue1"
      },
      {
        "taskId": "TaskIdVal",
        "key": "ParameterKey2",
        "value": "ParameterValue2"
      }
    ]
  }
}

In the taskLogic, taskParameters can be accessed as below:
eg:  executor.parameters.get("ParameterKey1"))

If taskId is provided in ApexConfig for an entry, then that
parameter is updated only for that particular task. Otherwise, the task
parameter is added to all tasks.

Change-Id: I9e1b3d3697428309e7d86db40b63ffe822935b69
Issue-ID: POLICY-2364
Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
core/core-engine/src/main/java/org/onap/policy/apex/core/engine/EngineParameters.java
core/core-engine/src/main/java/org/onap/policy/apex/core/engine/TaskParameters.java [new file with mode: 0644]
core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/TaskExecutor.java
core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContext.java
core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/impl/ExecutorFactoryImpl.java
core/core-engine/src/test/java/org/onap/policy/apex/core/engine/EngineParametersTest.java
core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/DummyTaskExecutor.java
core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/TaskExecutorTest.java
core/core-engine/src/test/java/org/onap/policy/apex/core/engine/executor/context/TaskExecutionContextTest.java
services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParametersJsonAdapter.java