re base code
[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 com.datastax.driver.core.utils.UUIDs;
24 import com.datastax.driver.mapping.annotations.ClusteringColumn;
25 import com.datastax.driver.mapping.annotations.Column;
26 import com.datastax.driver.mapping.annotations.PartitionKey;
27 import com.datastax.driver.mapping.annotations.Table;
28 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
29 import org.openecomp.sdc.be.resources.data.auditing.model.DistributionData;
30 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceCommonInfo;
31 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceVersionInfo;
32 import org.openecomp.sdc.common.datastructure.AuditingFieldsKey;
33
34 import java.text.SimpleDateFormat;
35 import java.util.Date;
36 import java.util.TimeZone;
37 import java.util.UUID;
38
39 /**
40  * This class Represents the Audit for External API 
41  *
42  */
43 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.EXTERNAL_API_EVENT_TYPE)
44 public class ExternalApiEvent extends AuditingGenericEvent {
45     @PartitionKey
46     protected UUID timebaseduuid;
47
48     @ClusteringColumn()
49     protected Date timestamp1;
50
51     @Column
52     protected String action;
53     @Column
54     protected String status;
55
56     @Column(name = "description")
57     protected String desc;
58
59     @Column(name = "consumer_id")
60     private String consumerId;
61
62     @Column(name = "resource_url")
63     private String resourceURL;
64
65     @Column(name = "resource_name")
66     private String resourceName;
67
68     @Column(name = "resource_type")
69     private String resourceType;
70
71     @Column(name = "service_instance_id")
72     protected String serviceInstanceId;
73
74     @Column(name = "invariant_uuid")
75     protected String invariantUuid;
76
77     @Column(name = "modifier")
78     private String modifier;
79
80     @Column(name = "prev_version")
81     protected String prevVersion;
82
83     @Column(name = "curr_version")
84     private String currVersion;
85
86     @Column(name = "prev_state")
87     protected String prevState;
88
89     @Column(name = "curr_state")
90     protected String currState;
91
92     @Column(name = "prev_artifact_uuid")
93     private String prevArtifactUuid;
94
95     @Column(name = "curr_artifact_uuid")
96     private String currArtifactUuid;
97
98     @Column(name = "artifact_data")
99     private String artifactData;
100
101     //Required to be public as it is used by Cassandra driver on get operation
102     public ExternalApiEvent() {
103         timestamp1 = new Date();
104         timebaseduuid = UUIDs.timeBased();
105     }
106
107     public ExternalApiEvent(String action, CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
108                             DistributionData distributionData, ResourceVersionInfo prevParams, ResourceVersionInfo currParams,
109                             String modifier, String invariantUuid, String artifactData) {
110         this();
111         this.action = action;
112         this.status = commonAuditData.getStatus();
113         this.desc = commonAuditData.getDescription();
114         this.requestId = commonAuditData.getRequestId();
115         this.consumerId = distributionData.getConsumerId();
116         this.resourceURL = distributionData.getResourceUrl();
117         this.resourceName = resourceCommonInfo.getResourceName();
118         this.resourceType = resourceCommonInfo.getResourceType();
119         this.serviceInstanceId = commonAuditData.getServiceInstanceId();
120         this.invariantUuid = invariantUuid;
121         this.modifier = modifier;
122         this.prevVersion = prevParams.getVersion();
123         this.prevState = prevParams.getState();
124         this.prevArtifactUuid = prevParams.getArtifactUuid();
125         this.currVersion = currParams.getVersion();
126         this.currState = currParams.getState();
127         this.currArtifactUuid = currParams.getArtifactUuid();
128         this.artifactData = artifactData;
129     }
130
131     @Override
132     public void fillFields() {
133         fields.put(AuditingFieldsKey.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
134         fields.put(AuditingFieldsKey.AUDIT_INVARIANT_UUID.getDisplayName(), getInvariantUuid());
135         fields.put(AuditingFieldsKey.AUDIT_ACTION.getDisplayName(), getAction());
136         fields.put(AuditingFieldsKey.AUDIT_STATUS.getDisplayName(), getStatus());
137         fields.put(AuditingFieldsKey.AUDIT_DESC.getDisplayName(), getDesc());
138         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
139         simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
140         fields.put(AuditingFieldsKey.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
141         fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_CONSUMER_ID.getDisplayName(), getConsumerId());
142         fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_RESOURCE_URL.getDisplayName(), getResourceURL());
143         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
144         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
145         fields.put(AuditingFieldsKey.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
146
147         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_PREV_VERSION.getDisplayName(), getPrevVersion());
148         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
149         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_PREV_STATE.getDisplayName(), getPrevState());
150         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
151
152         fields.put(AuditingFieldsKey.AUDIT_PREV_ARTIFACT_UUID.getDisplayName(), getPrevArtifactUuid());
153         fields.put(AuditingFieldsKey.AUDIT_CURR_ARTIFACT_UUID.getDisplayName(), getCurrArtifactUuid());
154         fields.put(AuditingFieldsKey.AUDIT_ARTIFACT_DATA.getDisplayName(), getArtifactData());
155     }
156
157     public UUID getTimebaseduuid() {
158         return timebaseduuid;
159     }
160
161     public void setTimebaseduuid(UUID timebaseduuid) {
162         this.timebaseduuid = timebaseduuid;
163     }
164
165     public Date getTimestamp1() {
166         return timestamp1;
167     }
168
169     public void setTimestamp1(Date timestamp1) {
170         this.timestamp1 = timestamp1;
171     }
172
173     public String getAction() {
174         return action;
175     }
176
177     public void setAction(String action) {
178         this.action = action;
179     }
180
181     public String getStatus() {
182         return status;
183     }
184
185     public void setStatus(String status) {
186         this.status = status;
187     }
188
189     public String getDesc() {
190         return desc;
191     }
192
193     public void setDesc(String desc) {
194         this.desc = desc;
195     }
196
197     public String getConsumerId() {
198         return consumerId;
199     }
200
201     public void setConsumerId(String consumerId) {
202         this.consumerId = consumerId;
203     }
204
205     public String getResourceURL() {
206         return resourceURL;
207     }
208
209     public void setResourceURL(String resourceURL) {
210         this.resourceURL = resourceURL;
211     }
212
213     public String getResourceName() {
214         return resourceName;
215     }
216
217     public void setResourceName(String resourceName) {
218         this.resourceName = resourceName;
219     }
220
221     public String getResourceType() {
222         return resourceType;
223     }
224
225     public void setResourceType(String resourceType) {
226         this.resourceType = resourceType;
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 getInvariantUuid() {
238         return invariantUuid;
239     }
240
241     public void setInvariantUuid(String invariantUuid) {
242         this.invariantUuid = invariantUuid;
243     }
244
245     public String getModifier() {
246         return modifier;
247     }
248
249     public void setModifier(String modifier) {
250         this.modifier = modifier;
251     }
252
253     public String getPrevArtifactUuid() {
254         return prevArtifactUuid;
255     }
256
257     public void setPrevArtifactUuid(String prevArtifactUuid) {
258         this.prevArtifactUuid = prevArtifactUuid;
259     }
260
261     public String getCurrArtifactUuid() {
262         return currArtifactUuid;
263     }
264
265     public void setCurrArtifactUuid(String currArtifactUuid) {
266         this.currArtifactUuid = currArtifactUuid;
267     }
268
269     public String getArtifactData() {
270         return artifactData;
271     }
272
273     public void setArtifactData(String artifactData) {
274         this.artifactData = artifactData;
275     }
276
277     @Override
278     public String toString() {
279         return "ExternalApiEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", action=" + action
280                 + ", status=" + status + ", desc=" + desc + ", consumerId=" + consumerId + ", resourceURL="
281                 + resourceURL + ", resourceName=" + resourceName + ", resourceType=" + resourceType
282                 + ", serviceInstanceId=" + serviceInstanceId + ", invariantUuid=" + invariantUuid + ", modifier=" + modifier
283                 + ", prevVersion=" + prevVersion+ ", currVersion=" + currVersion
284                 + ", prevState=" + prevState + ", currState=" + currState
285                 + ", prevArtifactUuid="
286                 + prevArtifactUuid + ", currArtifactUuid=" + currArtifactUuid + ", artifactData=" + artifactData + "]";
287     }
288
289     public String getPrevVersion() {
290         return prevVersion;
291     }
292
293     public void setPrevVersion(String prevVersion) {
294         this.prevVersion = prevVersion;
295     }
296
297     public String getCurrVersion() {
298         return currVersion;
299     }
300
301     public void setCurrVersion(String currVersion) {
302         this.currVersion = currVersion;
303     }
304
305     public String getPrevState() {
306         return prevState;
307     }
308
309     public void setPrevState(String prevState) {
310         this.prevState = prevState;
311     }
312
313     public String getCurrState() {
314         return currState;
315     }
316
317     public void setCurrState(String currState) {
318         this.currState = currState;
319     }
320 }