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.common.datastructure.AuditingFieldsKey;
32 import java.text.SimpleDateFormat;
33 import java.util.Date;
34 import java.util.TimeZone;
35 import java.util.UUID;
37 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_STATUS_EVENT_TYPE)
38 public class DistributionStatusEvent extends AuditingGenericEvent {
41 protected UUID timebaseduuid;
44 protected Date timestamp1;
46 @Column(name = "request_id")
47 protected String requestId;
49 @Column(name = "service_instance_id")
50 protected String serviceInstanceId;
53 protected String action;
55 protected String status;
57 @Column(name = "description")
58 protected String desc;
63 @Column(name = "consumer_id")
64 private String consumerId;
66 @Column(name = "topic_name")
67 private String topicName;
69 @Column(name = "resoure_url")
70 private String resoureURL;
72 @Column(name = "status_time")
73 private String statusTime;
75 //Required to be public as it is used by Cassandra driver on get operation
76 public DistributionStatusEvent() {
77 timestamp1 = new Date();
78 timebaseduuid = UUIDs.timeBased();
82 public DistributionStatusEvent(String action, CommonAuditData commonAuditData, DistributionData distributionData,
83 String did, String topicName, String statusTime) {
86 this.requestId = commonAuditData.getRequestId();
87 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
88 this.status = commonAuditData.getStatus();
89 this.desc = commonAuditData.getDescription();
91 this.consumerId = distributionData.getConsumerId();
92 this.topicName = topicName;
93 this.resoureURL = distributionData.getResourceUrl();
94 this.statusTime = statusTime;
97 public void setTimestamp1(String timestamp) {
98 this.timestamp1 = parseDateFromString(timestamp);
102 public void fillFields() {
103 fields.put(AuditingFieldsKey.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
105 fields.put(AuditingFieldsKey.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
106 fields.put(AuditingFieldsKey.AUDIT_ACTION.getDisplayName(), getAction());
107 fields.put(AuditingFieldsKey.AUDIT_STATUS.getDisplayName(), getStatus());
108 fields.put(AuditingFieldsKey.AUDIT_DESC.getDisplayName(), getDesc());
109 fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_CONSUMER_ID.getDisplayName(), getConsumerId());
111 fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
112 fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_STATUS_TIME.getDisplayName(), getStatusTime());
113 fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_TOPIC_NAME.getDisplayName(), getTopicName());
114 fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_RESOURCE_URL.getDisplayName(), getResoureURL());
115 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
116 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
117 fields.put(AuditingFieldsKey.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
121 public String getDid() {
125 public void setDid(String did) {
129 public String getConsumerId() {
133 public void setConsumerId(String consumerId) {
134 this.consumerId = consumerId;
137 public String getTopicName() {
141 public void setTopicName(String topicName) {
142 this.topicName = topicName;
145 public String getResoureURL() {
149 public void setResoureURL(String resoureURL) {
150 this.resoureURL = resoureURL;
153 public String getRequestId() {
157 public void setRequestId(String requestId) {
158 this.requestId = requestId;
161 public String getServiceInstanceId() {
162 return serviceInstanceId;
165 public void setServiceInstanceId(String serviceInstanceId) {
166 this.serviceInstanceId = serviceInstanceId;
169 public String getAction() {
173 public void setAction(String action) {
174 this.action = action;
177 public String getStatus() {
181 public void setStatus(String status) {
182 this.status = status;
185 public String getDesc() {
189 public void setDesc(String desc) {
193 public UUID getTimebaseduuid() {
194 return timebaseduuid;
197 public void setTimebaseduuid(UUID timebaseduuid) {
198 this.timebaseduuid = timebaseduuid;
201 public Date getTimestamp1() {
205 public void setTimestamp1(Date timestamp) {
206 this.timestamp1 = timestamp;
209 public String getStatusTime() {
213 public void setStatusTime(String statusTime) {
214 this.statusTime = statusTime;
218 public String toString() {
219 return "DistributionStatusEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", requestId="
220 + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action + ", status=" + status
221 + ", desc=" + desc + ", did=" + did + ", consumerId=" + consumerId + ", topicName=" + topicName
222 + ", resoureURL=" + resoureURL + ", statusTime=" + statusTime + "]";