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