Sync Integ to Master
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / CategoryEvent.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.common.datastructure.AuditingFieldsKeysEnum;
28
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;
34
35 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.CATEGORY_EVENT_TYPE)
36 public class CategoryEvent extends AuditingGenericEvent {
37         @PartitionKey
38         protected UUID timebaseduuid;
39
40         @ClusteringColumn
41         protected Date timestamp1;
42
43         @Column
44         String action;
45         @Column
46         String status;
47         @Column(name = "description")
48         String desc;
49
50         @Column(name = "category_name")
51         String categoryName;
52
53         @Column(name = "sub_category_name")
54         String subCategoryName;
55
56         @Column(name = "grouping_name")
57         String groupingName;
58
59         @Column
60         String modifier;
61
62         @Column(name = "service_instance_id")
63         String serviceInstanceId;
64
65         @Column(name = "resource_type")
66         String resourceType;
67
68         @Column(name = "request_id")
69         String requestId;
70
71         public CategoryEvent() {
72                 super();
73                 timestamp1 = new Date();
74                 timebaseduuid = UUIDs.timeBased();
75         }
76
77         public CategoryEvent(Map<AuditingFieldsKeysEnum, Object> auditingFields) {
78                 this();
79                 Object value;
80                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
81                 if (value != null) {
82                         setAction((String) value);
83                 }
84                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
85                 if (value != null) {
86                         setStatus((String) value);
87                 }
88                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
89                 if (value != null) {
90                         setDesc((String) value);
91                 }
92                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_CATEGORY_NAME);
93                 if (value != null) {
94                         setCategoryName((String) value);
95                 }
96                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SUB_CATEGORY_NAME);
97                 if (value != null) {
98                         setSubCategoryName((String) value);
99                 }
100                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_GROUPING_NAME);
101                 if (value != null) {
102                         setGroupingName((String) value);
103                 }
104                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
105                 if (value != null) {
106                         setModifier((String) value);
107                 }
108                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
109                 if (value != null) {
110                         setRequestId((String) value);
111                 }
112                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE);
113                 if (value != null) {
114                         setResourceType((String) value);
115                 }
116                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
117                 if (value != null) {
118                         setServiceInstanceId((String) value);
119                 }
120
121         }
122
123         public CategoryEvent(String action, CommonAuditData commonAuditData, String modifier, String categoryName, String subCategoryName,
124                          String groupingName, String resourceType) {
125                 this();
126                 this.action = action;
127                 this.requestId = commonAuditData.getRequestId();
128                 this.status = commonAuditData.getStatus();
129                 this.desc = commonAuditData.getDescription();
130                 this.serviceInstanceId = commonAuditData.getServiceInstanceId();
131                 this.resourceType = resourceType;
132                 this.modifier = modifier;
133                 this.categoryName = categoryName;
134                 this.subCategoryName = subCategoryName;
135                 this.groupingName = groupingName;
136         }
137
138         @Override
139         public void fillFields() {
140
141                 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
142                 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
143                 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
144                 fields.put(AuditingFieldsKeysEnum.AUDIT_CATEGORY_NAME.getDisplayName(), getCategoryName());
145                 fields.put(AuditingFieldsKeysEnum.AUDIT_SUB_CATEGORY_NAME.getDisplayName(), getSubCategoryName());
146                 fields.put(AuditingFieldsKeysEnum.AUDIT_GROUPING_NAME.getDisplayName(), getGroupingName());
147                 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
148                 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
149                 fields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
150                 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
151                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
152                 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
153                 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
154
155         }
156
157         public UUID getTimebaseduuid() {
158                 return timebaseduuid;
159         }
160
161         public void setTimebaseduuid(UUID timebaseduuid) {
162                 this.timebaseduuid = timebaseduuid;
163         }
164
165         public String getAction() {
166                 return action;
167         }
168
169         public void setAction(String action) {
170                 this.action = action;
171         }
172
173         public String getStatus() {
174                 return status;
175         }
176
177         public void setStatus(String status) {
178                 this.status = status;
179         }
180
181         public String getDesc() {
182                 return desc;
183         }
184
185         public void setDesc(String desc) {
186                 this.desc = desc;
187         }
188
189         public String getCategoryName() {
190                 return categoryName;
191         }
192
193         public void setCategoryName(String categoryName) {
194                 this.categoryName = categoryName;
195         }
196
197         public String getSubCategoryName() {
198                 return subCategoryName;
199         }
200
201         public void setSubCategoryName(String subCategoryName) {
202                 this.subCategoryName = subCategoryName;
203         }
204
205         public String getGroupingName() {
206                 return groupingName;
207         }
208
209         public void setGroupingName(String groupingName) {
210                 this.groupingName = groupingName;
211         }
212
213         public Date getTimestamp1() {
214                 return timestamp1;
215         }
216
217         public void setTimestamp1(Date timestamp1) {
218                 this.timestamp1 = timestamp1;
219         }
220
221         public String getModifier() {
222                 return modifier;
223         }
224
225         public void setModifier(String modifier) {
226                 this.modifier = modifier;
227         }
228
229         public String getServiceInstanceId() {
230                 return serviceInstanceId;
231         }
232
233         public void setServiceInstanceId(String serviceInstanceId) {
234                 this.serviceInstanceId = serviceInstanceId;
235         }
236
237         public String getResourceType() {
238                 return resourceType;
239         }
240
241         public void setResourceType(String resourceType) {
242                 this.resourceType = resourceType;
243         }
244
245         public String getRequestId() {
246                 return requestId;
247         }
248
249         public void setRequestId(String requestId) {
250                 this.requestId = requestId;
251         }
252
253 }