Update snapshot and/or references of policy/models to latest snapshots
[policy/models.git] / models-interactions / model-simulators / src / main / java / org / onap / policy / simulators / AppcLegacyTopicServer.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.simulators;
22
23 import org.onap.policy.appc.Request;
24 import org.onap.policy.common.endpoints.event.comm.TopicSink;
25 import org.onap.policy.common.endpoints.event.comm.TopicSource;
26 import org.onap.policy.common.utils.coder.StandardCoderInstantAsMillis;
27 import org.onap.policy.common.utils.resources.ResourceUtils;
28
29 /**
30  * Legacy APPC topic server.
31  */
32 public class AppcLegacyTopicServer extends TopicServer<Request> {
33
34     public AppcLegacyTopicServer(TopicSink sink, TopicSource source) {
35         super(sink, source, new StandardCoderInstantAsMillis(), Request.class);
36     }
37
38     @Override
39     protected String process(Request request) {
40         /*
41          * The request and response are on the same topic, thus this may be invoked with a
42          * request or with a response object. If the "action" is null, then we know it's a
43          * response.
44          */
45         if (request.getAction() == null) {
46             return null;
47         }
48
49         var response = ResourceUtils.getResourceAsString("org/onap/policy/simulators/appc/appc.legacy.success.json");
50         return response.replace("${replaceMe}", request.getCommonHeader().getSubRequestId());
51     }
52 }