4846e5a361779bde830ea1fd3a1c59fec52d28d6
[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", nullable = false)
45     private String id;
46
47     @Enumerated(EnumType.STRING)
48     @Column(name = "OPERATION_STATE", nullable = false)
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", nullable = false)
59     private NfvoNsInst nfvoNsInst;
60
61     @Enumerated(EnumType.STRING)
62     @Column(name = "OPERATION", nullable = false)
63     private NsLcmOpType operation;
64
65     @Column(name = "IS_AUTO_INVOCATION", nullable = false)
66     private boolean isAutoInvocation;
67
68     @Column(name = "OPERATION_PARAMS", columnDefinition = "LONGTEXT", nullable = false)
69     private String operationParams;
70
71     @Column(name = "IS_CANCEL_PENDING", nullable = false)
72     private boolean isCancelPending;
73
74     @Enumerated(EnumType.STRING)
75     @Column(name = "CANCEL_MODE")
76     private CancelModeType cancelMode;
77
78     public NsLcmOpOcc() {
79         this.id = UUID.randomUUID().toString();
80     }
81
82     public String getId() {
83         return id;
84     }
85
86     public void setId(final String id) {
87         this.id = id;
88     }
89
90     public NsLcmOpOcc id(final String id) {
91         this.id = id;
92         return this;
93     }
94
95     public OperationStateEnum getOperationState() {
96         return operationState;
97     }
98
99     public void setOperationState(final OperationStateEnum operationState) {
100         this.operationState = operationState;
101     }
102
103     public NsLcmOpOcc operationState(final OperationStateEnum operationState) {
104         this.operationState = operationState;
105         return this;
106     }
107
108     public LocalDateTime getStateEnteredTime() {
109         return stateEnteredTime;
110     }
111
112     public void setStateEnteredTime(final LocalDateTime stateEnteredTime) {
113         this.stateEnteredTime = stateEnteredTime;
114     }
115
116     public NsLcmOpOcc stateEnteredTime(final LocalDateTime stateEnteredTime) {
117         this.stateEnteredTime = stateEnteredTime;
118         return this;
119     }
120
121     public LocalDateTime getStartTime() {
122         return startTime;
123     }
124
125     public void setStartTime(final LocalDateTime startTime) {
126         this.startTime = startTime;
127     }
128
129     public NsLcmOpOcc startTime(final LocalDateTime startTime) {
130         this.startTime = startTime;
131         return this;
132     }
133
134     public NfvoNsInst getNfvoNsInst() {
135         return nfvoNsInst;
136     }
137
138     public void setNfvoNsInst(final NfvoNsInst nfvoNsInst) {
139         this.nfvoNsInst = nfvoNsInst;
140     }
141
142     public NsLcmOpOcc nfvoNsInst(final NfvoNsInst nfvoNsInst) {
143         this.nfvoNsInst = nfvoNsInst;
144         return this;
145     }
146
147     public NsLcmOpType getOperation() {
148         return operation;
149     }
150
151     public void setOperation(final NsLcmOpType operation) {
152         this.operation = operation;
153     }
154
155     public NsLcmOpOcc operation(final NsLcmOpType operation) {
156         this.operation = operation;
157         return this;
158     }
159
160     public boolean getIsAutoInvocation() {
161         return isAutoInvocation;
162     }
163
164     public void setIsAutoInvocation(final boolean isAutoInvocation) {
165         this.isAutoInvocation = isAutoInvocation;
166     }
167
168     public NsLcmOpOcc isAutoInvocation(final boolean isAutoInvocation) {
169         this.isAutoInvocation = isAutoInvocation;
170         return this;
171     }
172
173     public CancelModeType getCancelMode() {
174         return cancelMode;
175     }
176
177     public void setCancelMode(final CancelModeType cancelMode) {
178         this.cancelMode = cancelMode;
179     }
180
181     public NsLcmOpOcc cancelMode(final CancelModeType cancelMode) {
182         this.cancelMode = cancelMode;
183         return this;
184     }
185
186     public String getOperationParams() {
187         return operationParams;
188     }
189
190     public void setOperationParams(final String operationParams) {
191         this.operationParams = operationParams;
192     }
193
194     public NsLcmOpOcc operationParams(final String operationParams) {
195         this.operationParams = operationParams;
196         return this;
197     }
198
199     public boolean getIsCancelPending() {
200         return isCancelPending;
201     }
202
203     public void setIsCancelPending(final boolean isCancelPending) {
204         this.isCancelPending = isCancelPending;
205     }
206
207     public NsLcmOpOcc isCancelPending(final boolean isCancelPending) {
208         this.isCancelPending = isCancelPending;
209         return this;
210     }
211
212     @Override
213     public boolean equals(final Object obj) {
214         if (this == obj)
215             return true;
216         if (obj == null || getClass() != obj.getClass())
217             return false;
218         final NsLcmOpOcc that = (NsLcmOpOcc) obj;
219         return Objects.equals(id, that.id) && Objects.equals(operationState, that.operationState)
220                 && Objects.equals(stateEnteredTime, that.stateEnteredTime) && Objects.equals(startTime, that.startTime)
221                 && (nfvoNsInst == null ? that.nfvoNsInst == null
222                         : that.nfvoNsInst != null && Objects.equals(nfvoNsInst, that.nfvoNsInst))
223                 && Objects.equals(operation, that.operation) && Objects.equals(isAutoInvocation, that.isAutoInvocation)
224                 && Objects.equals(operationParams, that.operationParams)
225                 && Objects.equals(isCancelPending, that.isCancelPending) && Objects.equals(cancelMode, that.cancelMode);
226     }
227
228     @Override
229     public int hashCode() {
230         return Objects.hash(id, operationState, stateEnteredTime, startTime,
231                 nfvoNsInst != null ? nfvoNsInst.getNsInstId() : 0, operation, isAutoInvocation, operationParams,
232                 isCancelPending, cancelMode);
233     }
234
235     @Override
236     public String toString() {
237         final StringBuilder sb = new StringBuilder();
238         sb.append("class NsLcmOpOcc {\n");
239         sb.append("    id: ").append(toIndentedString(id)).append("\n");
240         sb.append("    operationState: ").append(toIndentedString(operationState)).append("\n");
241         sb.append("    stateEnteredTime: ").append(toIndentedString(stateEnteredTime)).append("\n");
242         sb.append("    startTime: ").append(toIndentedString(startTime)).append("\n");
243         sb.append("    nfvoNsInst: ").append(nfvoNsInst != null ? toIndentedString(nfvoNsInst.getNsInstId()) : null)
244                 .append("\n");
245         sb.append("    operation: ").append(toIndentedString(operation)).append("\n");
246         sb.append("    isAutoInvocation: ").append(toIndentedString(isAutoInvocation)).append("\n");
247         sb.append("    operationParams: ").append(toIndentedString(operationParams)).append("\n");
248         sb.append("    isCancelPending: ").append(toIndentedString(isCancelPending)).append("\n");
249         sb.append("    cancelMode: ").append(toIndentedString(cancelMode)).append("\n");
250         sb.append("}");
251         return sb.toString();
252     }
253 }