X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-interactions%2Fmodel-actors%2Factor.sdnr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontrolloop%2Factor%2Fsdnr%2FSdnrActorServiceProvider.java;fp=models-interactions%2Fmodel-actors%2Factor.sdnr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontrolloop%2Factor%2Fsdnr%2FSdnrActorServiceProvider.java;h=8c799e5cfbd5160f1f1d5e14cb6e0e97d04541ed;hb=d0ba41b23a788bc557f451a0c66f0095c10dd390;hp=0919779a5911aee4b759745529a7e04f21fb2849;hpb=76a2d0ed90c281768793a279debbd6ee6e445fce;p=policy%2Fmodels.git diff --git a/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProvider.java b/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProvider.java index 0919779a5..8c799e5cf 100644 --- a/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProvider.java +++ b/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProvider.java @@ -25,10 +25,13 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.util.Collections; import java.util.List; +import org.apache.commons.lang3.tuple.Pair; import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.ControlLoopResponse; import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actorserviceprovider.impl.ActorImpl; +import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicActor; +import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicOperator; +import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicActorParams; import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.controlloop.policy.PolicyResult; import org.onap.policy.sdnr.PciCommonHeader; @@ -40,27 +43,11 @@ import org.onap.policy.sdnr.PciResponseWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class SdnrActorServiceProvider extends ActorImpl { +public class SdnrActorServiceProvider extends BidirectionalTopicActor { private static final String NAME = "SDNR"; - public static class Pair { - public final A result; - public final B message; - - public Pair(A result, B message) { - this.result = result; - this.message = message; - } - - public A getResult() { - return this.result; - } - - public B getMessage() { - return this.message; - } - } + // TODO old code: remove lines down to **HERE** private static final Logger logger = LoggerFactory.getLogger(SdnrActorServiceProvider.class); @@ -80,10 +67,20 @@ public class SdnrActorServiceProvider extends ActorImpl { private static final ImmutableMap> payloads = new ImmutableMap.Builder>() .put(RECIPE_MODIFY, ImmutableList.of(SDNR_REQUEST_PARAMS, SDNR_CONFIG_PARAMS)).build(); + // **HERE** + + /** + * Constructor. + */ public SdnrActorServiceProvider() { - super(NAME); + super(NAME, BidirectionalTopicActorParams.class); + + addOperator(new BidirectionalTopicOperator(NAME, ModifyConfigOperation.NAME, this, SdnrOperation.SELECTOR_KEYS, + ModifyConfigOperation::new)); } + // TODO old code: remove lines down to **HERE** + @Override public String actor() { return NAME; @@ -195,7 +192,7 @@ public class SdnrActorServiceProvider extends ActorImpl { * @return an key-value pair that contains the Policy result and SDNR response * message */ - public static SdnrActorServiceProvider.Pair processResponse( + public static Pair processResponse( PciResponseWrapper dmaapResponse) { logger.info("SDNR processResponse called : {}", dmaapResponse); @@ -214,7 +211,7 @@ public class SdnrActorServiceProvider extends ActorImpl { */ if (sdnrResponse.getStatus() == null) { message = "Policy was unable to parse SDN-R response status field (it was null)."; - return new SdnrActorServiceProvider.Pair<>(PolicyResult.FAILURE_EXCEPTION, message); + return Pair.of(PolicyResult.FAILURE_EXCEPTION, message); } /* @@ -223,7 +220,7 @@ public class SdnrActorServiceProvider extends ActorImpl { String responseValue = PciResponseCode.toResponseValue(sdnrResponse.getStatus().getCode()); if (responseValue == null) { message = "Policy was unable to parse SDN-R response status code field."; - return new SdnrActorServiceProvider.Pair<>(PolicyResult.FAILURE_EXCEPTION, message); + return Pair.of(PolicyResult.FAILURE_EXCEPTION, message); } logger.info("SDNR Response Code is {}", responseValue); @@ -255,7 +252,7 @@ public class SdnrActorServiceProvider extends ActorImpl { default: result = PolicyResult.FAILURE_EXCEPTION; } - return new SdnrActorServiceProvider.Pair<>(result, message); + return Pair.of(result, message); } /** @@ -290,4 +287,5 @@ public class SdnrActorServiceProvider extends ActorImpl { return clRsp; } + // **HERE** }