diff options
Diffstat (limited to 'models-interactions/model-actors/actor.so/src/main')
-rw-r--r-- | models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoOperation.java | 15 |
1 files changed, 13 insertions, 2 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 1ca6c734c..3a14c3bde 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,12 +198,14 @@ public abstract class SoOperation extends HttpOperation<SoResponse> { if (rawResponse.getStatus() == 200) { String requestState = getRequestState(response); if (COMPLETE.equalsIgnoreCase(requestState)) { + populateSubRequestId(outcome, response); successfulCompletion(); return CompletableFuture .completedFuture(setOutcome(outcome, PolicyResult.SUCCESS, rawResponse, response)); } if (FAILED.equalsIgnoreCase(requestState)) { + populateSubRequestId(outcome, response); return CompletableFuture .completedFuture(setOutcome(outcome, PolicyResult.FAILURE, rawResponse, response)); } @@ -212,8 +214,7 @@ public abstract class SoOperation extends HttpOperation<SoResponse> { // still incomplete // need a request ID with which to query - if (response == null || response.getRequestReferences() == null - || response.getRequestReferences().getRequestId() == null) { + if (!populateSubRequestId(outcome, response)) { throw new IllegalArgumentException("missing request ID in response"); } @@ -230,6 +231,16 @@ public abstract class SoOperation extends HttpOperation<SoResponse> { return sleep(getWaitMsGet(), TimeUnit.MILLISECONDS).thenComposeAsync(doGet); } + private boolean populateSubRequestId(OperationOutcome outcome, SoResponse response) { + if (response == null || response.getRequestReferences() == null + || response.getRequestReferences().getRequestId() == null) { + return false; + } + + outcome.setSubRequestId(response.getRequestReferences().getRequestId()); + return true; + } + /** * Invoked when a request completes successfully. */ |