Replaced all tabs with spaces in java and pom.xml
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / VnfResource.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.ArrayList;
25 import java.util.Date;
26 import java.util.List;
27 import javax.persistence.Column;
28 import javax.persistence.Entity;
29 import javax.persistence.FetchType;
30 import javax.persistence.Id;
31 import javax.persistence.JoinColumn;
32 import javax.persistence.ManyToOne;
33 import javax.persistence.OneToMany;
34 import javax.persistence.PrePersist;
35 import javax.persistence.Table;
36 import javax.persistence.Temporal;
37 import javax.persistence.TemporalType;
38 import org.apache.commons.lang3.builder.EqualsBuilder;
39 import org.apache.commons.lang3.builder.HashCodeBuilder;
40 import org.apache.commons.lang3.builder.ToStringBuilder;
41 import com.openpojo.business.annotation.BusinessKey;
42 import org.hibernate.annotations.NotFound;
43 import org.hibernate.annotations.NotFoundAction;
44 import uk.co.blackpepper.bowman.annotation.LinkedResource;
45
46 @Entity
47 @Table(name = "vnf_resource")
48 public class VnfResource implements Serializable {
49
50     private static final long serialVersionUID = 768026109321305392L;
51
52     @BusinessKey
53     @Id
54     @Column(name = "MODEL_UUID")
55     private String modelUUID;
56
57     @Column(name = "MODEL_INVARIANT_UUID")
58     private String modelInvariantUUID;
59
60     @Column(name = "MODEL_NAME")
61     private String modelName;
62
63     @Column(name = "MODEL_VERSION")
64     private String modelVersion;
65
66     @Column(name = "TOSCA_NODE_TYPE")
67     private String toscaNodeType;
68
69     @Column(name = "DESCRIPTION")
70     private String description;
71
72     @Column(name = "ORCHESTRATION_MODE")
73     private String orchestrationMode;
74
75     @Column(name = "AIC_VERSION_MIN")
76     private String aicVersionMin;
77
78     @Column(name = "AIC_VERSION_MAX")
79     private String aicVersionMax;
80
81     @Column(name = "RESOURCE_CATEGORY")
82     private String category;
83
84     @Column(name = "RESOURCE_SUB_CATEGORY")
85     private String subCategory;
86
87     @Column(name = "CREATION_TIMESTAMP", updatable = false)
88     @Temporal(TemporalType.TIMESTAMP)
89     private Date created;
90
91     @ManyToOne(fetch = FetchType.LAZY)
92     @NotFound(action = NotFoundAction.IGNORE)
93     @JoinColumn(name = "HEAT_TEMPLATE_ARTIFACT_UUID")
94     private HeatTemplate heatTemplates;
95
96     @OneToMany(fetch = FetchType.LAZY, mappedBy = "vnfResources")
97     private List<VnfResourceCustomization> vnfResourceCustomizations;
98
99     @OneToMany(fetch = FetchType.LAZY, mappedBy = "vnfResource")
100     private List<VnfResourceWorkflow> vnfResourceWorkflow;
101
102     @PrePersist
103     protected void onCreate() {
104         this.created = new Date();
105     }
106
107     @Override
108     public String toString() {
109         return new ToStringBuilder(this).append("modelUUID", modelUUID).append("modelInvariantUUID", modelInvariantUUID)
110                 .append("modelName", modelName).append("modelVersion", modelVersion)
111                 .append("toscaNodeType", toscaNodeType).append("description", description)
112                 .append("orchestrationMode", orchestrationMode).append("aicVersionMin", aicVersionMin)
113                 .append("aicVersionMax", aicVersionMax).append("created", created)
114                 .append("heatTemplates", heatTemplates).append("vnfResourceCustomizations", vnfResourceCustomizations)
115                 .append("vnfResourceWorkflow", vnfResourceWorkflow).toString();
116     }
117
118     @Override
119     public boolean equals(final Object other) {
120         if (!(other instanceof VnfResource)) {
121             return false;
122         }
123         VnfResource castOther = (VnfResource) other;
124         return new EqualsBuilder().append(modelUUID, castOther.modelUUID).isEquals();
125     }
126
127     @Override
128     public int hashCode() {
129         return new HashCodeBuilder().append(modelUUID).toHashCode();
130     }
131
132     public String getOrchestrationMode() {
133         return orchestrationMode;
134     }
135
136     public void setOrchestrationMode(String orchestrationMode) {
137         this.orchestrationMode = orchestrationMode;
138     }
139
140     public String getDescription() {
141         return description;
142     }
143
144     public void setDescription(String description) {
145         this.description = description;
146     }
147
148     public Date getCreated() {
149         return created;
150     }
151
152     public String getAicVersionMin() {
153         return this.aicVersionMin;
154     }
155
156     public void setAicVersionMin(String aicVersionMin) {
157         this.aicVersionMin = aicVersionMin;
158     }
159
160     public String getAicVersionMax() {
161         return this.aicVersionMax;
162     }
163
164     public void setAicVersionMax(String aicVersionMax) {
165         this.aicVersionMax = aicVersionMax;
166     }
167
168     /**
169      * @return Returns the category.
170      */
171     public String getCategory() {
172         return category;
173     }
174
175     /**
176      * @param category The category to set.
177      */
178     public void setCategory(String category) {
179         this.category = category;
180     }
181
182     /**
183      * @return Returns the subCategory.
184      */
185     public String getSubCategory() {
186         return subCategory;
187     }
188
189     /**
190      * @param subCategory The subCategory to set.
191      */
192     public void setSubCategory(String subCategory) {
193         this.subCategory = subCategory;
194     }
195
196     public String getModelInvariantUUID() {
197         return this.modelInvariantUUID;
198     }
199
200     public void setModelInvariantUUID(String modelInvariantUUID) {
201         this.modelInvariantUUID = modelInvariantUUID;
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 getModelUUID() {
213         return modelUUID;
214     }
215
216     public void setModelUUID(String modelUUID) {
217         this.modelUUID = modelUUID;
218     }
219
220     public String getModelInvariantId() {
221         return this.modelInvariantUUID;
222     }
223
224     public String getToscaNodeType() {
225         return toscaNodeType;
226     }
227
228     public void setToscaNodeType(String toscaNodeType) {
229         this.toscaNodeType = toscaNodeType;
230     }
231
232     @LinkedResource
233     public List<VnfResourceCustomization> getVnfResourceCustomizations() {
234         if (vnfResourceCustomizations == null)
235             vnfResourceCustomizations = new ArrayList<>();
236         return vnfResourceCustomizations;
237     }
238
239     public void setVnfResourceCustomizations(List<VnfResourceCustomization> vnfResourceCustomizations) {
240         this.vnfResourceCustomizations = vnfResourceCustomizations;
241     }
242
243     @LinkedResource
244     public HeatTemplate getHeatTemplates() {
245         return heatTemplates;
246     }
247
248     public void setHeatTemplates(HeatTemplate heatTemplates) {
249         this.heatTemplates = heatTemplates;
250     }
251
252     public String getModelVersion() {
253         return modelVersion;
254     }
255
256     public void setModelVersion(String modelVersion) {
257         this.modelVersion = modelVersion;
258     }
259
260     @LinkedResource
261     public List<VnfResourceWorkflow> getVnfResourceWorkflow() {
262         if (vnfResourceWorkflow == null)
263             vnfResourceWorkflow = new ArrayList<>();
264         return vnfResourceWorkflow;
265     }
266
267     public void setVnfResourceWorkflow(List<VnfResourceWorkflow> vnfResourceWorkflow) {
268         this.vnfResourceWorkflow = vnfResourceWorkflow;
269     }
270
271 }