Initial OpenECOMP SDC commit
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / ConsumerEvent.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.CONSUMER_EVENT_TYPE)
38 public class ConsumerEvent extends AuditingGenericEvent {
39         private static String CONSUMER_EVENT_TEMPLATE = "action=\"%s\" timestamp=\"%s\" "
40                         + "modifier=\"%s\" ecompUser=\"%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         @Column
51         protected String action;
52         @Column
53         protected String status;
54
55         @Column(name = "description")
56         protected String desc;
57
58         @Column
59         private String modifier;
60
61         @Column(name = "ecomp_user")
62         private String ecompUser;
63
64         public ConsumerEvent() {
65                 super();
66                 timestamp1 = new Date();
67                 timebaseduuid = UUIDs.timeBased();
68         }
69
70         public ConsumerEvent(EnumMap<AuditingFieldsKeysEnum, Object> auditingFields) {
71                 this();
72                 Object value;
73                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID);
74                 if (value != null) {
75                         setRequestId((String) value);
76                 }
77                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ACTION);
78                 if (value != null) {
79                         setAction((String) value);
80                 }
81                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_STATUS);
82                 if (value != null) {
83                         setStatus((String) value);
84                 }
85                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_DESC);
86                 if (value != null) {
87                         setDesc((String) value);
88                 }
89                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID);
90                 if (value != null) {
91                         setModifier((String) value);
92                 }
93                 value = auditingFields.get(AuditingFieldsKeysEnum.AUDIT_ECOMP_USER);
94                 if (value != null) {
95                         setEcompUser((String) value);
96                 }
97         }
98
99         @Override
100         public void fillFields() {
101                 fields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
102
103                 fields.put(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName(), getAction());
104                 fields.put(AuditingFieldsKeysEnum.AUDIT_STATUS.getDisplayName(), getStatus());
105                 fields.put(AuditingFieldsKeysEnum.AUDIT_DESC.getDisplayName(), getDesc());
106                 fields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
107                 fields.put(AuditingFieldsKeysEnum.AUDIT_ECOMP_USER.getDisplayName(), getEcompUser());
108                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
109                 simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
110                 fields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
111         }
112
113         public String getModifier() {
114                 return modifier;
115         }
116
117         public void setModifier(String modifier) {
118                 this.modifier = modifier;
119         }
120
121         public String getEcompUser() {
122                 return ecompUser;
123         }
124
125         public void setEcompUser(String ecompUser) {
126                 this.ecompUser = ecompUser;
127         }
128
129         public UUID getTimebaseduuid() {
130                 return timebaseduuid;
131         }
132
133         public void setTimebaseduuid(UUID timebaseduuid) {
134                 this.timebaseduuid = timebaseduuid;
135         }
136
137         public Date getTimestamp1() {
138                 return timestamp1;
139         }
140
141         public void setTimestamp1(Date timestamp1) {
142                 this.timestamp1 = timestamp1;
143         }
144
145         public String getRequestId() {
146                 return requestId;
147         }
148
149         public void setRequestId(String requestId) {
150                 this.requestId = requestId;
151         }
152
153         public String getAction() {
154                 return action;
155         }
156
157         public void setAction(String action) {
158                 this.action = action;
159         }
160
161         public String getStatus() {
162                 return status;
163         }
164
165         public void setStatus(String status) {
166                 this.status = status;
167         }
168
169         public String getDesc() {
170                 return desc;
171         }
172
173         public void setDesc(String desc) {
174                 this.desc = desc;
175         }
176
177         @Override
178         public String toString() {
179                 return "ConsumerEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", requestId="
180                                 + requestId + ", action=" + action + ", status=" + status + ", desc=" + desc + ", modifier=" + modifier
181                                 + ", ecompUser=" + ecompUser + "]";
182         }
183
184 }