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 / SdnrTopicServer.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.common.endpoints.event.comm.TopicSink;
24 import org.onap.policy.common.endpoints.event.comm.TopicSource;
25 import org.onap.policy.common.utils.coder.StandardCoder;
26 import org.onap.policy.common.utils.resources.ResourceUtils;
27 import org.onap.policy.sdnr.PciMessage;
28
29 /**
30  * SDNR topic server.
31  */
32 public class SdnrTopicServer extends TopicServer<PciMessage> {
33
34     public SdnrTopicServer(TopicSink sink, TopicSource source) {
35         super(sink, source, new StandardCoder(), PciMessage.class);
36     }
37
38     @Override
39     protected String process(PciMessage request) {
40         /*
41          * In case the request and response are on the same topic, this may be invoked
42          * with a request or with a response object. If the "output" is null, then we know
43          * it's a response.
44          */
45         if (request.getBody().getOutput() != null) {
46             return null;
47         }
48
49         var response = ResourceUtils.getResourceAsString("org/onap/policy/simulators/sdnr/vpci.sdnr.success.json");
50         return response.replace("${replaceMe}", request.getBody().getInput().getCommonHeader().getSubRequestId());
51     }
52 }