Sync Integ to Master
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / DistributionDownloadEvent.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.resources.data.auditing;
22
23 import java.text.SimpleDateFormat;
24 import java.util.*;
25
26 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
27 import org.openecomp.sdc.be.resources.data.auditing.model.DistributionData;
28 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
29
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;
35
36 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_DOWNLOAD_EVENT_TYPE)
37 public class DistributionDownloadEvent extends AuditingGenericEvent {
38
39     private static String DISTRIBUTION_DOWNLOAD_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
40             + "consumerId=\"%s\" resourceUrl=\"%s\" status=\"%s\" desc=\"%s\"";
41
42     @PartitionKey
43     protected UUID timebaseduuid;
44
45     @ClusteringColumn
46     protected Date timestamp1;
47
48     @Column(name = "request_id")
49     protected String requestId;
50
51     @Column(name = "service_instance_id")
52     protected String serviceInstanceId;
53
54     @Column
55     protected String action;
56     @Column
57     protected String status;
58
59     @Column(name = "description")
60     protected String desc;
61
62     @Column(name = "consumer_id")
63     private String consumerId;
64
65     @Column(name = "resource_url")
66     private String resourceUrl;
67
68     public DistributionDownloadEvent() {
69                 super();
70
71         timestamp1 = new Date();
72         timebaseduuid = UUIDs.timeBased();
73     }
74
75         public DistributionDownloadEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
76                 this();
77                 Object value;
78                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
79                 if (value != null) {
80                         setRequestId((String) value);
81                 }
82                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
83                 if (value != null) {
84                         setServiceInstanceId((String) value);
85                 }
86                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
87                 if (value != null) {
88                         setAction((String) value);
89                 }
90                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
91                 if (value != null) {
92                         setStatus((String) value);
93                 }
94                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
95                 if (value != null) {
96                         setDesc((String) value);
97                 }
98                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID);
99                 if (value != null) {
100                         setConsumerId((String) value);
101                 }
102                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL);
103                 if (value != null) {
104                         setResourceUrl((String) value);
105                 }
106         }
107
108     public DistributionDownloadEvent(String action, CommonAuditData commonAuditData, DistributionData distributionData) {
109         this();
110         this.action = action;
111         this.requestId = commonAuditData.getRequestId();
112         this.serviceInstanceId = commonAuditData.getServiceInstanceId();
113         this.status = commonAuditData.getStatus();
114         this.desc = commonAuditData.getDescription();
115         this.consumerId = distributionData.getConsumerId();
116         this.resourceUrl = distributionData.getResourceUrl();
117     }
118
119         @Override
120         public void fillFields() {
121                 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
122                 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
123                 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
124                 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
125                 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
126
127                 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID.getDisplayName(), getConsumerId());
128                 fields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL.getDisplayName(), getResourceUrl());
129                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
130                 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
131                 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
132         }
133
134     public String getConsumerId() {
135         return consumerId;
136     }
137
138     public void setConsumerId(String consumerId) {
139         this.consumerId = consumerId;
140     }
141
142     public String getResourceUrl() {
143         return resourceUrl;
144     }
145
146     public void setResourceUrl(String resourceUrl) {
147         this.resourceUrl = resourceUrl;
148     }
149
150     public UUID getTimebaseduuid() {
151         return timebaseduuid;
152     }
153
154     public void setTimebaseduuid(UUID timebaseduuid) {
155         this.timebaseduuid = timebaseduuid;
156     }
157
158     public Date getTimestamp1() {
159         return timestamp1;
160     }
161
162     public void setTimestamp1(Date timestamp1) {
163         this.timestamp1 = timestamp1;
164     }
165
166     public String getRequestId() {
167         return requestId;
168     }
169
170     public void setRequestId(String requestId) {
171         this.requestId = requestId;
172     }
173
174     public String getServiceInstanceId() {
175         return serviceInstanceId;
176     }
177
178     public void setServiceInstanceId(String serviceInstanceId) {
179         this.serviceInstanceId = serviceInstanceId;
180     }
181
182     public String getAction() {
183         return action;
184     }
185
186     public void setAction(String action) {
187         this.action = action;
188     }
189
190     public String getStatus() {
191         return status;
192     }
193
194     public void setStatus(String status) {
195         this.status = status;
196     }
197
198     public String getDesc() {
199         return desc;
200     }
201
202     public void setDesc(String desc) {
203         this.desc = desc;
204     }
205
206    @Override
207         public String toString() {
208                 return "DistributionDownloadEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1
209                                 + ", requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action
210                                 + ", status=" + status + ", desc=" + desc + ", consumerId=" + consumerId + ", resourceUrl="     + resourceUrl + "]";
211         }
212
213 }