[SO] Release so 1.13.0 image
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / CvnfcConfigurationCustomization.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 javax.persistence.CascadeType;
26 import javax.persistence.Column;
27 import javax.persistence.Entity;
28 import javax.persistence.FetchType;
29 import javax.persistence.GeneratedValue;
30 import javax.persistence.GenerationType;
31 import javax.persistence.Id;
32 import javax.persistence.JoinColumn;
33 import javax.persistence.ManyToOne;
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.fasterxml.jackson.annotation.JsonFormat;
42 import com.openpojo.business.annotation.BusinessKey;
43 import uk.co.blackpepper.bowman.annotation.LinkedResource;
44 import uk.co.blackpepper.bowman.annotation.RemoteResource;
45
46 @Entity
47 @RemoteResource("/cvnfcConfigurationCustomization")
48 @Table(name = "cvnfc_configuration_customization")
49 public class CvnfcConfigurationCustomization implements Serializable {
50
51     private static final long serialVersionUID = -3153216266280581103L;
52
53     @Id
54     @BusinessKey
55     @Column(name = "ID")
56     @GeneratedValue(strategy = GenerationType.IDENTITY)
57     private Integer id;
58
59     @Column(name = "MODEL_CUSTOMIZATION_UUID")
60     private String modelCustomizationUUID;
61
62     @Column(name = "MODEL_INSTANCE_NAME")
63     private String modelInstanceName;
64
65     @Column(name = "CONFIGURATION_TYPE")
66     private String configurationType;
67
68     @Column(name = "CONFIGURATION_ROLE")
69     private String configurationRole;
70
71     @Column(name = "CONFIGURATION_FUNCTION")
72     private String configurationFunction;
73
74     @Column(name = "POLICY_NAME")
75     private String policyName;
76
77     @Column(name = "CREATION_TIMESTAMP", updatable = false)
78     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
79     @Temporal(TemporalType.TIMESTAMP)
80     private Date created;
81
82     @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
83     @JoinColumn(name = "CONFIGURATION_MODEL_UUID")
84     private ConfigurationResource configurationResource;
85
86     @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
87     @JoinColumn(name = "CVNFC_CUSTOMIZATION_ID")
88     private CvnfcCustomization cvnfcCustomization;
89
90
91     @Override
92     public boolean equals(final Object other) {
93         if (!(other instanceof CvnfcConfigurationCustomization)) {
94             return false;
95         }
96         CvnfcConfigurationCustomization castOther = (CvnfcConfigurationCustomization) other;
97         return new EqualsBuilder().append(id, castOther.id).isEquals();
98     }
99
100
101
102     @Override
103     public int hashCode() {
104         return new HashCodeBuilder().append(id).toHashCode();
105     }
106
107
108
109     @Override
110     public String toString() {
111         return new ToStringBuilder(this).append("id", id).append("modelCustomizationUUID", modelCustomizationUUID)
112                 .append("modelInstanceName", modelInstanceName).append("configurationType", configurationType)
113                 .append("configurationRole", configurationRole).append("configurationFunction", configurationFunction)
114                 .append("policyName", policyName).append("created", created)
115                 .append("configurationResource", configurationResource).append("cvnfcCustomization", cvnfcCustomization)
116                 .toString();
117     }
118
119
120
121     @PrePersist
122     protected void onCreate() {
123         this.created = new Date();
124     }
125
126     public Integer getId() {
127         return id;
128     }
129
130     public void setId(Integer id) {
131         this.id = id;
132     }
133
134     public String getModelCustomizationUUID() {
135         return modelCustomizationUUID;
136     }
137
138     public void setModelCustomizationUUID(String modelCustomizationUUID) {
139         this.modelCustomizationUUID = modelCustomizationUUID;
140     }
141
142     public String getModelInstanceName() {
143         return modelInstanceName;
144     }
145
146     public void setModelInstanceName(String modelInstanceName) {
147         this.modelInstanceName = modelInstanceName;
148     }
149
150     public String getConfigurationType() {
151         return configurationType;
152     }
153
154     public void setConfigurationType(String configurationType) {
155         this.configurationType = configurationType;
156     }
157
158     public String getConfigurationRole() {
159         return configurationRole;
160     }
161
162     public void setConfigurationRole(String configurationRole) {
163         this.configurationRole = configurationRole;
164     }
165
166     public String getConfigurationFunction() {
167         return configurationFunction;
168     }
169
170     public void setConfigurationFunction(String configurationFunction) {
171         this.configurationFunction = configurationFunction;
172     }
173
174     public String getPolicyName() {
175         return policyName;
176     }
177
178     public void setPolicyName(String policyName) {
179         this.policyName = policyName;
180     }
181
182     public Date getCreated() {
183         return created;
184     }
185
186     public void setCreated(Date created) {
187         this.created = created;
188     }
189
190     @LinkedResource
191     public ConfigurationResource getConfigurationResource() {
192         return configurationResource;
193     }
194
195     public void setConfigurationResource(ConfigurationResource configurationResource) {
196         this.configurationResource = configurationResource;
197     }
198
199     @LinkedResource
200     public CvnfcCustomization getCvnfcCustomization() {
201         return cvnfcCustomization;
202     }
203
204     public void setCvnfcCustomization(CvnfcCustomization cvnfcCustomization) {
205         this.cvnfcCustomization = cvnfcCustomization;
206     }
207
208 }