6420f08fb54fdb33dd6e95ed1df12f53b3d71b12
[sdc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 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.openecomp.sdc.be.resources.data.auditing;
22
23 import java.text.SimpleDateFormat;
24 import java.util.Date;
25 import java.util.EnumMap;
26 import java.util.TimeZone;
27 import java.util.UUID;
28
29 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
30
31 import com.datastax.driver.core.utils.UUIDs;
32 import com.datastax.driver.mapping.annotations.ClusteringColumn;
33 import com.datastax.driver.mapping.annotations.Column;
34 import com.datastax.driver.mapping.annotations.PartitionKey;
35 import com.datastax.driver.mapping.annotations.Table;
36
37 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_NOTIFICATION_EVENT_TYPE)
38 public class DistributionNotificationEvent extends AuditingGenericEvent {
39
40         private static String DISTRIBUTION_NOTIFICATION_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
41                         + "resourceName=\"%s\" resourceType=\"%s\" currVersion=\"%s\" " + "modifierName=\"%s\" modifierUid=\"%s\" "
42                         + "currState=\"%s\" distributionId=\"%s\" " + "topicName=\"%s\" status=\"%s\" description=\"%s\"";
43
44         @PartitionKey
45         protected UUID timebaseduuid;
46
47         @ClusteringColumn
48         protected Date timestamp1;
49
50         @Column(name = "request_id")
51         protected String requestId;
52
53         @Column(name = "service_instance_id")
54         protected String serviceInstanceId;
55         @Column
56         protected String action;
57         @Column
58         protected String status;
59
60         @Column(name = "description")
61         protected String desc;
62
63         @Column(name = "resource_name")
64         private String resourceName;
65
66         @Column(name = "resource_type")
67         private String resourceType;
68
69         @Column(name = "curr_version")
70         private String currVersion;
71
72         @Column
73         private String modifier;
74
75         @Column(name = "curr_state")
76         private String currState;
77
78         @Column(name = "topic_name")
79         private String topicName;
80
81         @Column
82         private String did;
83
84         public DistributionNotificationEvent() {
85                 super();
86                 timestamp1 = new Date();
87                 timebaseduuid = UUIDs.timeBased();
88         }
89
90         public DistributionNotificationEvent(EnumMap<AuditingFieldsKeysEnum, Object> auditingFields) {
91                 this();
92                 Object value;
93                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
94                 if (value != null) {
95                         setRequestId((String) value);
96                 }
97                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
98                 if (value != null) {
99                         setServiceInstanceId((String) value);
100                 }
101                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
102                 if (value != null) {
103                         setAction((String) value);
104                 }
105                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
106                 if (value != null) {
107                         setStatus((String) value);
108                 }
109                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
110                 if (value != null) {
111                         setDesc((String) value);
112                 }
113                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID);
114                 if (value != null) {
115                         setDid((String) value);
116                 }
117                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
118                 if (value != null) {
119                         setModifier((String) value);
120                 }
121                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE);
122                 if (value != null) {
123                         setCurrState((String) value);
124                 }
125                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION);
126                 if (value != null) {
127                         setCurrVersion((String) value);
128                 }
129                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME);
130                 if (value != null) {
131                         setResourceName((String) value);
132                 }
133                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
134                 if (value != null) {
135                         setResourceType((String) value);
136                 }
137                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME);
138                 if (value != null) {
139                         setTopicName((String) value);
140                 }
141
142         }
143
144         @Override
145         public void fillFields() {
146                 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
147
148                 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
149                 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
150                 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
151                 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
152
153                 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
154                 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
155                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
156                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
157                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
158                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
159                 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME.getDisplayName(), getTopicName());
160                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
161                 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
162                 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
163         }
164
165         public String getResourceName() {
166                 return resourceName;
167         }
168
169         public void setResourceName(String resourceName) {
170                 this.resourceName = resourceName;
171         }
172
173         public String getResourceType() {
174                 return resourceType;
175         }
176
177         public void setResourceType(String resourceType) {
178                 this.resourceType = resourceType;
179         }
180
181         public String getCurrVersion() {
182                 return currVersion;
183         }
184
185         public void setCurrVersion(String currVersion) {
186                 this.currVersion = currVersion;
187         }
188
189         public String getCurrState() {
190                 return currState;
191         }
192
193         public void setCurrState(String currState) {
194                 this.currState = currState;
195         }
196
197         public String getTopicName() {
198                 return topicName;
199         }
200
201         public void setTopicName(String topicName) {
202                 this.topicName = topicName;
203         }
204
205         public UUID getTimebaseduuid() {
206                 return timebaseduuid;
207         }
208
209         public void setTimebaseduuid(UUID timebaseduuid) {
210                 this.timebaseduuid = timebaseduuid;
211         }
212
213         public Date getTimestamp1() {
214                 return timestamp1;
215         }
216
217         public void setTimestamp1(Date timestamp1) {
218                 this.timestamp1 = timestamp1;
219         }
220
221         public String getRequestId() {
222                 return requestId;
223         }
224
225         public void setRequestId(String requestId) {
226                 this.requestId = requestId;
227         }
228
229         public String getServiceInstanceId() {
230                 return serviceInstanceId;
231         }
232
233         public void setServiceInstanceId(String serviceInstanceId) {
234                 this.serviceInstanceId = serviceInstanceId;
235         }
236
237         public String getAction() {
238                 return action;
239         }
240
241         public void setAction(String action) {
242                 this.action = action;
243         }
244
245         public String getStatus() {
246                 return status;
247         }
248
249         public void setStatus(String status) {
250                 this.status = status;
251         }
252
253         public String getDesc() {
254                 return desc;
255         }
256
257         public void setDesc(String desc) {
258                 this.desc = desc;
259         }
260
261         public String getModifier() {
262                 return modifier;
263         }
264
265         public void setModifier(String modifier) {
266                 this.modifier = modifier;
267         }
268
269         public String getDid() {
270                 return did;
271         }
272
273         public void setDid(String did) {
274                 this.did = did;
275         }
276
277         @Override
278         public String toString() {
279                 return "DistributionNotificationEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1
280                                 + ", requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action
281                                 + ", status=" + status + ", desc=" + desc + ", resourceName=" + resourceName + ", resourceType="
282                                 + resourceType + ", currVersion=" + currVersion + ", modifier=" + modifier + ", currState=" + currState
283                                 + ", topicName=" + topicName + ", did=" + did + "]";
284         }
285
286 }