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 java.text.SimpleDateFormat;
24 import java.util.Date;
26 import java.util.TimeZone;
27 import java.util.UUID;
29 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
30 import org.openecomp.sdc.be.resources.data.auditing.model.OperationalEnvAuditData;
31 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
33 import com.datastax.driver.core.utils.UUIDs;
34 import com.datastax.driver.mapping.annotations.ClusteringColumn;
35 import com.datastax.driver.mapping.annotations.Column;
36 import com.datastax.driver.mapping.annotations.PartitionKey;
37 import com.datastax.driver.mapping.annotations.Table;
39 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_NOTIFICATION_EVENT_TYPE)
40 public class DistributionNotificationEvent extends AuditingGenericEvent {
42 private static String DISTRIBUTION_NOTIFICATION_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
43 + "resourceName=\"%s\" resourceType=\"%s\" currVersion=\"%s\" " + "modifierName=\"%s\" modifierUid=\"%s\" "
44 + "currState=\"%s\" distributionId=\"%s\" " + "topicName=\"%s\" status=\"%s\" description=\"%s\"";
47 protected UUID timebaseduuid;
50 protected Date timestamp1;
52 @Column(name = "request_id")
53 protected String requestId;
55 @Column(name = "service_instance_id")
56 protected String serviceInstanceId;
58 protected String action;
60 protected String status;
62 @Column(name = "description")
63 protected String desc;
65 @Column(name = "resource_name")
66 private String resourceName;
68 @Column(name = "resource_type")
69 private String resourceType;
71 @Column(name = "curr_version")
72 private String currVersion;
75 private String modifier;
77 @Column(name = "curr_state")
78 private String currState;
80 @Column(name = "topic_name")
81 private String topicName;
86 @Column(name = "env_id")
89 @Column(name = "vnf_workload_context")
90 private String vnfWorkloadContext;
92 @Column(name = "tenant")
93 private String tenant;
95 public DistributionNotificationEvent() {
97 timestamp1 = new Date();
98 timebaseduuid = UUIDs.timeBased();
101 public DistributionNotificationEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
104 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
106 setRequestId((String) value);
108 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
110 setServiceInstanceId((String) value);
112 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
114 setAction((String) value);
116 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
118 setStatus((String) value);
120 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
122 setDesc((String) value);
124 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID);
126 setDid((String) value);
128 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
130 setModifier((String) value);
132 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE);
134 setCurrState((String) value);
136 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION);
138 setCurrVersion((String) value);
140 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME);
142 setResourceName((String) value);
144 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
146 setResourceType((String) value);
148 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME);
150 setTopicName((String) value);
152 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVIRONMENT_ID);
154 setEnvId((String) value);
156 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_VNF_WORKLOAD_CONTEXT);
158 setVnfWorkloadContext((String) value);
160 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TENANT);
162 setTenant((String) value);
167 public DistributionNotificationEvent(String action, CommonAuditData commonAuditData, String did, String modifier, String resourceCurrState,
168 String resourceCurrVersion, String resourceName, String resourceType, String topicName,
169 OperationalEnvAuditData opEnvFields) {
171 this.action = action;
172 this.requestId = commonAuditData.getRequestId();
173 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
174 this.status = commonAuditData.getStatus();
175 this.desc = commonAuditData.getDescription();
177 this.modifier = modifier;
178 this.currState = resourceCurrState;
179 this.currVersion = resourceCurrVersion;
180 this.resourceName = resourceName;
181 this.resourceType = resourceType;
182 this.topicName = topicName;
183 this.envId = opEnvFields.getEnvId();
184 this.vnfWorkloadContext = opEnvFields.getVnfWorkloadContext();
185 this.tenant = opEnvFields.getTenant();
190 public void fillFields() {
191 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
193 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
194 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
195 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
196 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
197 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVIRONMENT_ID.getDisplayName(), getEnvId());
198 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_VNF_WORKLOAD_CONTEXT.getDisplayName(), getVnfWorkloadContext());
199 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TENANT.getDisplayName(), getTenant());
201 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
202 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
203 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
204 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
205 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
206 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
207 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME.getDisplayName(), getTopicName());
208 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
209 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
210 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
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 getCurrVersion() {
233 public void setCurrVersion(String currVersion) {
234 this.currVersion = currVersion;
237 public String getCurrState() {
241 public void setCurrState(String currState) {
242 this.currState = currState;
245 public String getTopicName() {
249 public void setTopicName(String topicName) {
250 this.topicName = topicName;
253 public UUID getTimebaseduuid() {
254 return timebaseduuid;
257 public void setTimebaseduuid(UUID timebaseduuid) {
258 this.timebaseduuid = timebaseduuid;
261 public Date getTimestamp1() {
265 public void setTimestamp1(Date timestamp1) {
266 this.timestamp1 = timestamp1;
269 public String getRequestId() {
273 public void setRequestId(String requestId) {
274 this.requestId = requestId;
277 public String getServiceInstanceId() {
278 return serviceInstanceId;
281 public void setServiceInstanceId(String serviceInstanceId) {
282 this.serviceInstanceId = serviceInstanceId;
285 public String getAction() {
289 public void setAction(String action) {
290 this.action = action;
293 public String getStatus() {
297 public void setStatus(String status) {
298 this.status = status;
301 public String getDesc() {
305 public void setDesc(String desc) {
309 public String getModifier() {
313 public void setModifier(String modifier) {
314 this.modifier = modifier;
317 public String getDid() {
321 public void setDid(String did) {
325 public String getVnfWorkloadContext() {
326 return vnfWorkloadContext;
329 public void setVnfWorkloadContext(String vnfWorkloadContext) {
330 this.vnfWorkloadContext = vnfWorkloadContext;
333 public String getEnvId() {
337 public void setEnvId(String envId) {
341 public String getTenant() {
345 public void setTenant(String tenant) {
346 this.tenant = tenant;
350 public String toString() {
351 return "DistributionNotificationEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1
352 + ", requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action
353 + ", status=" + status + ", desc=" + desc + ", resourceName=" + resourceName + ", resourceType="
354 + resourceType + ", currVersion=" + currVersion + ", modifier=" + modifier + ", currState=" + currState
355 + ", topicName=" + topicName + ", did=" + did
356 + ", envId=" + envId + ", vnfWorkloadContext=" + vnfWorkloadContext + ", tenant=" + tenant + "]";