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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
20 package org.onap.so.etsi.nfvo.ns.lcm.database.beans;
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;
37 * @author mukeshsharma(mukeshsharma@est.tech)
40 @Table(name = "NS_LCM_OP_OCCS")
41 public class NsLcmOpOcc {
47 @Enumerated(EnumType.STRING)
48 @Column(name = "OPERATION_STATE")
49 private OperationStateEnum operationState;
51 @Column(name = "STATE_ENTERED_TIME")
52 private LocalDateTime stateEnteredTime;
54 @Column(name = "START_TIME")
55 private LocalDateTime startTime;
57 @ManyToOne(fetch = FetchType.LAZY)
58 @JoinColumn(name = "NS_INST_ID")
59 private NfvoNsInst nfvoNsInst;
61 @Enumerated(EnumType.STRING)
62 @Column(name = "OPERATION")
63 private NsLcmOpType operation;
65 @Column(name = "IS_AUTO_INNOVATION")
66 private boolean isAutoInnovation;
68 @Column(name = "OPERATION_PARAMS", columnDefinition = "LONGTEXT")
69 private String operationParams;
71 @Column(name = "IS_CANCEL_PENDING")
72 private boolean isCancelPending;
75 this.id = UUID.randomUUID().toString();
78 public String getId() {
82 public void setId(final String id) {
86 public NsLcmOpOcc id(final String id) {
91 public OperationStateEnum getOperationState() {
92 return operationState;
95 public void setOperationState(final OperationStateEnum operationState) {
96 this.operationState = operationState;
99 public NsLcmOpOcc operationState(final OperationStateEnum operationState) {
100 this.operationState = operationState;
104 public LocalDateTime getStateEnteredTime() {
105 return stateEnteredTime;
108 public void setStateEnteredTime(final LocalDateTime stateEnteredTime) {
109 this.stateEnteredTime = stateEnteredTime;
112 public NsLcmOpOcc stateEnteredTime(final LocalDateTime stateEnteredTime) {
113 this.stateEnteredTime = stateEnteredTime;
117 public LocalDateTime getStartTime() {
121 public void setStartTime(final LocalDateTime startTime) {
122 this.startTime = startTime;
125 public NsLcmOpOcc startTime(final LocalDateTime startTime) {
126 this.startTime = startTime;
130 public NfvoNsInst getNfvoNsInst() {
134 public void setNfvoNsInst(final NfvoNsInst nfvoNsInst) {
135 this.nfvoNsInst = nfvoNsInst;
138 public NsLcmOpOcc nfvoNsInst(final NfvoNsInst nfvoNsInst) {
139 this.nfvoNsInst = nfvoNsInst;
143 public NsLcmOpType getOperation() {
147 public void setOperation(final NsLcmOpType operation) {
148 this.operation = operation;
151 public NsLcmOpOcc operation(final NsLcmOpType operation) {
152 this.operation = operation;
156 public boolean getIsAutoInnovation() {
157 return isAutoInnovation;
160 public void setIsAutoInnovation(final boolean isAutoInnovation) {
161 this.isAutoInnovation = isAutoInnovation;
164 public NsLcmOpOcc isAutoInnovation(final boolean isAutoInnovation) {
165 this.isAutoInnovation = isAutoInnovation;
169 public String getOperationParams() {
170 return operationParams;
173 public void setOperationParams(final String operationParams) {
174 this.operationParams = operationParams;
177 public NsLcmOpOcc operationParams(final String operationParams) {
178 this.operationParams = operationParams;
182 public boolean getIsCancelPending() {
183 return isCancelPending;
186 public void setIsCancelPending(final boolean isCancelPending) {
187 this.isCancelPending = isCancelPending;
190 public NsLcmOpOcc isCancelPending(final boolean isCancelPending) {
191 this.isCancelPending = isCancelPending;
196 public boolean equals(final Object object) {
199 if (object == null || getClass() != object.getClass())
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);
211 public int hashCode() {
212 return Objects.hash(id, operationState, stateEnteredTime, startTime, nfvoNsInst, operation, isAutoInnovation,
213 operationParams, isCancelPending);
217 public String toString() {
218 final StringBuilder sb = new StringBuilder();
219 sb.append("class NsLcmOpOcc {\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)
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");
231 return sb.toString();