Corrected hibernate for cfvc customization table
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / CvnfcCustomization.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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.onap.so.db.catalog.beans;
22
23 import java.io.Serializable;
24 import java.util.Date;
25 import java.util.Set;
26
27 import javax.persistence.CascadeType;
28 import javax.persistence.Column;
29 import javax.persistence.Entity;
30 import javax.persistence.FetchType;
31 import javax.persistence.GeneratedValue;
32 import javax.persistence.GenerationType;
33 import javax.persistence.Id;
34 import javax.persistence.JoinColumn;
35 import javax.persistence.ManyToOne;
36 import javax.persistence.OneToMany;
37 import javax.persistence.PrePersist;
38 import javax.persistence.Table;
39 import javax.persistence.Temporal;
40 import javax.persistence.TemporalType;
41
42 import org.apache.commons.lang3.builder.EqualsBuilder;
43 import org.apache.commons.lang3.builder.HashCodeBuilder;
44 import org.apache.commons.lang3.builder.ToStringBuilder;
45
46 import com.fasterxml.jackson.annotation.JsonFormat;
47 import com.openpojo.business.annotation.BusinessKey;
48
49 import uk.co.blackpepper.bowman.annotation.LinkedResource;
50
51 @Entity
52 @Table(name = "cvnfc_customization")
53 public class CvnfcCustomization implements Serializable {
54
55         private static final long serialVersionUID = -3772469944364616486L;
56
57         @Id
58         @Column(name = "ID")
59         @GeneratedValue(strategy = GenerationType.IDENTITY)
60         private Integer id;
61         
62         @BusinessKey
63         @Column(name = "MODEL_CUSTOMIZATION_UUID")
64         private String modelCustomizationUUID;
65         
66         @Column(name = "MODEL_INSTANCE_NAME")
67         private String modelInstanceName;
68         
69         @Column(name = "MODEL_UUID")
70         private String modelUUID;
71         
72         @Column(name = "MODEL_INVARIANT_UUID")
73         private String modelInvariantUUID;      
74         
75         @Column(name = "MODEL_VERSION")
76         private String modelVersion;
77         
78         @Column(name = "MODEL_NAME")
79         private String modelName;
80         
81         @Column(name = "TOSCA_NODE_TYPE")
82         private String toscaNodeType;
83         
84         @Column(name = "DESCRIPTION")
85         private String description;
86         
87         @Column(name = "NFC_FUNCTION")
88         private String nfcFunction;
89         
90         @Column(name = "NFC_NAMING_CODE")
91         private String nfcNamingCode;
92         
93         @Column(name = "CREATION_TIMESTAMP", updatable = false)
94         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
95         @Temporal(TemporalType.TIMESTAMP)
96         private Date created;
97         
98         @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
99         @JoinColumn(name = "VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID")
100         private VfModuleCustomization vfModuleCustomization;    
101         
102         @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
103         @JoinColumn(name = "VNFC_CUST_MODEL_CUSTOMIZATION_UUID")
104         private VnfcCustomization vnfcCustomization;
105         
106         @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
107         @JoinColumn(name = "VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID")
108         private VnfResourceCustomization vnfResourceCustomization;
109         
110         @OneToMany(cascade = CascadeType.ALL, mappedBy = "cvnfcCustomization")
111         private Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomization;
112
113         @Override
114         public boolean equals(final Object other) {
115                 if (!(other instanceof CvnfcCustomization)) {
116                         return false;
117                 }
118                 CvnfcCustomization castOther = (CvnfcCustomization) other;
119                 return new EqualsBuilder().append(modelCustomizationUUID, castOther.modelCustomizationUUID).isEquals();
120         }
121
122         @Override
123         public int hashCode() {
124                 return new HashCodeBuilder().append(modelCustomizationUUID).append(vfModuleCustomization).append(vnfcCustomization).append(vnfResourceCustomization).toHashCode();
125         }
126
127         @Override
128         public String toString() {
129                 return new ToStringBuilder(this).append("id", id).append("modelCustomizationUUID", modelCustomizationUUID)
130                                 .append("modelInstanceName", modelInstanceName).append("modelUUID", modelUUID)
131                                 .append("modelInvariantUUID", modelInvariantUUID).append("modelVersion", modelVersion)
132                                 .append("modelName", modelName).append("toscaNodeType", toscaNodeType)
133                                 .append("description", description).append("nfcFunction", nfcFunction)
134                                 .append("nfcNamingCode", nfcNamingCode).append("created", created)
135                                 .append("vfModuleCustomization", vfModuleCustomization).append("vnfcCustomization", vnfcCustomization)
136                                 .append("vnfResourceCustomization", vnfResourceCustomization)
137                                 .append("vnfVfmoduleCvnfcConfigurationCustomization", vnfVfmoduleCvnfcConfigurationCustomization)
138                                 .toString();
139         }
140
141         @PrePersist
142         protected void onCreate() {
143                 this.created = new Date();
144         }
145         
146         @LinkedResource
147         public Set<VnfVfmoduleCvnfcConfigurationCustomization> getVnfVfmoduleCvnfcConfigurationCustomization() {
148                 return vnfVfmoduleCvnfcConfigurationCustomization;
149         }
150
151         public void setVnfVfmoduleCvnfcConfigurationCustomization(
152                         Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomization) {
153                 this.vnfVfmoduleCvnfcConfigurationCustomization = vnfVfmoduleCvnfcConfigurationCustomization;
154         }
155         
156         public Integer getId() {
157                 return id;
158         }
159
160         public void setId(Integer id) {
161                 this.id = id;
162         }
163
164         public String getModelCustomizationUUID() {
165                 return modelCustomizationUUID;
166         }
167
168         public void setModelCustomizationUUID(String modelCustomizationUUID) {
169                 this.modelCustomizationUUID = modelCustomizationUUID;
170         }
171
172         public String getModelInstanceName() {
173                 return modelInstanceName;
174         }
175
176         public void setModelInstanceName(String modelInstanceName) {
177                 this.modelInstanceName = modelInstanceName;
178         }
179
180         public String getModelUUID() {
181                 return modelUUID;
182         }
183
184         public void setModelUUID(String modelUUID) {
185                 this.modelUUID = modelUUID;
186         }
187
188         public String getModelInvariantUUID() {
189                 return modelInvariantUUID;
190         }
191
192         public void setModelInvariantUUID(String modelInvariantUUID) {
193                 this.modelInvariantUUID = modelInvariantUUID;
194         }
195
196         public String getModelVersion() {
197                 return modelVersion;
198         }
199
200         public void setModelVersion(String modelVersion) {
201                 this.modelVersion = modelVersion;
202         }
203
204         public String getModelName() {
205                 return modelName;
206         }
207
208         public void setModelName(String modelName) {
209                 this.modelName = modelName;
210         }
211
212         public String getToscaNodeType() {
213                 return toscaNodeType;
214         }
215
216         public void setToscaNodeType(String toscaNodeType) {
217                 this.toscaNodeType = toscaNodeType;
218         }
219
220         public String getDescription() {
221                 return description;
222         }
223
224         public void setDescription(String description) {
225                 this.description = description;
226         }
227
228         public String getNfcFunction() {
229                 return nfcFunction;
230         }
231
232         public void setNfcFunction(String nfcFunction) {
233                 this.nfcFunction = nfcFunction;
234         }
235
236         public String getNfcNamingCode() {
237                 return nfcNamingCode;
238         }
239
240         public void setNfcNamingCode(String nfcNamingCode) {
241                 this.nfcNamingCode = nfcNamingCode;
242         }
243
244         public Date getCreated() {
245                 return created;
246         }
247
248         public void setCreated(Date created) {
249                 this.created = created;
250         }
251
252         @LinkedResource
253         public VfModuleCustomization getVfModuleCustomization() {
254                 return vfModuleCustomization;
255         }
256
257         public void setVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
258                 this.vfModuleCustomization = vfModuleCustomization;
259         }
260
261         @LinkedResource
262         public VnfcCustomization getVnfcCustomization() {
263                 return vnfcCustomization;
264         }
265
266         public void setVnfcCustomization(VnfcCustomization vnfcCustomization) {
267                 this.vnfcCustomization = vnfcCustomization;
268         }
269
270         @LinkedResource
271         public VnfResourceCustomization getVnfResourceCustomization() {
272                 return vnfResourceCustomization;
273         }
274
275         public void setVnfResourceCustomization(VnfResourceCustomization vnfResourceCustomization) {
276                 this.vnfResourceCustomization = vnfResourceCustomization;
277         }
278 }