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