0423a08fac110ae66a7765340d57af2838d8c69e
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / resources / data / auditing / DistributionDeployEvent.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 com.datastax.driver.core.utils.UUIDs;
24 import com.datastax.driver.mapping.annotations.ClusteringColumn;
25 import com.datastax.driver.mapping.annotations.Column;
26 import com.datastax.driver.mapping.annotations.PartitionKey;
27 import com.datastax.driver.mapping.annotations.Table;
28 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
29 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceCommonInfo;
30 import org.openecomp.sdc.common.datastructure.AuditingFieldsKey;
31
32 import java.text.SimpleDateFormat;
33 import java.util.Date;
34 import java.util.TimeZone;
35 import java.util.UUID;
36
37 @Table(keyspace = AuditingTypesConstants.AUDIT_KEYSPACE, name = AuditingTypesConstants.DISTRIBUTION_DEPLOY_EVENT_TYPE)
38 public class DistributionDeployEvent extends AuditingGenericEvent {
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
49     @Column(name = "service_instance_id")
50     protected String serviceInstanceId;
51     @Column
52     protected String action;
53     @Column
54     protected String status;
55
56     @Column(name = "description")
57     protected String desc;
58
59     @Column(name = "resource_name")
60     private String resourceName;
61
62     @Column(name = "resource_type")
63     private String resourceType;
64
65     @Column(name = "curr_version")
66     private String currVersion;
67
68     @Column
69     private String modifier;
70
71     @Column
72     private String did;
73
74     public DistributionDeployEvent() {
75         timestamp1 = new Date();
76         timebaseduuid = UUIDs.timeBased();
77     }
78
79     public DistributionDeployEvent(String action, CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo, String did, String modifier,
80                                    String currVersion) {
81         this();
82         this.action = action;
83         this.requestId = commonAuditData.getRequestId();
84         this.serviceInstanceId = commonAuditData.getServiceInstanceId();
85         this.status = commonAuditData.getStatus();
86         this.desc = commonAuditData.getDescription();
87         this.did = did;
88         this.modifier = modifier;
89         this.currVersion = currVersion;
90         this.resourceName = resourceCommonInfo.getResourceName();
91         this.resourceType = resourceCommonInfo.getResourceType();
92     }
93
94     public void setTimestamp1(String timestamp) {
95         this.timestamp1 = parseDateFromString(timestamp);
96     }
97
98     @Override
99     public void fillFields() {
100         fields.put(AuditingFieldsKey.AUDIT_REQUEST_ID.getDisplayName(), getRequestId());
101         fields.put(AuditingFieldsKey.AUDIT_SERVICE_INSTANCE_ID.getDisplayName(), getServiceInstanceId());
102         fields.put(AuditingFieldsKey.AUDIT_ACTION.getDisplayName(), getAction());
103         fields.put(AuditingFieldsKey.AUDIT_STATUS.getDisplayName(), getStatus());
104         fields.put(AuditingFieldsKey.AUDIT_DESC.getDisplayName(), getDesc());
105
106         fields.put(AuditingFieldsKey.AUDIT_DISTRIBUTION_ID.getDisplayName(), getDid());
107         fields.put(AuditingFieldsKey.AUDIT_MODIFIER_UID.getDisplayName(), getModifier());
108         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_CURR_VERSION.getDisplayName(), getCurrVersion());
109         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_NAME.getDisplayName(), getResourceName());
110         fields.put(AuditingFieldsKey.AUDIT_RESOURCE_TYPE.getDisplayName(), getResourceType());
111         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormatPattern);
112         simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
113         fields.put(AuditingFieldsKey.AUDIT_TIMESTAMP.getDisplayName(), simpleDateFormat.format(timestamp1));
114     }
115
116     public String getResourceName() {
117         return resourceName;
118     }
119
120     public void setResourceName(String resourceName) {
121         this.resourceName = resourceName;
122     }
123
124     public String getResourceType() {
125         return resourceType;
126     }
127
128     public void setResourceType(String resourceType) {
129         this.resourceType = resourceType;
130     }
131
132     public String getCurrVersion() {
133         return currVersion;
134     }
135
136     public void setCurrVersion(String currVersion) {
137         this.currVersion = currVersion;
138     }
139
140     public UUID getTimebaseduuid() {
141         return timebaseduuid;
142     }
143
144     public void setTimebaseduuid(UUID timebaseduuid) {
145         this.timebaseduuid = timebaseduuid;
146     }
147
148     public Date getTimestamp1() {
149         return timestamp1;
150     }
151
152     public void setTimestamp1(Date timestamp1) {
153         this.timestamp1 = timestamp1;
154     }
155
156     public String getRequestId() {
157         return requestId;
158     }
159
160     public void setRequestId(String requestId) {
161         this.requestId = requestId;
162     }
163
164     public String getServiceInstanceId() {
165         return serviceInstanceId;
166     }
167
168     public void setServiceInstanceId(String serviceInstanceId) {
169         this.serviceInstanceId = serviceInstanceId;
170     }
171
172     public String getAction() {
173         return action;
174     }
175
176     public void setAction(String action) {
177         this.action = action;
178     }
179
180     public String getStatus() {
181         return status;
182     }
183
184     public void setStatus(String status) {
185         this.status = status;
186     }
187
188     public String getDesc() {
189         return desc;
190     }
191
192     public void setDesc(String desc) {
193         this.desc = desc;
194     }
195
196     public String getModifier() {
197         return modifier;
198     }
199
200     public void setModifier(String modifier) {
201         this.modifier = modifier;
202     }
203
204     public String getDid() {
205         return did;
206     }
207
208     public void setDid(String did) {
209         this.did = did;
210     }
211
212     @Override
213     public String toString() {
214         return "DistributionDeployEvent [timebaseduuid=" + timebaseduuid + ", timestamp1=" + timestamp1 + ", requestId="
215                 + requestId + ", serviceInstanceId=" + serviceInstanceId + ", action=" + action + ", status=" + status
216                 + ", desc=" + desc + ", resourceName=" + resourceName + ", resourceType=" + resourceType
217                 + ", currVersion=" + currVersion + ", modifier=" + modifier + ", did=" + did + "]";
218     }
219
220 }