1 package org.onap.pnfsimulator.message;
3 import static org.onap.pnfsimulator.message.MessageConstants.COMMON_EVENT_HEADER;
4 import static org.onap.pnfsimulator.message.MessageConstants.DOMAIN;
5 import static org.onap.pnfsimulator.message.MessageConstants.EVENT;
6 import static org.onap.pnfsimulator.message.MessageConstants.EVENT_ID;
7 import static org.onap.pnfsimulator.message.MessageConstants.EVENT_TYPE;
8 import static org.onap.pnfsimulator.message.MessageConstants.INTERNAL_HEADER_FIELDS;
9 import static org.onap.pnfsimulator.message.MessageConstants.LAST_EPOCH_MICROSEC;
10 import static org.onap.pnfsimulator.message.MessageConstants.OTHER_FIELDS;
11 import static org.onap.pnfsimulator.message.MessageConstants.OTHER_FIELDS_VERSION;
12 import static org.onap.pnfsimulator.message.MessageConstants.PNF_LAST_SERVICE_DATE;
13 import static org.onap.pnfsimulator.message.MessageConstants.PNF_MANUFACTURE_DATE;
14 import static org.onap.pnfsimulator.message.MessageConstants.PNF_PREFIX;
15 import static org.onap.pnfsimulator.message.MessageConstants.PRIORITY;
16 import static org.onap.pnfsimulator.message.MessageConstants.SEQUENCE;
17 import static org.onap.pnfsimulator.message.MessageConstants.START_EPOCH_MICROSEC;
18 import static org.onap.pnfsimulator.message.MessageConstants.VERSION;
21 import java.util.UUID;
22 import org.json.JSONObject;
24 public class MessageProvider {
26 public JSONObject createMessage(JSONObject params) {
29 throw new IllegalArgumentException("Params object cannot be null");
32 Map<String, Object> paramsMap = params.toMap();
33 JSONObject root = new JSONObject();
34 JSONObject commonEventHeader = generateConstantCommonEventHeader();
35 JSONObject otherFields = generateConstantOtherFields();
37 paramsMap.forEach((key, value) -> {
39 if (key.startsWith(PNF_PREFIX)) {
40 otherFields.put(key, value);
42 commonEventHeader.put(key, value);
46 JSONObject event = new JSONObject();
47 event.put(COMMON_EVENT_HEADER, commonEventHeader);
48 event.put(OTHER_FIELDS, otherFields);
49 root.put(EVENT, event);
53 private JSONObject generateConstantCommonEventHeader() {
55 JSONObject commonEventHeader = new JSONObject();
56 long timestamp = System.currentTimeMillis();
58 commonEventHeader.put(DOMAIN, "other");
59 commonEventHeader.put(EVENT_ID, UUID.randomUUID() + "-reg");
60 commonEventHeader.put(EVENT_TYPE, "pnfRegistration");
61 commonEventHeader.put(LAST_EPOCH_MICROSEC, timestamp);
62 commonEventHeader.put(PRIORITY, "Normal");
63 commonEventHeader.put(SEQUENCE, 0);
64 commonEventHeader.put(START_EPOCH_MICROSEC, timestamp);
65 commonEventHeader.put(INTERNAL_HEADER_FIELDS, new JSONObject());
66 commonEventHeader.put(VERSION, 3);
68 return commonEventHeader;
71 private JSONObject generateConstantOtherFields() {
73 JSONObject otherFields = new JSONObject();
75 otherFields.put(OTHER_FIELDS_VERSION, 1);
76 otherFields.put(PNF_LAST_SERVICE_DATE, System.currentTimeMillis());
77 otherFields.put(PNF_MANUFACTURE_DATE, System.currentTimeMillis());