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;
26 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
27 import org.openecomp.sdc.be.resources.data.auditing.model.OperationalEnvAuditData;
28 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
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;
36 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_NOTIFICATION_EVENT_TYPE)
37 public class DistributionNotificationEvent extends AuditingGenericEvent {
39 private static String DISTRIBUTION_NOTIFICATION_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
40 + "resourceName=\"%s\" resourceType=\"%s\" currVersion=\"%s\" " + "modifierName=\"%s\" modifierUid=\"%s\" "
41 + "currState=\"%s\" distributionId=\"%s\" " + "topicName=\"%s\" status=\"%s\" description=\"%s\"";
44 protected UUID timebaseduuid;
47 protected Date timestamp1;
49 @Column(name = "request_id")
50 protected String requestId;
52 @Column(name = "service_instance_id")
53 protected String serviceInstanceId;
55 protected String action;
57 protected String status;
59 @Column(name = "description")
60 protected String desc;
62 @Column(name = "resource_name")
63 private String resourceName;
65 @Column(name = "resource_type")
66 private String resourceType;
68 @Column(name = "curr_version")
69 private String currVersion;
72 private String modifier;
74 @Column(name = "curr_state")
75 private String currState;
77 @Column(name = "topic_name")
78 private String topicName;
83 @Column(name = "env_id")
86 @Column(name = "vnf_workload_context")
87 private String vnfWorkloadContext;
89 @Column(name = "tenant")
90 private String tenant;
92 public DistributionNotificationEvent() {
94 timestamp1 = new Date();
95 timebaseduuid = UUIDs.timeBased();
98 public DistributionNotificationEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
101 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
103 setRequestId((String) value);
105 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
107 setServiceInstanceId((String) value);
109 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
111 setAction((String) value);
113 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
115 setStatus((String) value);
117 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
119 setDesc((String) value);
121 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID);
123 setDid((String) value);
125 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
127 setModifier((String) value);
129 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE);
131 setCurrState((String) value);
133 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION);
135 setCurrVersion((String) value);
137 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME);
139 setResourceName((String) value);
141 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
143 setResourceType((String) value);
145 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME);
147 setTopicName((String) value);
149 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVIRONMENT_ID);
151 setEnvId((String) value);
153 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_VNF_WORKLOAD_CONTEXT);
155 setVnfWorkloadContext((String) value);
157 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TENANT);
159 setTenant((String) value);
164 public DistributionNotificationEvent(String action, CommonAuditData commonAuditData, String did, String modifier, String resourceCurrState,
165 String resourceCurrVersion, String resourceName, String resourceType, String topicName,
166 OperationalEnvAuditData opEnvFields) {
168 this.action = action;
169 this.requestId = commonAuditData.getRequestId();
170 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
171 this.status = commonAuditData.getStatus();
172 this.desc = commonAuditData.getDescription();
174 this.modifier = modifier;
175 this.currState = resourceCurrState;
176 this.currVersion = resourceCurrVersion;
177 this.resourceName = resourceName;
178 this.resourceType = resourceType;
179 this.topicName = topicName;
180 this.envId = opEnvFields.getEnvId();
181 this.vnfWorkloadContext = opEnvFields.getVnfWorkloadContext();
182 this.tenant = opEnvFields.getTenant();
187 public void fillFields() {
188 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
190 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
191 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
192 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
193 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
194 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVIRONMENT_ID.getDisplayName(), getEnvId());
195 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_VNF_WORKLOAD_CONTEXT.getDisplayName(), getVnfWorkloadContext());
196 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TENANT.getDisplayName(), getTenant());
198 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
199 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
200 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
201 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
202 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
203 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
204 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME.getDisplayName(), getTopicName());
205 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
206 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
207 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
210 public String getResourceName() {
214 public void setResourceName(String resourceName) {
215 this.resourceName = resourceName;
218 public String getResourceType() {
222 public void setResourceType(String resourceType) {
223 this.resourceType = resourceType;
226 public String getCurrVersion() {
230 public void setCurrVersion(String currVersion) {
231 this.currVersion = currVersion;
234 public String getCurrState() {
238 public void setCurrState(String currState) {
239 this.currState = currState;
242 public String getTopicName() {
246 public void setTopicName(String topicName) {
247 this.topicName = topicName;
250 public UUID getTimebaseduuid() {
251 return timebaseduuid;
254 public void setTimebaseduuid(UUID timebaseduuid) {
255 this.timebaseduuid = timebaseduuid;
258 public Date getTimestamp1() {
262 public void setTimestamp1(Date timestamp1) {
263 this.timestamp1 = timestamp1;
266 public String getRequestId() {
270 public void setRequestId(String requestId) {
271 this.requestId = requestId;
274 public String getServiceInstanceId() {
275 return serviceInstanceId;
278 public void setServiceInstanceId(String serviceInstanceId) {
279 this.serviceInstanceId = serviceInstanceId;
282 public String getAction() {
286 public void setAction(String action) {
287 this.action = action;
290 public String getStatus() {
294 public void setStatus(String status) {
295 this.status = status;
298 public String getDesc() {
302 public void setDesc(String desc) {
306 public String getModifier() {
310 public void setModifier(String modifier) {
311 this.modifier = modifier;
314 public String getDid() {
318 public void setDid(String did) {
322 public String getVnfWorkloadContext() {
323 return vnfWorkloadContext;
326 public void setVnfWorkloadContext(String vnfWorkloadContext) {
327 this.vnfWorkloadContext = vnfWorkloadContext;
330 public String getEnvId() {
334 public void setEnvId(String envId) {
338 public String getTenant() {
342 public void setTenant(String tenant) {
343 this.tenant = tenant;
347 public String toString() {
348 return "DistributionNotificationEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1
349 + ", requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action
350 + ", status=" + status + ", desc=" + desc + ", resourceName=" + resourceName + ", resourceType="
351 + resourceType + ", currVersion=" + currVersion + ", modifier=" + modifier + ", currState=" + currState
352 + ", topicName=" + topicName + ", did=" + did
353 + ", envId=" + envId + ", vnfWorkloadContext=" + vnfWorkloadContext + ", tenant=" + tenant + "]";