aboutsummaryrefslogtreecommitdiffstats
path: root/models-interactions/model-actors/actor.appc/src
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2020-03-20 18:08:52 -0400
committerJim Hahn <jrh3@att.com>2020-03-20 18:39:33 -0400
commit9b9839aa381549a4ba6e25ca522dc84bf4d4c37b (patch)
treeca8bdc1a4090d69733fec7406ec2b36c478d5f15 /models-interactions/model-actors/actor.appc/src
parent3dfe17c58ef6980014da187a9e915841882ce01b (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
Diffstat (limited to 'models-interactions/model-actors/actor.appc/src')
-rw-r--r--models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/AppcOperation.java4
-rw-r--r--models-interactions/model-actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcOperationTest.java5
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