summaryrefslogtreecommitdiffstats
path: root/models-interactions/model-actors
diff options
context:
space:
mode:
Diffstat (limited to 'models-interactions/model-actors')
-rw-r--r--models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProvider.java37
-rw-r--r--models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProviderTest.java30
2 files changed, 65 insertions, 2 deletions
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 24db0bd3e..32346bfa2 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
@@ -3,7 +3,7 @@
* SdnrActorServiceProvider
* ================================================================================
* Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,6 +28,7 @@ import java.util.Collections;
import java.util.List;
import org.onap.policy.controlloop.ControlLoopOperation;
+import org.onap.policy.controlloop.ControlLoopResponse;
import org.onap.policy.controlloop.VirtualControlLoopEvent;
import org.onap.policy.controlloop.actorserviceprovider.spi.Actor;
import org.onap.policy.controlloop.policy.Policy;
@@ -69,6 +70,7 @@ public class SdnrActorServiceProvider implements Actor {
// Strings for recipes
private static final String RECIPE_MODIFY = "ModifyConfig";
+ private static final String RECIPE_MODIFY_ANR = "ModifyConfigANR";
/* To be used in future releases when pci ModifyConfig is used */
private static final String SDNR_REQUEST_PARAMS = "request-parameters";
@@ -253,4 +255,37 @@ public class SdnrActorServiceProvider implements Actor {
}
return new SdnrActorServiceProvider.Pair<>(result, message);
}
+
+ /**
+ * Converts the SDNR response to ControlLoopResponse object.
+ *
+ * @param dmaapResponse
+ * the dmaap wrapper message that contains the actual SDNR reponse
+ * inside the body field
+ *
+ * @return a ControlLoopResponse object to send to DCAE_CL_RSP topic
+ */
+ public static ControlLoopResponse getControlLoopResponse(PciResponseWrapper dmaapResponse,
+ VirtualControlLoopEvent event) {
+
+ logger.info("SDNR getClosedLoopResponse called : {} {}", dmaapResponse, event);
+
+ /* The actual SDNR response is inside the wrapper's body field. */
+ PciResponse sdnrResponse = dmaapResponse.getBody();
+
+ /* The ControlLoop response determined from the SDNR Response and input event. */
+ ControlLoopResponse clRsp = new ControlLoopResponse();
+ clRsp.setPayload(sdnrResponse.getPayload());
+ clRsp.setFrom("SDNR");
+ clRsp.setTarget("DCAE");
+ clRsp.setClosedLoopControlName(event.getClosedLoopControlName());
+ clRsp.setPolicyName(event.getPolicyName());
+ clRsp.setPolicyVersion(event.getPolicyVersion());
+ clRsp.setRequestId(event.getRequestId());
+ clRsp.setVersion(event.getVersion());
+ logger.info("SDNR getClosedLoopResponse clRsp : {}", clRsp);
+
+ return clRsp;
+ }
+
}
diff --git a/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProviderTest.java b/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProviderTest.java
index 226c3da47..265aea341 100644
--- a/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProviderTest.java
+++ b/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorServiceProviderTest.java
@@ -2,7 +2,7 @@
* SdnrActorServiceProviderTest
* ================================================================================
* Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -31,6 +31,7 @@ import java.util.UUID;
import org.junit.Test;
import org.onap.policy.controlloop.ControlLoopEventStatus;
import org.onap.policy.controlloop.ControlLoopOperation;
+import org.onap.policy.controlloop.ControlLoopResponse;
import org.onap.policy.controlloop.ControlLoopTargetType;
import org.onap.policy.controlloop.VirtualControlLoopEvent;
import org.onap.policy.controlloop.policy.Policy;
@@ -38,6 +39,7 @@ import org.onap.policy.controlloop.policy.Target;
import org.onap.policy.controlloop.policy.TargetType;
import org.onap.policy.sdnr.PciRequest;
import org.onap.policy.sdnr.PciResponse;
+import org.onap.policy.sdnr.PciResponseWrapper;
import org.onap.policy.sdnr.util.Serialization;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -87,6 +89,32 @@ public class SdnrActorServiceProviderTest {
policy.setPayload(null);
policy.setRetry(2);
policy.setTimeout(300);
+
+ }
+
+ @Test
+ public void getControlLoopResponseTest() {
+ PciRequest sdnrRequest;
+ sdnrRequest = SdnrActorServiceProvider.constructRequest(onsetEvent, operation, policy).getBody();
+ PciResponse sdnrResponse = new PciResponse(sdnrRequest);
+ sdnrResponse.getStatus().setCode(200);
+ sdnrResponse.getStatus().setValue("SDNR success");
+ sdnrResponse.setPayload("sdnr payload ");
+ /* Print out request as json to make sure serialization works */
+ String jsonResponse = Serialization.gsonPretty.toJson(sdnrResponse);
+ logger.info(jsonResponse);
+ PciResponseWrapper pciResponseWrapper = new PciResponseWrapper();
+ pciResponseWrapper.setBody(sdnrResponse);
+
+ ControlLoopResponse clRsp = SdnrActorServiceProvider.getControlLoopResponse(pciResponseWrapper, onsetEvent);
+ assertEquals(clRsp.getClosedLoopControlName(), onsetEvent.getClosedLoopControlName());
+ assertEquals(clRsp.getRequestId(), onsetEvent.getRequestId());
+ assertEquals(clRsp.getPolicyName(), onsetEvent.getPolicyName());
+ assertEquals(clRsp.getPolicyVersion(), onsetEvent.getPolicyVersion());
+ assertEquals(clRsp.getVersion(), onsetEvent.getVersion());
+ assertEquals(clRsp.getFrom(), "SDNR");
+ assertEquals(clRsp.getTarget(), "DCAE");
+ assertEquals(clRsp.getPayload(), sdnrResponse.getPayload());
}
@Test