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_ENGINE_EVENT_TYPE)
36 public class DistributionEngineEvent extends AuditingGenericEvent {
38 private static String DISTRIBUTION_ENGINE_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
39 + "environmentName=\"%s\" topicName=\"%s\" role=\"%s\" apiKey=\"%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;
61 @Column(name = "consumer_id")
62 private String consumerId;
64 @Column(name = "DSTATUS_TOPIC")
65 private String dstatusTopic;
67 @Column(name = "DNOTIF_TOPIC")
68 private String dnotifTopic;
70 @Column(name = "d_env")
71 private String environmentName;
76 @Column(name = "api_key")
77 private String apiKey;
79 public DistributionEngineEvent() {
81 timestamp1 = new Date();
82 timebaseduuid = UUIDs.timeBased();
85 public DistributionEngineEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
88 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
90 setRequestId((String) value);
92 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
94 setServiceInstanceId((String) value);
96 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
98 setAction((String) value);
100 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
102 setStatus((String) value);
104 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
106 setDesc((String) value);
108 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_DESC);
110 setDesc((String) value);
113 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID);
115 setConsumerId((String) value);
117 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TOPIC_NAME);
119 setDstatusTopic((String) value);
121 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_NOTIFICATION_TOPIC_NAME);
123 setDnotifTopic((String) value);
125 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_API_KEY);
127 setApiKey((String) value);
129 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVRIONMENT_NAME);
131 setEnvironmentName((String) value);
133 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ROLE);
135 setRole((String) value);
139 public DistributionEngineEvent(String action, CommonAuditData commonAuditData, String consumerId, String distStatusTopic, String distNotifTopic,
140 String apiKey, String envName, String role) {
142 this.action = action;
143 this.requestId = commonAuditData.getRequestId();
144 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
145 this.status = commonAuditData.getStatus();
146 //if no desc, keep distr desc
147 this.desc = commonAuditData.getDescription();
148 this.consumerId = consumerId;
149 this.dstatusTopic = distStatusTopic;
150 this.dnotifTopic = distNotifTopic;
151 this.apiKey = apiKey;
152 this.environmentName = envName;
157 public void fillFields() {
158 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
160 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
161 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
162 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
163 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
165 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID.getDisplayName(), getConsumerId());
166 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_API_KEY.getDisplayName(), getApiKey());
167 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVRIONMENT_NAME.getDisplayName(), getEnvironmentName());
168 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ROLE.getDisplayName(), getRole());
169 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TOPIC_NAME.getDisplayName(), getDstatusTopic());
170 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_NOTIFICATION_TOPIC_NAME.getDisplayName(),
172 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
173 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
174 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
177 public String getDstatusTopic() {
181 public void setDstatusTopic(String dstatusTopic) {
182 this.dstatusTopic = dstatusTopic;
185 public String getDnotifTopic() {
189 public void setDnotifTopic(String dnotifTopic) {
190 this.dnotifTopic = dnotifTopic;
193 public String getEnvironmentName() {
194 return environmentName;
197 public void setEnvironmentName(String environmentName) {
198 this.environmentName = environmentName;
201 public String getRole() {
205 public void setRole(String role) {
209 public String getApiKey() {
213 public void setApiKey(String apiKey) {
214 this.apiKey = apiKey;
217 public UUID getTimebaseduuid() {
218 return timebaseduuid;
221 public void setTimebaseduuid(UUID timebaseduuid) {
222 this.timebaseduuid = timebaseduuid;
225 public Date getTimestamp1() {
229 public void setTimestamp1(Date timestamp1) {
230 this.timestamp1 = timestamp1;
233 public String getRequestId() {
237 public void setRequestId(String requestId) {
238 this.requestId = requestId;
241 public String getServiceInstanceId() {
242 return serviceInstanceId;
245 public void setServiceInstanceId(String serviceInstanceId) {
246 this.serviceInstanceId = serviceInstanceId;
249 public String getAction() {
253 public void setAction(String action) {
254 this.action = action;
257 public String getStatus() {
261 public void setStatus(String status) {
262 this.status = status;
265 public String getDesc() {
269 public void setDesc(String desc) {
273 public String getConsumerId() {
277 public void setConsumerId(String consumerId) {
278 this.consumerId = consumerId;
282 public String toString() {
283 return "DistributionEngineEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", requestId="
284 + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action + ", status=" + status
285 + ", desc=" + desc + ", consumerId=" + consumerId + ", dstatusTopic=" + dstatusTopic + ", dnotifTopic="
286 + dnotifTopic + ", environmentName=" + environmentName + ", role=" + role + ", apiKey=" + apiKey + "]";