2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.be.resources.data.auditing;
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;
34 import java.text.SimpleDateFormat;
35 import java.util.Date;
36 import java.util.TimeZone;
37 import java.util.UUID;
40 * This class Represents the Audit for External API
43 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.EXTERNAL_API_EVENT_TYPE)
44 public class ExternalApiEvent extends AuditingGenericEvent {
46 protected UUID timebaseduuid;
49 protected Date timestamp1;
52 protected String action;
54 protected String status;
56 @Column(name = "description")
57 protected String desc;
59 @Column(name = "consumer_id")
60 private String consumerId;
62 @Column(name = "resource_url")
63 private String resourceURL;
65 @Column(name = "resource_name")
66 private String resourceName;
68 @Column(name = "resource_type")
69 private String resourceType;
71 @Column(name = "service_instance_id")
72 protected String serviceInstanceId;
74 @Column(name = "invariant_uuid")
75 protected String invariantUuid;
77 @Column(name = "modifier")
78 private String modifier;
80 @Column(name = "prev_version")
81 protected String prevVersion;
83 @Column(name = "curr_version")
84 private String currVersion;
86 @Column(name = "prev_state")
87 protected String prevState;
89 @Column(name = "curr_state")
90 protected String currState;
92 @Column(name = "prev_artifact_uuid")
93 private String prevArtifactUuid;
95 @Column(name = "curr_artifact_uuid")
96 private String currArtifactUuid;
98 @Column(name = "artifact_data")
99 private String artifactData;
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();
107 public ExternalApiEvent(String action, CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
108 DistributionData distributionData, ResourceVersionInfo prevParams, ResourceVersionInfo currParams,
109 String modifier, String invariantUuid, String artifactData) {
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;
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());
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());
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());
157 public UUID getTimebaseduuid() {
158 return timebaseduuid;
161 public void setTimebaseduuid(UUID timebaseduuid) {
162 this.timebaseduuid = timebaseduuid;
165 public Date getTimestamp1() {
169 public void setTimestamp1(Date timestamp1) {
170 this.timestamp1 = timestamp1;
173 public String getAction() {
177 public void setAction(String action) {
178 this.action = action;
181 public String getStatus() {
185 public void setStatus(String status) {
186 this.status = status;
189 public String getDesc() {
193 public void setDesc(String desc) {
197 public String getConsumerId() {
201 public void setConsumerId(String consumerId) {
202 this.consumerId = consumerId;
205 public String getResourceURL() {
209 public void setResourceURL(String resourceURL) {
210 this.resourceURL = resourceURL;
213 public String getResourceName() {
217 public void setResourceName(String resourceName) {
218 this.resourceName = resourceName;
221 public String getResourceType() {
225 public void setResourceType(String resourceType) {
226 this.resourceType = resourceType;
229 public String getServiceInstanceId() {
230 return serviceInstanceId;
233 public void setServiceInstanceId(String serviceInstanceId) {
234 this.serviceInstanceId = serviceInstanceId;
237 public String getInvariantUuid() {
238 return invariantUuid;
241 public void setInvariantUuid(String invariantUuid) {
242 this.invariantUuid = invariantUuid;
245 public String getModifier() {
249 public void setModifier(String modifier) {
250 this.modifier = modifier;
253 public String getPrevArtifactUuid() {
254 return prevArtifactUuid;
257 public void setPrevArtifactUuid(String prevArtifactUuid) {
258 this.prevArtifactUuid = prevArtifactUuid;
261 public String getCurrArtifactUuid() {
262 return currArtifactUuid;
265 public void setCurrArtifactUuid(String currArtifactUuid) {
266 this.currArtifactUuid = currArtifactUuid;
269 public String getArtifactData() {
273 public void setArtifactData(String artifactData) {
274 this.artifactData = artifactData;
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 + "]";
289 public String getPrevVersion() {
293 public void setPrevVersion(String prevVersion) {
294 this.prevVersion = prevVersion;
297 public String getCurrVersion() {
301 public void setCurrVersion(String currVersion) {
302 this.currVersion = currVersion;
305 public String getPrevState() {
309 public void setPrevState(String prevState) {
310 this.prevState = prevState;
313 public String getCurrState() {
317 public void setCurrState(String currState) {
318 this.currState = currState;