[SDC-29] catalog 1707 rebase commit.
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / UserAdminEvent.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.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.USER_ADMIN_EVENT_TYPE)
38 public class UserAdminEvent extends AuditingGenericEvent {
39
40         private static String USER_ADMIN_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" modifierName=\"%s\" modifierUid=\"%s\" "
41                         + "userUid=\"%s\" userName=\"%s\" userEmail=\"%s\" userRole=\"%s\" "
42                         + "userBeforeUid=\"%s\" userBeforeName=\"%s\" userBeforeEmail=\"%s\" userBeforeRole=\"%s\" "
43                         + "userAfterUid=\"%s\" userAfterName=\"%s\" userAfterEmail=\"%s\" userAfterRole=\"%s\" "
44                         + "status=\"%s\" desc=\"%s\"";
45
46         @PartitionKey
47         protected UUID timebaseduuid;
48
49         @ClusteringColumn
50         protected Date timestamp1;
51
52         @Column(name = "REQUEST_ID")
53         protected String requestId;
54
55         @Column(name = "SERVICE_INSTANCE_ID")
56         protected String serviceInstanceId;
57
58         @Column(name = "ACTION")
59         protected String action;
60         @Column
61         protected String status;
62
63         @Column(name = "description")
64         protected String desc;
65
66         @Column
67         private String modifier;
68
69         @Column(name = "user_before")
70         private String userBefore;
71
72         @Column(name = "user_after")
73         private String userAfter;
74
75         public UserAdminEvent() {
76                 super();
77                 timestamp1 = new Date();
78                 timebaseduuid = UUIDs.timeBased();
79
80         }
81
82         public UserAdminEvent(EnumMap<AuditingFieldsKeysEnum, Object> auditingFields) {
83                 this();
84                 Object value;
85                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
86                 if (value != null) {
87                         setRequestId((String) value);
88                 }
89                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
90                 if (value != null) {
91                         setStatus((String) value);
92                 }
93                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
94                 if (value != null) {
95                         setModifier((String) value);
96                 }
97                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
98                 if (value != null) {
99                         setAction((String) value);
100                 }
101                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID);
102                 if (value != null) {
103                         setServiceInstanceId((String) value);
104                 }
105                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
106                 if (value != null) {
107                         setDesc((String) value);
108                 }
109                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_USER_BEFORE);
110                 if (value != null) {
111                         setUserBefore((String) value);
112                 }
113                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_USER_AFTER);
114                 if (value != null) {
115                         setUserAfter((String) value);
116                 }
117
118         }
119
120         @Override
121         public void fillFields() {
122                 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
123
124                 fields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
125                 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
126                 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
127                 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
128                 fields.put(AuditingFieldsKeysEnum.AUDIT_USER_BEFORE.getDisplayName(), getUserBefore());
129                 fields.put(AuditingFieldsKeysEnum.AUDIT_USER_AFTER.getDisplayName(), getUserAfter());
130                 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
131                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
132                 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
133                 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
134         }
135
136         public String getModifier() {
137                 return modifier;
138         }
139
140         public void setModifier(String modifier) {
141                 this.modifier = modifier;
142         }
143
144         public String getUserBefore() {
145                 return userBefore;
146         }
147
148         public void setUserBefore(String userBeforeName) {
149                 this.userBefore = userBeforeName;
150         }
151
152         public String getUserAfter() {
153                 return userAfter;
154         }
155
156         public void setUserAfter(String userAfterName) {
157                 this.userAfter = userAfterName;
158         }
159
160         public String getRequestId() {
161                 return requestId;
162         }
163
164         public void setRequestId(String requestId) {
165                 this.requestId = requestId;
166         }
167
168         public String getServiceInstanceId() {
169                 return serviceInstanceId;
170         }
171
172         public void setServiceInstanceId(String serviceInstanceId) {
173                 this.serviceInstanceId = serviceInstanceId;
174         }
175
176         public String getAction() {
177                 return action;
178         }
179
180         public void setAction(String action) {
181                 this.action = action;
182         }
183
184         public String getStatus() {
185                 return status;
186         }
187
188         public void setStatus(String status) {
189                 this.status = status;
190         }
191
192         public String getDesc() {
193                 return desc;
194         }
195
196         public void setDesc(String desc) {
197                 this.desc = desc;
198         }
199
200         public UUID getTimebaseduuid() {
201                 return timebaseduuid;
202         }
203
204         public void setTimebaseduuid(UUID timebaseduuid) {
205                 this.timebaseduuid = timebaseduuid;
206         }
207
208         public Date getTimestamp1() {
209                 return timestamp1;
210         }
211
212         public void setTimestamp1(Date timestamp) {
213                 this.timestamp1 = timestamp;
214         }
215
216         @Override
217         public String toString() {
218                 return "UserAdminEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", requestId="
219                                 + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action + ", status=" + status
220                                 + ", desc=" + desc + ", modifierUid=" + modifier + ", userBefore=" + userBefore + ", userAfter="
221                                 + userAfter + "]";
222         }
223
224 }