2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.db.catalog.beans;
23 import java.io.Serializable;
24 import java.util.ArrayList;
25 import java.util.Date;
26 import java.util.List;
28 import javax.persistence.Column;
29 import javax.persistence.Entity;
30 import javax.persistence.FetchType;
31 import javax.persistence.Id;
32 import javax.persistence.JoinColumn;
33 import javax.persistence.ManyToOne;
34 import javax.persistence.OneToMany;
35 import javax.persistence.PrePersist;
36 import javax.persistence.Table;
37 import javax.persistence.Temporal;
38 import javax.persistence.TemporalType;
40 import org.apache.commons.lang3.builder.EqualsBuilder;
41 import org.apache.commons.lang3.builder.HashCodeBuilder;
42 import org.apache.commons.lang3.builder.ToStringBuilder;
44 import com.openpojo.business.annotation.BusinessKey;
46 import org.hibernate.annotations.NotFound;
47 import org.hibernate.annotations.NotFoundAction;
48 import uk.co.blackpepper.bowman.annotation.LinkedResource;
51 @Table(name = "vnf_resource")
52 public class VnfResource implements Serializable {
54 private static final long serialVersionUID = 768026109321305392L;
58 @Column(name = "MODEL_UUID")
59 private String modelUUID;
61 @Column(name = "MODEL_INVARIANT_UUID")
62 private String modelInvariantUUID;
64 @Column(name = "MODEL_NAME")
65 private String modelName;
67 @Column(name = "MODEL_VERSION")
68 private String modelVersion;
70 @Column(name = "TOSCA_NODE_TYPE")
71 private String toscaNodeType;
73 @Column(name = "DESCRIPTION")
74 private String description;
76 @Column(name = "ORCHESTRATION_MODE")
77 private String orchestrationMode;
79 @Column(name = "AIC_VERSION_MIN")
80 private String aicVersionMin;
82 @Column(name = "AIC_VERSION_MAX")
83 private String aicVersionMax;
85 @Column(name = "RESOURCE_CATEGORY")
86 private String category;
88 @Column(name = "RESOURCE_SUB_CATEGORY")
89 private String subCategory;
91 @Column(name = "CREATION_TIMESTAMP", updatable = false)
92 @Temporal(TemporalType.TIMESTAMP)
95 @ManyToOne(fetch = FetchType.LAZY)
96 @NotFound(action = NotFoundAction.IGNORE)
97 @JoinColumn(name = "HEAT_TEMPLATE_ARTIFACT_UUID")
98 private HeatTemplate heatTemplates;
100 @OneToMany(fetch = FetchType.LAZY, mappedBy = "vnfResources")
101 private List<VnfResourceCustomization> vnfResourceCustomizations;
103 @OneToMany(fetch = FetchType.LAZY, mappedBy = "vnfResource")
104 private List<VnfResourceWorkflow> vnfResourceWorkflow;
107 protected void onCreate() {
108 this.created = new Date();
112 public String toString() {
113 return new ToStringBuilder(this).append("modelUUID", modelUUID).append("modelInvariantUUID", modelInvariantUUID)
114 .append("modelName", modelName).append("modelVersion", modelVersion)
115 .append("toscaNodeType", toscaNodeType).append("description", description)
116 .append("orchestrationMode", orchestrationMode).append("aicVersionMin", aicVersionMin)
117 .append("aicVersionMax", aicVersionMax).append("created", created)
118 .append("heatTemplates", heatTemplates).append("vnfResourceCustomizations", vnfResourceCustomizations)
119 .append("vnfResourceWorkflow",vnfResourceWorkflow)
124 public boolean equals(final Object other) {
125 if (!(other instanceof VnfResource)) {
128 VnfResource castOther = (VnfResource) other;
129 return new EqualsBuilder().append(modelUUID, castOther.modelUUID).isEquals();
133 public int hashCode() {
134 return new HashCodeBuilder().append(modelUUID).toHashCode();
137 public String getOrchestrationMode() {
138 return orchestrationMode;
141 public void setOrchestrationMode(String orchestrationMode) {
142 this.orchestrationMode = orchestrationMode;
145 public String getDescription() {
149 public void setDescription(String description) {
150 this.description = description;
153 public Date getCreated() {
157 public String getAicVersionMin() {
158 return this.aicVersionMin;
161 public void setAicVersionMin(String aicVersionMin) {
162 this.aicVersionMin = aicVersionMin;
165 public String getAicVersionMax() {
166 return this.aicVersionMax;
169 public void setAicVersionMax(String aicVersionMax) {
170 this.aicVersionMax = aicVersionMax;
174 * @return Returns the category.
176 public String getCategory() {
182 * The category to set.
184 public void setCategory(String category) {
185 this.category = category;
189 * @return Returns the subCategory.
191 public String getSubCategory() {
197 * The subCategory to set.
199 public void setSubCategory(String subCategory) {
200 this.subCategory = subCategory;
203 public String getModelInvariantUUID() {
204 return this.modelInvariantUUID;
207 public void setModelInvariantUUID(String modelInvariantUUID) {
208 this.modelInvariantUUID = modelInvariantUUID;
211 public String getModelName() {
215 public void setModelName(String modelName) {
216 this.modelName = modelName;
219 public String getModelUUID() {
223 public void setModelUUID(String modelUUID) {
224 this.modelUUID = modelUUID;
227 public String getModelInvariantId() {
228 return this.modelInvariantUUID;
231 public String getToscaNodeType() {
232 return toscaNodeType;
235 public void setToscaNodeType(String toscaNodeType) {
236 this.toscaNodeType = toscaNodeType;
240 public List<VnfResourceCustomization> getVnfResourceCustomizations() {
241 if (vnfResourceCustomizations == null)
242 vnfResourceCustomizations = new ArrayList<>();
243 return vnfResourceCustomizations;
246 public void setVnfResourceCustomizations(List<VnfResourceCustomization> vnfResourceCustomizations) {
247 this.vnfResourceCustomizations = vnfResourceCustomizations;
251 public HeatTemplate getHeatTemplates() {
252 return heatTemplates;
255 public void setHeatTemplates(HeatTemplate heatTemplates) {
256 this.heatTemplates = heatTemplates;
259 public String getModelVersion() {
263 public void setModelVersion(String modelVersion) {
264 this.modelVersion = modelVersion;
268 public List<VnfResourceWorkflow> getVnfResourceWorkflow() {
269 if (vnfResourceWorkflow == null)
270 vnfResourceWorkflow = new ArrayList<>();
271 return vnfResourceWorkflow;
274 public void setVnfResourceWorkflow(List<VnfResourceWorkflow> vnfResourceWorkflow) {
275 this.vnfResourceWorkflow = vnfResourceWorkflow;