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 uk.co.blackpepper.bowman.annotation.LinkedResource;
49 @Table(name = "vnf_resource")
50 public class VnfResource implements Serializable {
52 private static final long serialVersionUID = 768026109321305392L;
56 @Column(name = "MODEL_UUID")
57 private String modelUUID;
59 @Column(name = "MODEL_INVARIANT_UUID")
60 private String modelInvariantUUID;
62 @Column(name = "MODEL_NAME")
63 private String modelName;
65 @Column(name = "MODEL_VERSION")
66 private String modelVersion;
68 @Column(name = "TOSCA_NODE_TYPE")
69 private String toscaNodeType;
71 @Column(name = "DESCRIPTION")
72 private String description;
74 @Column(name = "ORCHESTRATION_MODE")
75 private String orchestrationMode;
77 @Column(name = "AIC_VERSION_MIN")
78 private String aicVersionMin;
80 @Column(name = "AIC_VERSION_MAX")
81 private String aicVersionMax;
83 @Column(name = "RESOURCE_CATEGORY")
84 private String category;
86 @Column(name = "RESOURCE_SUB_CATEGORY")
87 private String subCategory;
89 @Column(name = "CREATION_TIMESTAMP", updatable = false)
90 @Temporal(TemporalType.TIMESTAMP)
93 @ManyToOne(fetch = FetchType.LAZY)
94 @JoinColumn(name = "HEAT_TEMPLATE_ARTIFACT_UUID")
95 private HeatTemplate heatTemplates;
97 @OneToMany(fetch = FetchType.LAZY, mappedBy = "vnfResources")
98 private List<VnfResourceCustomization> vnfResourceCustomizations;
101 protected void onCreate() {
102 this.created = new Date();
106 public String toString() {
107 return new ToStringBuilder(this).append("modelUUID", modelUUID).append("modelInvariantUUID", modelInvariantUUID)
108 .append("modelName", modelName).append("modelVersion", modelVersion)
109 .append("toscaNodeType", toscaNodeType).append("description", description)
110 .append("orchestrationMode", orchestrationMode).append("aicVersionMin", aicVersionMin)
111 .append("aicVersionMax", aicVersionMax).append("created", created)
112 .append("heatTemplates", heatTemplates).append("vnfResourceCustomizations", vnfResourceCustomizations)
117 public boolean equals(final Object other) {
118 if (!(other instanceof VnfResource)) {
121 VnfResource castOther = (VnfResource) other;
122 return new EqualsBuilder().append(modelUUID, castOther.modelUUID).isEquals();
126 public int hashCode() {
127 return new HashCodeBuilder().append(modelUUID).toHashCode();
130 public String getOrchestrationMode() {
131 return orchestrationMode;
134 public void setOrchestrationMode(String orchestrationMode) {
135 this.orchestrationMode = orchestrationMode;
138 public String getDescription() {
142 public void setDescription(String description) {
143 this.description = description;
146 public Date getCreated() {
150 public String getAicVersionMin() {
151 return this.aicVersionMin;
154 public void setAicVersionMin(String aicVersionMin) {
155 this.aicVersionMin = aicVersionMin;
158 public String getAicVersionMax() {
159 return this.aicVersionMax;
162 public void setAicVersionMax(String aicVersionMax) {
163 this.aicVersionMax = aicVersionMax;
167 * @return Returns the category.
169 public String getCategory() {
175 * The category to set.
177 public void setCategory(String category) {
178 this.category = category;
182 * @return Returns the subCategory.
184 public String getSubCategory() {
190 * The subCategory to set.
192 public void setSubCategory(String subCategory) {
193 this.subCategory = subCategory;
196 public String getModelInvariantUUID() {
197 return this.modelInvariantUUID;
200 public void setModelInvariantUUID(String modelInvariantUUID) {
201 this.modelInvariantUUID = modelInvariantUUID;
204 public String getModelName() {
208 public void setModelName(String modelName) {
209 this.modelName = modelName;
212 public String getModelUUID() {
216 public void setModelUUID(String modelUUID) {
217 this.modelUUID = modelUUID;
220 public String getModelInvariantId() {
221 return this.modelInvariantUUID;
224 public String getToscaNodeType() {
225 return toscaNodeType;
228 public void setToscaNodeType(String toscaNodeType) {
229 this.toscaNodeType = toscaNodeType;
233 public List<VnfResourceCustomization> getVnfResourceCustomizations() {
234 if (vnfResourceCustomizations == null)
235 vnfResourceCustomizations = new ArrayList<>();
236 return vnfResourceCustomizations;
239 public void setVnfResourceCustomizations(List<VnfResourceCustomization> vnfResourceCustomizations) {
240 this.vnfResourceCustomizations = vnfResourceCustomizations;
244 public HeatTemplate getHeatTemplates() {
245 return heatTemplates;
248 public void setHeatTemplates(HeatTemplate heatTemplates) {
249 this.heatTemplates = heatTemplates;
252 public String getModelVersion() {
256 public void setModelVersion(String modelVersion) {
257 this.modelVersion = modelVersion;