diff options
author | Jim Hahn <jrh3@att.com> | 2020-03-20 18:08:52 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-03-20 18:39:33 -0400 |
commit | 9b9839aa381549a4ba6e25ca522dc84bf4d4c37b (patch) | |
tree | ca8bdc1a4090d69733fec7406ec2b36c478d5f15 | |
parent | 3dfe17c58ef6980014da187a9e915841882ce01b (diff) |
Fix legacy APPC handling of Request
Legacy APPC uses the same topic for both requests and responses.
Unfortunately, when the actor sees the request, thinking it's a
response, it throws an exception because it can't find the status
code. Fixed.
Issue-ID: POLICY-2434
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I6137fb21dbf1149ff2faca2407ba69be0de6d40b
2 files changed, 5 insertions, 4 deletions
diff --git a/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/AppcOperation.java b/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/AppcOperation.java index 5e84871cc..3ed23957a 100644 --- a/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/AppcOperation.java +++ b/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/AppcOperation.java @@ -145,7 +145,9 @@ public abstract class AppcOperation extends BidirectionalTopicOperation<Request, @Override protected Status detmStatus(String rawResponse, Response response) { if (response.getStatus() == null) { - throw new IllegalArgumentException("APP-C response is missing the response status"); + // no status - this must be a request, not a response - just ignore it + logger.info("{}: ignoring request message for {}", getFullName(), params.getRequestId()); + return Status.STILL_WAITING; } ResponseCode code = ResponseCode.toResponseCode(response.getStatus().getCode()); diff --git a/models-interactions/model-actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcOperationTest.java b/models-interactions/model-actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcOperationTest.java index 204d95aa1..30450d02a 100644 --- a/models-interactions/model-actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcOperationTest.java +++ b/models-interactions/model-actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcOperationTest.java @@ -177,10 +177,9 @@ public class AppcOperationTest extends BasicAppcOperation { public void testDetmStatusStringResponse() { final ResponseStatus status = response.getStatus(); - // null status + // null status (i.e., it's a Request, not a Response) response.setStatus(null); - assertThatIllegalArgumentException().isThrownBy(() -> oper.detmStatus("", response)) - .withMessage("APP-C response is missing the response status"); + assertEquals(Status.STILL_WAITING, oper.detmStatus("", response)); response.setStatus(status); // invalid code |