summaryrefslogtreecommitdiffstats
path: root/models-interactions/model-simulators/src/main/java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2020-03-20 15:53:47 -0400
committerJim Hahn <jrh3@att.com>2020-03-20 16:23:28 -0400
commitf3fe0b63bc3bf7efdfce815bf17034291f8ff265 (patch)
tree880c0c685b750443b26c40260c7ea7716bbc6279 /models-interactions/model-simulators/src/main/java
parentbc02433cc5292c5272dc084db8044bb4c8140135 (diff)
Bug fixes in models simulators
Fixed these issues: - topics weren't started - appc topics were reversed - prevent appc simulator from responding to a response (i.e., infinite loop) Issue-ID: POLICY-2434 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I1f43be72d35f874fec98f48f1a112c055c00eee5
Diffstat (limited to 'models-interactions/model-simulators/src/main/java')
-rw-r--r--models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/AppcLegacyTopicServer.java9
-rw-r--r--models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/TopicServer.java11
2 files changed, 19 insertions, 1 deletions
diff --git a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/AppcLegacyTopicServer.java b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/AppcLegacyTopicServer.java
index 5ebd3bd2a..0c259783d 100644
--- a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/AppcLegacyTopicServer.java
+++ b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/AppcLegacyTopicServer.java
@@ -36,6 +36,15 @@ public class AppcLegacyTopicServer extends TopicServer<Request> {
@Override
protected String process(Request request) {
+ /*
+ * The request and response are on the same topic, thus this may be invoked with a
+ * request or with a response object. If the "action" is null, then we know it's a
+ * response.
+ */
+ if (request.getAction() == null) {
+ return null;
+ }
+
String response = ResourceUtils.getResourceAsString("org/onap/policy/simulators/appc/appc.legacy.success.json");
return response.replace("${replaceMe}", request.getCommonHeader().getSubRequestId());
}
diff --git a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/TopicServer.java b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/TopicServer.java
index 0abe5f421..4c01511da 100644
--- a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/TopicServer.java
+++ b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/TopicServer.java
@@ -65,8 +65,17 @@ public abstract class TopicServer<Q> implements TopicListener {
throw new IllegalArgumentException("cannot decode request from " + source.getTopic());
}
- sink.send(process(req));
+ String resp = process(req);
+ if (resp != null) {
+ sink.send(resp);
+ }
}
+ /**
+ * Processes a request.
+ *
+ * @param request request to be processed
+ * @return the response, or {@code null} if no response is to be sent
+ */
protected abstract String process(Q request);
}