diff options
author | Jim Hahn <jrh3@att.com> | 2020-06-10 15:44:29 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-06-11 12:28:45 -0400 |
commit | abba1c2f8fc792b63392302fec99ee27147362aa (patch) | |
tree | 93310e97ab67820e2f6ffde946afa7c259e1a7a1 /models-interactions/model-actors/actorServiceProvider/src/main | |
parent | eeb8d3b9c25e792e08ffe2d10b3f4b1d983a46fd (diff) |
Default ActorImpl should have an "operations" property
Added "operations" level to actor properties. Also renamed CommonActorParams
to ActorParams, in the process.
Note: This impacts the properties specified in drools-apps.
Issue-ID: POLICY-2629
Change-Id: I155bcb6ced73cb54e656d34e0b184fb2ed6250d1
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-interactions/model-actors/actorServiceProvider/src/main')
-rw-r--r-- | models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/ActorImpl.java | 11 | ||||
-rw-r--r-- | models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/ActorParams.java (renamed from models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/CommonActorParams.java) | 4 | ||||
-rw-r--r-- | models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicActorParams.java | 2 | ||||
-rw-r--r-- | models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpActorParams.java | 2 |
4 files changed, 13 insertions, 6 deletions
diff --git a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/ActorImpl.java b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/ActorImpl.java index 6113f9391..c3c815e80 100644 --- a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/ActorImpl.java +++ b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/ActorImpl.java @@ -29,6 +29,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.onap.policy.controlloop.actorserviceprovider.Operator; import org.onap.policy.controlloop.actorserviceprovider.Util; +import org.onap.policy.controlloop.actorserviceprovider.parameters.ActorParams; import org.onap.policy.controlloop.actorserviceprovider.parameters.ParameterValidationRuntimeException; import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.slf4j.Logger; @@ -156,7 +157,8 @@ public class ActorImpl extends StartConfigPartial<Map<String, Object>> implement /** * Extracts the operator parameters from the actor parameters, for a given operator. - * This method assumes each operation has its own set of parameters. + * This method translates the parameters to an {@link ActorParams} and then creates a function + * that will extract operator-specific parameters. * * @param actorParameters actor parameters * @return a function to extract the operator parameters from the actor parameters. @@ -164,8 +166,13 @@ public class ActorImpl extends StartConfigPartial<Map<String, Object>> implement * the given operation name */ protected Function<String, Map<String, Object>> makeOperatorParameters(Map<String, Object> actorParameters) { + String actorName = getName(); - return operName -> Util.translateToMap(getName() + "." + operName, actorParameters.get(operName)); + // @formatter:off + return Util.translate(actorName, actorParameters, ActorParams.class) + .doValidation(actorName) + .makeOperationParameters(actorName); + // @formatter:on } /** diff --git a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/CommonActorParams.java b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/ActorParams.java index b8218e53b..948677fa4 100644 --- a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/CommonActorParams.java +++ b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/ActorParams.java @@ -38,7 +38,7 @@ import org.onap.policy.controlloop.actorserviceprovider.Util; @Getter @Setter @EqualsAndHashCode -public class CommonActorParams { +public class ActorParams { /** * Name of the "operations" field contained within actor parameters. */ @@ -84,7 +84,7 @@ public class CommonActorParams { * @return "this" * @throws IllegalArgumentException if the parameters are invalid */ - public CommonActorParams doValidation(String name) { + public ActorParams doValidation(String name) { ValidationResult result = validate(name); if (!result.isValid()) { throw new ParameterValidationRuntimeException("invalid parameters", result); diff --git a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicActorParams.java b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicActorParams.java index 291aeeb23..3e65e4729 100644 --- a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicActorParams.java +++ b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicActorParams.java @@ -31,7 +31,7 @@ import org.onap.policy.common.parameters.annotations.Min; @Getter @Setter @EqualsAndHashCode(callSuper = true) -public class BidirectionalTopicActorParams extends CommonActorParams { +public class BidirectionalTopicActorParams extends ActorParams { /* * Optional, default values that are used if missing from the operation-specific diff --git a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpActorParams.java b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpActorParams.java index d589e1d7e..616f674c5 100644 --- a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpActorParams.java +++ b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpActorParams.java @@ -31,7 +31,7 @@ import org.onap.policy.common.parameters.annotations.Min; @Getter @Setter @EqualsAndHashCode(callSuper = true) -public class HttpActorParams extends CommonActorParams { +public class HttpActorParams extends ActorParams { /* * Optional, default values that are used if missing from the operation-specific |