Sync Integ to Master
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / ResourceAdminEvent.java
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.*;
25
26 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
27 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceAuditData;
28 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
29
30 import com.datastax.driver.core.utils.UUIDs;
31 import com.datastax.driver.mapping.annotations.ClusteringColumn;
32 import com.datastax.driver.mapping.annotations.Column;
33 import com.datastax.driver.mapping.annotations.PartitionKey;
34 import com.datastax.driver.mapping.annotations.Table;
35
36 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.RESOURCE_ADMIN_EVENT_TYPE)
37 public class ResourceAdminEvent extends AuditingGenericEvent {
38
39         private static String RESOURCE_ADMIN_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
40                         + "resourceName=\"%s\" resourceType=\"%s\" prevVersion=\"%s\" currVersion=\"%s\" "
41                         + "modifierName=\"%s\" modifierUid=\"%s\" " + "prevState=\"%s\" currState=\"%s\" "
42                         + "checkinComment=\"%s\" prevArtifactUuid=\"%s\" currArtifactUuid=\"%s\" " + "artifactData=\"%s\" "
43                         + "status=\"%s\" desc=\"%s\"";
44
45         @PartitionKey
46         protected UUID timebaseduuid;
47
48         @ClusteringColumn
49         protected Date timestamp1;
50
51         @Column
52         protected String action;
53
54         @Column(name = "resource_type")
55         protected String resourceType;
56
57         @Column(name = "prev_version")
58         protected String prevVersion;
59
60         @Column(name = "prev_state")
61         protected String prevState;
62
63         @Column(name = "curr_state")
64         protected String currState;
65
66         @Column(name = "resource_name")
67         private String resourceName;
68
69         @Column(name = "curr_version")
70         private String currVersion;
71
72         @Column(name = "request_id")
73         protected String requestId;
74
75         @Column(name = "service_instance_id")
76         protected String serviceInstanceId;
77
78         @Column
79         protected String status;
80
81         @Column(name = "description")
82         protected String desc;
83
84         @Column
85         protected String modifier;
86
87         @Column(name = "prev_artifact_UUID")
88         protected String prevArtifactUUID;
89
90         @Column(name = "curr_artifact_UUID")
91         protected String currArtifactUUID;
92
93         @Column(name = "artifact_data")
94         protected String artifactData;
95
96         @Column
97         protected String did;
98
99         @Column(name = "dprev_status")
100         protected String dprevStatus;
101
102         @Column(name = "dcurr_status")
103         protected String dcurrStatus;
104
105         @Column(name = "tosca_node_type")
106         protected String toscaNodeType;
107
108         @Column
109         protected String comment;
110
111         @Column(name = "invariant_UUID")
112         protected String invariantUUID;
113
114         public ResourceAdminEvent() {
115                 super();
116                 timestamp1 = new Date();
117                 timebaseduuid = UUIDs.timeBased();
118         }
119
120         public ResourceAdminEvent(String action, CommonAuditData commonAuditData, ResourceAuditData prevParams, ResourceAuditData currParams, String resourceType,
121                                                           String resourceName, String invariantUuid, String modifier, String artifactData, String comment, String did, String toscaNodeType) {
122                 this();
123                 this.action = action;
124                 this.requestId = commonAuditData.getRequestId();
125                 this.desc = commonAuditData.getDescription();
126                 this.status = commonAuditData.getStatus();
127                 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
128                 this.currState = currParams.getState();
129                 this.currVersion = currParams.getVersion();
130                 this.currArtifactUUID = currParams.getArtifactUuid();
131                 this.prevState = prevParams.getState();
132                 this.prevVersion = prevParams.getVersion();
133                 this.prevArtifactUUID = prevParams.getArtifactUuid();
134                 this.resourceName = resourceName;
135                 this.resourceType = resourceType;
136                 this.comment = comment;
137                 this.dcurrStatus = currParams.getDistributionStatus();
138                 this.dprevStatus = prevParams.getDistributionStatus();
139                 this.artifactData = artifactData;
140                 this.modifier = modifier;
141                 this.invariantUUID = invariantUuid;
142                 this.did = did;
143                 this.toscaNodeType = toscaNodeType;
144         }
145
146         public ResourceAdminEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
147                 this();
148                 Object value;
149                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
150                 if (value != null) {
151                         setRequestId((String) value);
152                 }
153                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
154                 if (value != null) {
155                         setServiceInstanceId((String) value);
156                 }
157                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
158                 if (value != null) {
159                         setResourceType((String) value);
160                 }
161                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION);
162                 if (value != null) {
163                         setPrevVersion((String) value);
164                 }
165                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE);
166                 if (value != null) {
167                         setPrevState((String) value);
168                 }
169                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME);
170                 if (value != null) {
171                         setResourceName((String) value);
172                 }
173                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION);
174                 if (value != null) {
175                         setCurrVersion((String) value);
176                 }
177                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE);
178                 if (value != null) {
179                         setCurrState((String) value);
180                 }
181                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
182                 if (value != null) {
183                         setStatus((String) value);
184                 }
185                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
186                 if (value != null) {
187                         setDesc((String) value);
188                 }
189                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
190                 if (value != null) {
191                         setAction((String) value);
192                 }
193                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
194                 if (value != null) {
195                         setModifier((String) value);
196                 }
197                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID);
198                 if (value != null) {
199                         setPrevArtifactUUID((String) value);
200                 }
201                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_CURR_ARTIFACT_UUID);
202                 if (value != null) {
203                         setCurrArtifactUUID((String) value);
204                 }
205                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ARTIFACT_DATA);
206                 if (value != null) {
207                         setArtifactData((String) value);
208                 }
209                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_COMMENT);
210                 if (value != null) {
211                         setComment((String) value);
212                 }
213
214                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_DCURR_STATUS);
215                 if (value != null) {
216                         setDcurrStatus((String) value);
217                 }
218                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_DPREV_STATUS);
219                 if (value != null) {
220                         setDprevStatus((String) value);
221                 }
222                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID);
223                 if (value != null) {
224                         setDid((String) value);
225                 }
226                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TOSCA_NODE_TYPE);
227                 if (value != null) {
228                         setToscaNodeType((String) value);
229                 }
230                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID);
231                 if (value != null) {
232                         setInvariantUUID((String) value);
233                 }
234
235         }
236
237
238         @Override
239         public void fillFields() {
240                 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
241
242                 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
243                 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
244                 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
245                 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
246                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
247                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION.getDisplayName(), getPrevVersion());
248                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE.getDisplayName(), getPrevState());
249                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
250                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
251                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
252                 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
253                 fields.put(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID.getDisplayName(), getPrevArtifactUUID());
254                 fields.put(AuditingFieldsKeysEnum.AUDIT_CURR_ARTIFACT_UUID.getDisplayName(), getCurrArtifactUUID());
255                 fields.put(AuditingFieldsKeysEnum.AUDIT_ARTIFACT_DATA.getDisplayName(), getArtifactData());
256                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_COMMENT.getDisplayName(), getComment());
257                 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
258                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_DCURR_STATUS.getDisplayName(), getDcurrStatus());
259                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_DPREV_STATUS.getDisplayName(), getDprevStatus());
260                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TOSCA_NODE_TYPE.getDisplayName(), getToscaNodeType());
261                 fields.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID.getDisplayName(), getInvariantUUID());
262
263                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
264                 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
265                 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
266         }
267
268         public String getResourceName() {
269                 return resourceName;
270         }
271
272         public void setResourceName(String resourceName) {
273                 this.resourceName = resourceName;
274         }
275
276         public String getResourceType() {
277                 return resourceType;
278         }
279
280         public void setResourceType(String resourceType) {
281                 this.resourceType = resourceType;
282         }
283
284         public String getPrevVersion() {
285                 return prevVersion;
286         }
287
288         public void setPrevVersion(String prevVersion) {
289                 this.prevVersion = prevVersion;
290         }
291
292         public String getCurrVersion() {
293                 return currVersion;
294         }
295
296         public void setCurrVersion(String currVersion) {
297                 this.currVersion = currVersion;
298         }
299
300         public String getPrevState() {
301                 return prevState;
302         }
303
304         public void setPrevState(String prevState) {
305                 this.prevState = prevState;
306         }
307
308         public String getCurrState() {
309                 return currState;
310         }
311
312         public void setCurrState(String currState) {
313                 this.currState = currState;
314         }
315
316         public UUID getTimebaseduuid() {
317                 return timebaseduuid;
318         }
319
320         public void setTimebaseduuid(UUID timebaseduuid) {
321                 this.timebaseduuid = timebaseduuid;
322         }
323
324         public Date getTimestamp1() {
325                 return timestamp1;
326         }
327
328         public void setTimestamp1(Date timestamp1) {
329                 this.timestamp1 = timestamp1;
330         }
331
332         public String getAction() {
333                 return action;
334         }
335
336         public void setAction(String action) {
337                 this.action = action;
338         }
339
340         public String getRequestId() {
341                 return requestId;
342         }
343
344         public void setRequestId(String requestId) {
345                 this.requestId = requestId;
346         }
347
348         public String getServiceInstanceId() {
349                 return serviceInstanceId;
350         }
351
352         public void setServiceInstanceId(String serviceInstanceId) {
353                 this.serviceInstanceId = serviceInstanceId;
354         }
355
356         public String getStatus() {
357                 return status;
358         }
359
360         public void setStatus(String status) {
361                 this.status = status;
362         }
363
364         public String getDesc() {
365                 return desc;
366         }
367
368         public void setDesc(String desc) {
369                 this.desc = desc;
370         }
371
372         public String getModifier() {
373                 return modifier;
374         }
375
376         public void setModifier(String modifier) {
377                 this.modifier = modifier;
378         }
379
380         public String getPrevArtifactUUID() {
381                 return prevArtifactUUID;
382         }
383
384         public void setPrevArtifactUUID(String prevArtifactUUID) {
385                 this.prevArtifactUUID = prevArtifactUUID;
386         }
387
388         public String getCurrArtifactUUID() {
389                 return currArtifactUUID;
390         }
391
392         public void setCurrArtifactUUID(String currArtifactUUID) {
393                 this.currArtifactUUID = currArtifactUUID;
394         }
395
396         public String getArtifactData() {
397                 return artifactData;
398         }
399
400         public void setArtifactData(String artifactData) {
401                 this.artifactData = artifactData;
402         }
403
404         public String getDid() {
405                 return did;
406         }
407
408         public void setDid(String did) {
409                 this.did = did;
410         }
411
412         public String getDprevStatus() {
413                 return dprevStatus;
414         }
415
416         public void setDprevStatus(String dprevStatus) {
417                 this.dprevStatus = dprevStatus;
418         }
419
420         public String getDcurrStatus() {
421                 return dcurrStatus;
422         }
423
424         public void setDcurrStatus(String dcurrStatus) {
425                 this.dcurrStatus = dcurrStatus;
426         }
427
428         public String getToscaNodeType() {
429                 return toscaNodeType;
430         }
431
432         public void setToscaNodeType(String toscaNodeType) {
433                 this.toscaNodeType = toscaNodeType;
434         }
435
436         public String getComment() {
437                 return comment;
438         }
439
440         public void setComment(String comment) {
441                 this.comment = comment;
442         }
443
444         public String getInvariantUUID() {
445                 return invariantUUID;
446         }
447
448         public void setInvariantUUID(String invariantUUID) {
449                 this.invariantUUID = invariantUUID;
450         }
451
452         @Override
453         public String toString() {
454                 return "ResourceAdminEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", action="
455                                 + action + ", resourceType=" + resourceType + ", prevVersion=" + prevVersion + ", prevState="
456                                 + prevState + ", currState=" + currState + ", resourceName=" + resourceName + ", currVersion="
457                                 + currVersion + ", requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId + ", status="
458                                 + status + ", desc=" + desc + ", modifier=" + modifier + ", prevArtifactUUID=" + prevArtifactUUID
459                                 + ", currArtifactUUID=" + currArtifactUUID + ", artifactData=" + artifactData + ", invariantUUID="
460                                 + invariantUUID + "]";
461         }
462
463 }