aboutsummaryrefslogtreecommitdiffstats
path: root/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java
diff options
context:
space:
mode:
Diffstat (limited to 'models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java')
-rw-r--r--models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java
index 1e44a170c..564bbc346 100644
--- a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java
+++ b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/BidirectionalTopicActor.java
@@ -27,14 +27,23 @@ import org.apache.commons.lang3.tuple.Pair;
import org.onap.policy.common.endpoints.event.comm.client.BidirectionalTopicClientException;
import org.onap.policy.controlloop.actorserviceprovider.Util;
import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicActorParams;
+import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicParams;
import org.onap.policy.controlloop.actorserviceprovider.topic.BidirectionalTopicHandler;
import org.onap.policy.controlloop.actorserviceprovider.topic.BidirectionalTopicManager;
/**
- * Actor that uses a bidirectional topic. The actor's parameters must be a
- * {@link BidirectionalTopicActorParams}.
+ * Actor that uses a bidirectional topic. The actor's operator parameters are expected to
+ * be an {@link BidirectionalTopicParams}.
+ *
+ * @param <P> type of parameters
*/
-public class BidirectionalTopicActor extends ActorImpl implements BidirectionalTopicManager {
+public class BidirectionalTopicActor<P extends BidirectionalTopicActorParams> extends ActorImpl
+ implements BidirectionalTopicManager {
+
+ /**
+ * Class of parameters.
+ */
+ private final Class<P> paramsClass;
/**
* Maps a pair of sink and source topic names to their bidirectional topic.
@@ -47,8 +56,9 @@ public class BidirectionalTopicActor extends ActorImpl implements BidirectionalT
*
* @param name actor's name
*/
- public BidirectionalTopicActor(String name) {
+ public BidirectionalTopicActor(String name, Class<P> paramsClass) {
super(name);
+ this.paramsClass = paramsClass;
}
@Override
@@ -92,7 +102,7 @@ public class BidirectionalTopicActor extends ActorImpl implements BidirectionalT
String actorName = getName();
// @formatter:off
- return Util.translate(actorName, actorParameters, BidirectionalTopicActorParams.class)
+ return Util.translate(actorName, actorParameters, paramsClass)
.doValidation(actorName)
.makeOperationParameters(actorName);
// @formatter:on