update according to new schema
[integration.git] / test / mocks / pnfsimulator / src / main / java / org / onap / pnfsimulator / message / MessageProvider.java
1 package org.onap.pnfsimulator.message;
2
3 import static org.onap.pnfsimulator.message.MessageConstants.COMMON_EVENT_HEADER;
4 import static org.onap.pnfsimulator.message.MessageConstants.EVENT;
5 import static org.onap.pnfsimulator.message.MessageConstants.PNF_PREFIX;
6 import static org.onap.pnfsimulator.message.MessageConstants.PNF_REGISTRATION_FIELDS;
7
8 import java.util.Map;
9 import org.json.JSONObject;
10
11 public class MessageProvider {
12
13     public JSONObject createMessage(JSONObject params) {
14
15         if (params == null) {
16             throw new IllegalArgumentException("Params object cannot be null");
17         }
18
19         Map<String, Object> paramsMap = params.toMap();
20         JSONObject root = new JSONObject();
21         JSONObject commonEventHeader = JSONObjectFactory.generateConstantCommonEventHeader();
22         JSONObject pnfRegistrationFields = JSONObjectFactory.generatePnfRegistrationFields();
23
24         paramsMap.forEach((key, value) -> {
25
26             if (key.startsWith(PNF_PREFIX)) {
27                 pnfRegistrationFields.put(key.substring(PNF_PREFIX.length()), value);
28             } else {
29                 commonEventHeader.put(key, value);
30             }
31         });
32
33         JSONObject event = new JSONObject();
34         event.put(COMMON_EVENT_HEADER, commonEventHeader);
35         event.put(PNF_REGISTRATION_FIELDS, pnfRegistrationFields);
36         root.put(EVENT, event);
37         return root;
38     }
39
40 }