summaryrefslogtreecommitdiffstats
path: root/models-interactions/model-actors/actor.so
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2020-04-01 11:03:31 -0400
committerJim Hahn <jrh3@att.com>2020-04-01 12:04:48 -0400
commit88fedd4d3edbb581eabe20074a65c32b635fc3b2 (patch)
treeb932b653aa2d89557f08570d51fc5204459dae93 /models-interactions/model-actors/actor.so
parent3a99e95994963c8fd04d7c038cf6b0263b2bbdeb (diff)
Set sub request ID before start callback
Modified new actor code to generate the sub request ID before invoking the start callback. Issue-ID: POLICY-2461 Change-Id: I4adabd6efda2c30c0e2da31f95f01dd5fe546c0a Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-interactions/model-actors/actor.so')
-rw-r--r--models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoOperation.java15
-rw-r--r--models-interactions/model-actors/actor.so/src/test/java/org/onap/policy/controlloop/actor/so/SoOperationTest.java10
2 files changed, 16 insertions, 9 deletions
diff --git a/models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoOperation.java b/models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoOperation.java
index 4d53f6350..86b910176 100644
--- a/models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoOperation.java
+++ b/models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoOperation.java
@@ -198,14 +198,14 @@ public abstract class SoOperation extends HttpOperation<SoResponse> {
if (rawResponse.getStatus() == 200) {
String requestState = getRequestState(response);
if (COMPLETE.equalsIgnoreCase(requestState)) {
- populateSubRequestId(outcome, response);
+ extractSubRequestId(response);
successfulCompletion();
return CompletableFuture
.completedFuture(setOutcome(outcome, PolicyResult.SUCCESS, rawResponse, response));
}
if (FAILED.equalsIgnoreCase(requestState)) {
- populateSubRequestId(outcome, response);
+ extractSubRequestId(response);
return CompletableFuture
.completedFuture(setOutcome(outcome, PolicyResult.FAILURE, rawResponse, response));
}
@@ -214,7 +214,7 @@ public abstract class SoOperation extends HttpOperation<SoResponse> {
// still incomplete
// need a request ID with which to query
- if (!populateSubRequestId(outcome, response)) {
+ if (!extractSubRequestId(response)) {
throw new IllegalArgumentException("missing request ID in response");
}
@@ -231,13 +231,18 @@ public abstract class SoOperation extends HttpOperation<SoResponse> {
return sleep(getWaitMsGet(), TimeUnit.MILLISECONDS).thenComposeAsync(doGet);
}
- private boolean populateSubRequestId(OperationOutcome outcome, SoResponse response) {
+ @Override
+ public void generateSubRequestId(int attempt) {
+ setSubRequestId(null);
+ }
+
+ private boolean extractSubRequestId(SoResponse response) {
if (response == null || response.getRequestReferences() == null
|| response.getRequestReferences().getRequestId() == null) {
return false;
}
- outcome.setSubRequestId(response.getRequestReferences().getRequestId());
+ setSubRequestId(response.getRequestReferences().getRequestId());
return true;
}
diff --git a/models-interactions/model-actors/actor.so/src/test/java/org/onap/policy/controlloop/actor/so/SoOperationTest.java b/models-interactions/model-actors/actor.so/src/test/java/org/onap/policy/controlloop/actor/so/SoOperationTest.java
index 80f20b59b..ce0d2c24f 100644
--- a/models-interactions/model-actors/actor.so/src/test/java/org/onap/policy/controlloop/actor/so/SoOperationTest.java
+++ b/models-interactions/model-actors/actor.so/src/test/java/org/onap/policy/controlloop/actor/so/SoOperationTest.java
@@ -166,21 +166,23 @@ public class SoOperationTest extends BasicSoOperation {
@Test
public void testPostProcess() throws Exception {
// completed
- outcome.setSubRequestId(null);
+ oper.generateSubRequestId(2);
+ assertNull(oper.getSubRequestId());
CompletableFuture<OperationOutcome> future2 = oper.postProcessResponse(outcome, PATH, rawResponse, response);
assertTrue(future2.isDone());
assertSame(outcome, future2.get());
assertEquals(PolicyResult.SUCCESS, outcome.getResult());
- assertNotNull(outcome.getSubRequestId());
+ assertNotNull(oper.getSubRequestId());
// failed
- outcome.setSubRequestId(null);
+ oper.generateSubRequestId(2);
+ assertNull(oper.getSubRequestId());
response.getRequest().getRequestStatus().setRequestState(SoOperation.FAILED);
future2 = oper.postProcessResponse(outcome, PATH, rawResponse, response);
assertTrue(future2.isDone());
assertSame(outcome, future2.get());
assertEquals(PolicyResult.FAILURE, outcome.getResult());
- assertNotNull(outcome.getSubRequestId());
+ assertNotNull(oper.getSubRequestId());
// no request id in the response
response.getRequestReferences().setRequestId(null);