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;
25 import java.util.EnumMap;
26 import java.util.TimeZone;
27 import java.util.UUID;
29 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
31 import com.datastax.driver.core.utils.UUIDs;
32 import com.datastax.driver.mapping.annotations.ClusteringColumn;
33 import com.datastax.driver.mapping.annotations.Column;
34 import com.datastax.driver.mapping.annotations.PartitionKey;
35 import com.datastax.driver.mapping.annotations.Table;
37 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_NOTIFICATION_EVENT_TYPE)
38 public class DistributionNotificationEvent extends AuditingGenericEvent {
40 private static String DISTRIBUTION_NOTIFICATION_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
41 + "resourceName=\"%s\" resourceType=\"%s\" currVersion=\"%s\" " + "modifierName=\"%s\" modifierUid=\"%s\" "
42 + "currState=\"%s\" distributionId=\"%s\" " + "topicName=\"%s\" status=\"%s\" description=\"%s\"";
45 protected UUID timebaseduuid;
48 protected Date timestamp1;
50 @Column(name = "request_id")
51 protected String requestId;
53 @Column(name = "service_instance_id")
54 protected String serviceInstanceId;
56 protected String action;
58 protected String status;
60 @Column(name = "description")
61 protected String desc;
63 @Column(name = "resource_name")
64 private String resourceName;
66 @Column(name = "resource_type")
67 private String resourceType;
69 @Column(name = "curr_version")
70 private String currVersion;
73 private String modifier;
75 @Column(name = "curr_state")
76 private String currState;
78 @Column(name = "topic_name")
79 private String topicName;
84 public DistributionNotificationEvent() {
86 timestamp1 = new Date();
87 timebaseduuid = UUIDs.timeBased();
90 public DistributionNotificationEvent(EnumMap<AuditingFieldsKeysEnum, Object> auditingFields) {
93 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
95 setRequestId((String) value);
97 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
99 setServiceInstanceId((String) value);
101 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
103 setAction((String) value);
105 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
107 setStatus((String) value);
109 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
111 setDesc((String) value);
113 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID);
115 setDid((String) value);
117 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
119 setModifier((String) value);
121 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE);
123 setCurrState((String) value);
125 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION);
127 setCurrVersion((String) value);
129 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME);
131 setResourceName((String) value);
133 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
135 setResourceType((String) value);
137 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME);
139 setTopicName((String) value);
145 public void fillFields() {
146 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
148 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
149 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
150 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
151 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
153 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
154 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
155 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE.getDisplayName(), getCurrState());
156 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
157 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
158 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
159 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME.getDisplayName(), getTopicName());
160 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
161 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
162 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
165 public String getResourceName() {
169 public void setResourceName(String resourceName) {
170 this.resourceName = resourceName;
173 public String getResourceType() {
177 public void setResourceType(String resourceType) {
178 this.resourceType = resourceType;
181 public String getCurrVersion() {
185 public void setCurrVersion(String currVersion) {
186 this.currVersion = currVersion;
189 public String getCurrState() {
193 public void setCurrState(String currState) {
194 this.currState = currState;
197 public String getTopicName() {
201 public void setTopicName(String topicName) {
202 this.topicName = topicName;
205 public UUID getTimebaseduuid() {
206 return timebaseduuid;
209 public void setTimebaseduuid(UUID timebaseduuid) {
210 this.timebaseduuid = timebaseduuid;
213 public Date getTimestamp1() {
217 public void setTimestamp1(Date timestamp1) {
218 this.timestamp1 = timestamp1;
221 public String getRequestId() {
225 public void setRequestId(String requestId) {
226 this.requestId = requestId;
229 public String getServiceInstanceId() {
230 return serviceInstanceId;
233 public void setServiceInstanceId(String serviceInstanceId) {
234 this.serviceInstanceId = serviceInstanceId;
237 public String getAction() {
241 public void setAction(String action) {
242 this.action = action;
245 public String getStatus() {
249 public void setStatus(String status) {
250 this.status = status;
253 public String getDesc() {
257 public void setDesc(String desc) {
261 public String getModifier() {
265 public void setModifier(String modifier) {
266 this.modifier = modifier;
269 public String getDid() {
273 public void setDid(String did) {
278 public String toString() {
279 return "DistributionNotificationEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1
280 + ", requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action
281 + ", status=" + status + ", desc=" + desc + ", resourceName=" + resourceName + ", resourceType="
282 + resourceType + ", currVersion=" + currVersion + ", modifier=" + modifier + ", currState=" + currState
283 + ", topicName=" + topicName + ", did=" + did + "]";