Adding NS instantiation
[so.git] / so-etsi-nfvo / so-etsi-nfvo-ns-lcm / so-etsi-nfvo-ns-lcm-database-service / src / main / java / org / onap / so / etsi / nfvo / ns / lcm / database / beans / NsLcmOpOcc.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2020 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.so.etsi.nfvo.ns.lcm.database.beans;
21
22 import static org.onap.so.etsi.nfvo.ns.lcm.database.beans.utils.Utils.toIndentedString;
23 import java.time.LocalDateTime;
24 import java.util.Objects;
25 import java.util.UUID;
26 import javax.persistence.Column;
27 import javax.persistence.Entity;
28 import javax.persistence.EnumType;
29 import javax.persistence.Enumerated;
30 import javax.persistence.FetchType;
31 import javax.persistence.Id;
32 import javax.persistence.JoinColumn;
33 import javax.persistence.ManyToOne;
34 import javax.persistence.Table;
35
36 /**
37  * @author mukeshsharma(mukeshsharma@est.tech)
38  */
39 @Entity
40 @Table(name = "NS_LCM_OP_OCCS")
41 public class NsLcmOpOcc {
42
43     @Id
44     @Column(name = "ID")
45     private String id;
46
47     @Enumerated(EnumType.STRING)
48     @Column(name = "OPERATION_STATE")
49     private OperationStateEnum operationState;
50
51     @Column(name = "STATE_ENTERED_TIME")
52     private LocalDateTime stateEnteredTime;
53
54     @Column(name = "START_TIME")
55     private LocalDateTime startTime;
56
57     @ManyToOne(fetch = FetchType.LAZY)
58     @JoinColumn(name = "NS_INST_ID")
59     private NfvoNsInst nfvoNsInst;
60
61     @Enumerated(EnumType.STRING)
62     @Column(name = "OPERATION")
63     private NsLcmOpType operation;
64
65     @Column(name = "IS_AUTO_INNOVATION")
66     private boolean isAutoInnovation;
67
68     @Column(name = "OPERATION_PARAMS", columnDefinition = "LONGTEXT")
69     private String operationParams;
70
71     @Column(name = "IS_CANCEL_PENDING")
72     private boolean isCancelPending;
73
74     public NsLcmOpOcc() {
75         this.id = UUID.randomUUID().toString();
76     }
77
78     public String getId() {
79         return id;
80     }
81
82     public void setId(final String id) {
83         this.id = id;
84     }
85
86     public NsLcmOpOcc id(final String id) {
87         this.id = id;
88         return this;
89     }
90
91     public OperationStateEnum getOperationState() {
92         return operationState;
93     }
94
95     public void setOperationState(final OperationStateEnum operationState) {
96         this.operationState = operationState;
97     }
98
99     public NsLcmOpOcc operationState(final OperationStateEnum operationState) {
100         this.operationState = operationState;
101         return this;
102     }
103
104     public LocalDateTime getStateEnteredTime() {
105         return stateEnteredTime;
106     }
107
108     public void setStateEnteredTime(final LocalDateTime stateEnteredTime) {
109         this.stateEnteredTime = stateEnteredTime;
110     }
111
112     public NsLcmOpOcc stateEnteredTime(final LocalDateTime stateEnteredTime) {
113         this.stateEnteredTime = stateEnteredTime;
114         return this;
115     }
116
117     public LocalDateTime getStartTime() {
118         return startTime;
119     }
120
121     public void setStartTime(final LocalDateTime startTime) {
122         this.startTime = startTime;
123     }
124
125     public NsLcmOpOcc startTime(final LocalDateTime startTime) {
126         this.startTime = startTime;
127         return this;
128     }
129
130     public NfvoNsInst getNfvoNsInst() {
131         return nfvoNsInst;
132     }
133
134     public void setNfvoNsInst(final NfvoNsInst nfvoNsInst) {
135         this.nfvoNsInst = nfvoNsInst;
136     }
137
138     public NsLcmOpOcc nfvoNsInst(final NfvoNsInst nfvoNsInst) {
139         this.nfvoNsInst = nfvoNsInst;
140         return this;
141     }
142
143     public NsLcmOpType getOperation() {
144         return operation;
145     }
146
147     public void setOperation(final NsLcmOpType operation) {
148         this.operation = operation;
149     }
150
151     public NsLcmOpOcc operation(final NsLcmOpType operation) {
152         this.operation = operation;
153         return this;
154     }
155
156     public boolean getIsAutoInnovation() {
157         return isAutoInnovation;
158     }
159
160     public void setIsAutoInnovation(final boolean isAutoInnovation) {
161         this.isAutoInnovation = isAutoInnovation;
162     }
163
164     public NsLcmOpOcc isAutoInnovation(final boolean isAutoInnovation) {
165         this.isAutoInnovation = isAutoInnovation;
166         return this;
167     }
168
169     public String getOperationParams() {
170         return operationParams;
171     }
172
173     public void setOperationParams(final String operationParams) {
174         this.operationParams = operationParams;
175     }
176
177     public NsLcmOpOcc operationParams(final String operationParams) {
178         this.operationParams = operationParams;
179         return this;
180     }
181
182     public boolean getIsCancelPending() {
183         return isCancelPending;
184     }
185
186     public void setIsCancelPending(final boolean isCancelPending) {
187         this.isCancelPending = isCancelPending;
188     }
189
190     public NsLcmOpOcc isCancelPending(final boolean isCancelPending) {
191         this.isCancelPending = isCancelPending;
192         return this;
193     }
194
195     @Override
196     public boolean equals(final Object object) {
197         if (this == object)
198             return true;
199         if (object == null || getClass() != object.getClass())
200             return false;
201         final NsLcmOpOcc that = (NsLcmOpOcc) object;
202         return Objects.equals(id, that.id) && Objects.equals(operationState, that.operationState)
203                 && Objects.equals(stateEnteredTime, that.stateEnteredTime) && Objects.equals(startTime, that.startTime)
204                 && Objects.equals(nfvoNsInst, that.nfvoNsInst) && Objects.equals(operation, that.operation)
205                 && Objects.equals(isAutoInnovation, that.isAutoInnovation)
206                 && Objects.equals(operationParams, that.operationParams)
207                 && Objects.equals(isCancelPending, that.isCancelPending);
208     }
209
210     @Override
211     public int hashCode() {
212         return Objects.hash(id, operationState, stateEnteredTime, startTime, nfvoNsInst, operation, isAutoInnovation,
213                 operationParams, isCancelPending);
214     }
215
216     @Override
217     public String toString() {
218         final StringBuilder sb = new StringBuilder();
219         sb.append("class NfvoNsInst {\n");
220         sb.append("    id: ").append(toIndentedString(id)).append("\n");
221         sb.append("    operationState: ").append(toIndentedString(operationState)).append("\n");
222         sb.append("    stateEnteredTime: ").append(toIndentedString(stateEnteredTime)).append("\n");
223         sb.append("    startTime: ").append(toIndentedString(startTime)).append("\n");
224         sb.append("    nfvoNsInst: ").append(nfvoNsInst != null ? toIndentedString(nfvoNsInst.getNsInstId()) : null)
225                 .append("\n");
226         sb.append("    operation: ").append(toIndentedString(operation)).append("\n");
227         sb.append("    isAutoInnovation: ").append(toIndentedString(isAutoInnovation)).append("\n");
228         sb.append("    operationParams: ").append(toIndentedString(operationParams)).append("\n");
229         sb.append("    isCancelPending: ").append(toIndentedString(isCancelPending)).append("\n");
230         sb.append("}");
231         return sb.toString();
232     }
233 }