Sync Integ to Master
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / ExternalApiEvent.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 /**
37  * This class Represents the Audit for External API 
38  *
39  */
40 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.EXTERNAL_API_EVENT_TYPE)
41 public class ExternalApiEvent extends AuditingGenericEvent {
42     @PartitionKey
43     protected UUID timebaseduuid;
44
45     @ClusteringColumn()
46     protected Date timestamp1;
47
48     @Column
49     protected String action;
50     @Column
51     protected String status;
52
53     @Column(name = "description")
54     protected String desc;
55
56     @Column(name = "consumer_id")
57     private String consumerId;
58
59     @Column(name = "resource_url")
60     private String resourceURL;
61
62     @Column(name = "resource_name")
63     private String resourceName;
64
65     @Column(name = "resource_type")
66     private String resourceType;
67
68     @Column(name = "service_instance_id")
69     protected String serviceInstanceId;
70
71     @Column(name = "invariant_uuid")
72     protected String invariantUuid;
73
74     @Column(name = "modifier")
75     private String modifier;
76
77     @Column(name = "prev_version")
78     protected String prevVersion;
79
80     @Column(name = "curr_version")
81     private String currVersion;
82
83     @Column(name = "prev_state")
84     protected String prevState;
85
86     @Column(name = "curr_state")
87     protected String currState;
88
89     @Column(name = "prev_artifact_uuid")
90     private String prevArtifactUuid;
91
92     @Column(name = "curr_artifact_uuid")
93     private String currArtifactUuid;
94
95     @Column(name = "artifact_data")
96     private String artifactData;
97
98     public ExternalApiEvent() {
99         super();
100         timestamp1 = new Date();
101         timebaseduuid = UUIDs.timeBased();
102     }
103
104     public ExternalApiEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
105         this();
106         Object value;
107
108         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
109         if (value != null) {
110             setAction((String) value);
111         }
112         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
113         if (value != null) {
114             setStatus((String) value);
115         }
116         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
117         if (value != null) {
118             setDesc((String) value);
119         }
120         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID);
121         if (value != null) {
122             setConsumerId((String) value);
123         }
124         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL);
125         if (value != null) {
126             setResourceURL((String) value);
127         }
128         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME);
129         if (value != null) {
130             setResourceName((String) value);
131         }
132         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
133         if (value != null) {
134             setResourceType((String) value);
135         }
136         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
137         if (value != null) {
138             setServiceInstanceId((String) value);
139         }
140         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID);
141         if (value != null) {
142             setInvariantUuid((String) value);
143         }
144         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
145         if (value != null) {
146             setModifier((String) value);
147         }
148
149         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION);
150         if (value != null) {
151             setPrevVersion((String) value);
152         }
153
154         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION);
155         if (value != null) {
156             setCurrVersion((String) value);
157         }
158
159         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE);
160         if (value != null) {
161             setPrevState((String) value);
162         }
163
164         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE);
165         if (value != null) {
166             setCurrState((String) value);
167         }
168
169         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID);
170         if (value != null) {
171             setPrevArtifactUuid((String) value);
172         }
173         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_CURR_ARTIFACT_UUID);
174         if (value != null) {
175             setCurrArtifactUuid((String) value);
176         }
177         value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ARTIFACT_DATA);
178         if (value != null) {
179             setArtifactData((String) value);
180         }
181     }
182
183     public ExternalApiEvent(String action, CommonAuditData commonAuditData, String resourceType, String resourceName,
184                             String distConsumerId, String distResourceUrl, ResourceAuditData prevParams, ResourceAuditData currParams,
185                             String modifier, String invariantUuid, String artifactData) {
186         this();
187         this.action = action;
188         this.status = commonAuditData.getStatus();
189         this.desc = commonAuditData.getDescription();
190         this.requestId = commonAuditData.getRequestId();
191         this.consumerId = distConsumerId;
192         this.resourceURL = distResourceUrl;
193         this.resourceName = resourceName;
194         this.resourceType = resourceType;
195         this.serviceInstanceId = commonAuditData.getServiceInstanceId();
196         this.invariantUuid = invariantUuid;
197         this.modifier = modifier;
198         this.prevVersion = prevParams.getVersion();
199         this.prevState = prevParams.getState();
200         this.prevArtifactUuid = prevParams.getArtifactUuid();
201         this.currVersion = currParams.getVersion();
202         this.currState = currParams.getState();
203         this.currArtifactUuid = currParams.getArtifactUuid();
204         this.artifactData = artifactData;
205     }
206
207     @Override
208     public void fillFields() {
209         fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
210         fields.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID.getDisplayName(), getInvariantUuid());
211         fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
212         fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
213         fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
214         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
215         simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
216         fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
217         fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID.getDisplayName(), getConsumerId());
218         fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL.getDisplayName(), getResourceURL());
219         fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
220         fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
221         fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
222
223         fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION.getDisplayName(), getPrevVersion());
224         fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
225         fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE.getDisplayName(), getPrevState());
226         fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
227
228         fields.put(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID.getDisplayName(), getPrevArtifactUuid());
229         fields.put(AuditingFieldsKeysEnum.AUDIT_CURR_ARTIFACT_UUID.getDisplayName(), getCurrArtifactUuid());
230         fields.put(AuditingFieldsKeysEnum.AUDIT_ARTIFACT_DATA.getDisplayName(), getArtifactData());
231     }
232
233     public UUID getTimebaseduuid() {
234         return timebaseduuid;
235     }
236
237     public void setTimebaseduuid(UUID timebaseduuid) {
238         this.timebaseduuid = timebaseduuid;
239     }
240
241     public Date getTimestamp1() {
242         return timestamp1;
243     }
244
245     public void setTimestamp1(Date timestamp1) {
246         this.timestamp1 = timestamp1;
247     }
248
249     public String getAction() {
250         return action;
251     }
252
253     public void setAction(String action) {
254         this.action = action;
255     }
256
257     public String getStatus() {
258         return status;
259     }
260
261     public void setStatus(String status) {
262         this.status = status;
263     }
264
265     public String getDesc() {
266         return desc;
267     }
268
269     public void setDesc(String desc) {
270         this.desc = desc;
271     }
272
273     public String getConsumerId() {
274         return consumerId;
275     }
276
277     public void setConsumerId(String consumerId) {
278         this.consumerId = consumerId;
279     }
280
281     public String getResourceURL() {
282         return resourceURL;
283     }
284
285     public void setResourceURL(String resourceURL) {
286         this.resourceURL = resourceURL;
287     }
288
289     public String getResourceName() {
290         return resourceName;
291     }
292
293     public void setResourceName(String resourceName) {
294         this.resourceName = resourceName;
295     }
296
297     public String getResourceType() {
298         return resourceType;
299     }
300
301     public void setResourceType(String resourceType) {
302         this.resourceType = resourceType;
303     }
304
305     public String getServiceInstanceId() {
306         return serviceInstanceId;
307     }
308
309     public void setServiceInstanceId(String serviceInstanceId) {
310         this.serviceInstanceId = serviceInstanceId;
311     }
312
313     public String getInvariantUuid() {
314         return invariantUuid;
315     }
316
317     public void setInvariantUuid(String invariantUuid) {
318         this.invariantUuid = invariantUuid;
319     }
320
321     public String getModifier() {
322         return modifier;
323     }
324
325     public void setModifier(String modifier) {
326         this.modifier = modifier;
327     }
328
329     public String getPrevArtifactUuid() {
330         return prevArtifactUuid;
331     }
332
333     public void setPrevArtifactUuid(String prevArtifactUuid) {
334         this.prevArtifactUuid = prevArtifactUuid;
335     }
336
337     public String getCurrArtifactUuid() {
338         return currArtifactUuid;
339     }
340
341     public void setCurrArtifactUuid(String currArtifactUuid) {
342         this.currArtifactUuid = currArtifactUuid;
343     }
344
345     public String getArtifactData() {
346         return artifactData;
347     }
348
349     public void setArtifactData(String artifactData) {
350         this.artifactData = artifactData;
351     }
352
353     @Override
354     public String toString() {
355         return "ExternalApiEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", action=" + action
356                 + ", status=" + status + ", desc=" + desc + ", consumerId=" + consumerId + ", resourceURL="
357                 + resourceURL + ", resourceName=" + resourceName + ", resourceType=" + resourceType
358                 + ", serviceInstanceId=" + serviceInstanceId + ", invariantUuid=" + invariantUuid + ", modifier=" + modifier
359                 + ", prevVersion=" + prevVersion+ ", currVersion=" + currVersion
360                 + ", prevState=" + prevState + ", currState=" + currState
361                 + ", prevArtifactUuid="
362                 + prevArtifactUuid + ", currArtifactUuid=" + currArtifactUuid + ", artifactData=" + artifactData + "]";
363     }
364
365     public String getPrevVersion() {
366         return prevVersion;
367     }
368
369     public void setPrevVersion(String prevVersion) {
370         this.prevVersion = prevVersion;
371     }
372
373     public String getCurrVersion() {
374         return currVersion;
375     }
376
377     public void setCurrVersion(String currVersion) {
378         this.currVersion = currVersion;
379     }
380
381     public String getPrevState() {
382         return prevState;
383     }
384
385     public void setPrevState(String prevState) {
386         this.prevState = prevState;
387     }
388
389     public String getCurrState() {
390         return currState;
391     }
392
393     public void setCurrState(String currState) {
394         this.currState = currState;
395     }
396 }