2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2019-2023 Nordix Foundation.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.oran.datafile.model;
23 import java.util.List;
25 import lombok.Builder;
28 public class FileReadyMessage {
31 * Meta data about a fileReady message.
34 public static class MessageMetaData {
36 @SuppressWarnings("java:S1104")
37 public String eventId;
39 @SuppressWarnings("java:S1104")
40 public String priority;
42 @SuppressWarnings("java:S1104")
43 public String version;
45 @SuppressWarnings("java:S1104")
46 public String reportingEntityName;
48 @SuppressWarnings("java:S1104")
51 @SuppressWarnings("java:S1104")
54 @SuppressWarnings("java:S1104")
55 public String eventName;
57 @SuppressWarnings("java:S1104")
58 public String vesEventListenerVersion;
60 @SuppressWarnings("java:S1104")
61 public String sourceName;
63 @SuppressWarnings("java:S1104")
64 public long lastEpochMicrosec;
66 @SuppressWarnings("java:S1104")
67 public long startEpochMicrosec;
69 @SuppressWarnings("java:S1104")
70 public String timeZoneOffset;
72 @SuppressWarnings("java:S1104")
73 public String changeIdentifier;
76 * Gets data from the event name. Defined as:
77 * {DomainAbbreviation}_{productName}-{vendorName}_{Description},
78 * example: Noti_RnNode-Ericsson_FileReady
81 @SuppressWarnings("java:S6035")
82 public String productName() {
83 String[] eventArray = eventName.split("_|-");
84 if (eventArray.length >= 2) {
91 @SuppressWarnings("java:S6035")
92 public String vendorName() {
93 String[] eventArray = eventName.split("_|-");
94 if (eventArray.length >= 3) {
103 public static class FileInfo {
104 @SuppressWarnings("java:S1104")
105 public String fileFormatType;
107 @SuppressWarnings("java:S1104")
108 public String location;
110 @SuppressWarnings("java:S1104")
111 public String fileFormatVersion;
113 @SuppressWarnings("java:S1104")
114 public String compression;
118 public static class ArrayOfNamedHashMap {
119 @SuppressWarnings("java:S1104")
122 @SuppressWarnings("java:S1104")
123 public FileInfo hashMap;
127 public static class NotificationFields {
128 @SuppressWarnings("java:S1104")
129 public String notificationFieldsVersion;
131 @SuppressWarnings("java:S1104")
132 public String changeType;
134 @SuppressWarnings("java:S1104")
135 public String changeIdentifier;
137 @SuppressWarnings("java:S1104")
138 public List<ArrayOfNamedHashMap> arrayOfNamedHashMap;
142 public static class Event {
143 @SuppressWarnings("java:S1104")
144 public MessageMetaData commonEventHeader;
146 @SuppressWarnings("java:S1104")
147 public NotificationFields notificationFields;
150 @SuppressWarnings("java:S1104")