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.common.datastructure.AuditingFieldsKeysEnum;
29 import com.datastax.driver.core.utils.UUIDs;
30 import com.datastax.driver.mapping.annotations.ClusteringColumn;
31 import com.datastax.driver.mapping.annotations.Column;
32 import com.datastax.driver.mapping.annotations.PartitionKey;
33 import com.datastax.driver.mapping.annotations.Table;
35 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_STATUS_EVENT_TYPE)
36 public class DistributionStatusEvent extends AuditingGenericEvent {
38 private static String DISTRIBUTION_STATUS_NOTIFICATION_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
39 + "did=\"%s\" consumerId=\"%s\" topicName=\"%s\" resoureURL=\"%s\" statusTime=\"%s\" status=\"%s\" ";
42 protected UUID timebaseduuid;
45 protected Date timestamp1;
47 @Column(name = "request_id")
48 protected String requestId;
50 @Column(name = "service_instance_id")
51 protected String serviceInstanceId;
54 protected String action;
56 protected String status;
58 @Column(name = "description")
59 protected String desc;
64 @Column(name = "consumer_id")
65 private String consumerId;
67 @Column(name = "topic_name")
68 private String topicName;
70 @Column(name = "resoure_url")
71 private String resoureURL;
73 @Column(name = "status_time")
74 private String statusTime;
76 public DistributionStatusEvent() {
78 timestamp1 = new Date();
79 timebaseduuid = UUIDs.timeBased();
83 public DistributionStatusEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
86 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
88 setRequestId((String) value);
90 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
92 setServiceInstanceId((String) value);
94 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
96 setAction((String) value);
98 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
100 setStatus((String) value);
102 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
104 setDesc((String) value);
106 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID);
108 setDid((String) value);
110 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID);
112 setConsumerId((String) value);
114 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME);
116 setTopicName((String) value);
118 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL);
120 setResoureURL((String) value);
122 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TIME);
124 setStatusTime((String) value);
128 public DistributionStatusEvent(String action, CommonAuditData commonAuditData, String did, String consumerId, String topicName,
129 String resourceURL, String statusTime) {
131 this.action = action;
132 this.requestId = commonAuditData.getRequestId();
133 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
134 this.status = commonAuditData.getStatus();
135 this.desc = commonAuditData.getDescription();
137 this.consumerId = consumerId;
138 this.topicName = topicName;
139 this.resoureURL = resourceURL;
140 this.statusTime = statusTime;
144 public void fillFields() {
145 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
147 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
148 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
149 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
150 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
151 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID.getDisplayName(), getConsumerId());
153 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
154 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TIME.getDisplayName(), getStatusTime());
155 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME.getDisplayName(), getTopicName());
156 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL.getDisplayName(), getResoureURL());
157 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
158 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
159 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
163 public String getDid() {
167 public void setDid(String did) {
171 public String getConsumerId() {
175 public void setConsumerId(String consumerId) {
176 this.consumerId = consumerId;
179 public String getTopicName() {
183 public void setTopicName(String topicName) {
184 this.topicName = topicName;
187 public String getResoureURL() {
191 public void setResoureURL(String resoureURL) {
192 this.resoureURL = resoureURL;
195 public String getRequestId() {
199 public void setRequestId(String requestId) {
200 this.requestId = requestId;
203 public String getServiceInstanceId() {
204 return serviceInstanceId;
207 public void setServiceInstanceId(String serviceInstanceId) {
208 this.serviceInstanceId = serviceInstanceId;
211 public String getAction() {
215 public void setAction(String action) {
216 this.action = action;
219 public String getStatus() {
223 public void setStatus(String status) {
224 this.status = status;
227 public String getDesc() {
231 public void setDesc(String desc) {
235 public UUID getTimebaseduuid() {
236 return timebaseduuid;
239 public void setTimebaseduuid(UUID timebaseduuid) {
240 this.timebaseduuid = timebaseduuid;
243 public Date getTimestamp1() {
247 public void setTimestamp1(Date timestamp) {
248 this.timestamp1 = timestamp;
251 public String getStatusTime() {
255 public void setStatusTime(String statusTime) {
256 this.statusTime = statusTime;
260 public String toString() {
261 return "DistributionStatusEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", requestId="
262 + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action + ", status=" + status
263 + ", desc=" + desc + ", did=" + did + ", consumerId=" + consumerId + ", topicName=" + topicName
264 + ", resoureURL=" + resoureURL + ", statusTime=" + statusTime + "]";