2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 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.vid.model;
24 import com.fasterxml.jackson.annotation.JsonProperty;
25 import org.hibernate.annotations.DynamicUpdate;
26 import org.hibernate.annotations.SelectBeforeUpdate;
27 import org.hibernate.annotations.Type;
28 import org.onap.portalsdk.core.domain.support.DomainVo;
29 import org.onap.vid.job.Job;
31 import javax.persistence.*;
32 import java.io.Serializable;
33 import java.util.Date;
34 import java.util.Objects;
36 import java.util.UUID;
39 The following 2 annotations let hibernate to update only fields that actually have been changed.
40 DynamicUpdate tell hibernate to update only dirty fields.
41 SelectBeforeUpdate is needed since during update the entity is detached (get and update are in different sessions)
46 @Table(name = "vid_service_info")
47 public class ServiceInfo extends DomainVo {
49 public enum ServiceAction {
55 public void setUserId(String userId) {
60 private UUID templateId;
61 private String userId;
62 private UUID msoRequestId;
63 private boolean aLaCarte;
64 private Job.JobStatus jobStatus;
65 private Date statusModifiedDate;
66 private boolean hidden;
67 private boolean pause;
68 private Date deletedAt;
69 private String owningEntityId;
70 private String owningEntityName;
71 private String project;
72 private String aicZoneId;
73 private String aicZoneName;
74 private String tenantId;
75 private String tenantName;
76 private String regionId;
77 private String regionName;
78 private String serviceType;
79 private String subscriberName;
80 private String subscriberId;
81 private String serviceInstanceId;
82 private String serviceInstanceName;
83 private String serviceModelId;
84 private String serviceModelName;
85 private String serviceModelVersion;
86 private Date createdBulkDate;
87 private ServiceAction action;
93 public ServiceInfo(String userId, Boolean aLaCarte, Job.JobStatus jobStatus, boolean pause, UUID jobId, UUID templateId, String owningEntityId, String owningEntityName, String project, String aicZoneId, String aicZoneName, String tenantId, String tenantName, String regionId, String regionName, String serviceType, String subscriberName, String subscriberId, String serviceInstanceId, String serviceInstanceName, String serviceModelId, String serviceModelName, String serviceModelVersion, Date createdBulkDate, ServiceAction action) {
95 this.aLaCarte = aLaCarte;
96 this.jobStatus = jobStatus;
98 this.templateId = templateId;
100 this.owningEntityId = owningEntityId;
101 this.owningEntityName = owningEntityName;
102 this.project = project;
103 this.aicZoneId = aicZoneId;
104 this.aicZoneName = aicZoneName;
105 this.tenantId = tenantId;
106 this.tenantName = tenantName;
107 this.regionId = regionId;
108 this.regionName = regionName;
109 this.serviceType = serviceType;
110 this.subscriberName = subscriberName;
111 this.subscriberId = subscriberId;
112 this.serviceInstanceId = serviceInstanceId;
113 this.serviceInstanceName = serviceInstanceName;
114 this.serviceModelId = serviceModelId;
115 this.serviceModelName = serviceModelName;
116 this.serviceModelVersion = serviceModelVersion;
117 this.createdBulkDate = createdBulkDate;
118 this.action = action;
121 @Column(name = "JOB_ID", columnDefinition = "CHAR(36)")
122 @Type(type="org.hibernate.type.UUIDCharType")
123 public UUID getJobId() {
127 @Column(name = "TEMPLATE_ID", columnDefinition = "CHAR(36)")
128 @Type(type="org.hibernate.type.UUIDCharType")
129 public UUID getTemplateId() {
133 @Column(name="USER_ID")
134 public String getUserId() {
138 @Column(name = "MSO_REQUEST_ID", columnDefinition = "CHAR(36)")
139 @Type(type="org.hibernate.type.UUIDCharType")
140 public UUID getMsoRequestId() {
144 @Column(name="IS_A_LA_CARTE")
145 @JsonProperty("aLaCarte")
146 public boolean isALaCarte() {
150 @Column(name="JOB_STATUS")
151 @Enumerated(EnumType.STRING)
152 public Job.JobStatus getJobStatus() {
156 @Column(name="STATUS_MODIFIED_DATE")
157 public Date getStatusModifiedDate() {
158 return statusModifiedDate;
161 @Column(name="IS_HIDDEN")
162 public boolean isHidden() {
166 @Column(name="IS_PAUSE")
167 public boolean isPause() {
171 @Column(name="OWNING_ENTITY_ID")
172 public String getOwningEntityId() {
173 return owningEntityId;
176 @Column(name="OWNING_ENTITY_NAME")
177 public String getOwningEntityName() {
178 return owningEntityName;
181 @Column(name="PROJECT")
182 public String getProject() {
186 @Column(name="AIC_ZONE_ID")
187 public String getAicZoneId() {
191 @Column(name="AIC_ZONE_NAME")
192 public String getAicZoneName() {
196 @Column(name="TENANT_ID")
197 public String getTenantId() {
201 @Column(name="TENANT_NAME")
202 public String getTenantName() {
206 @Column(name="REGION_ID")
207 public String getRegionId() {
211 @Column(name="REGION_NAME")
212 public String getRegionName() {
216 @Column(name="SERVICE_TYPE")
217 public String getServiceType() {
221 @Column(name="SUBSCRIBER_NAME")
222 public String getSubscriberName() {
223 return subscriberName;
226 @Column(name="SUBSCRIBER_ID")
227 public String getSubscriberId() {
231 @Column(name="SERVICE_INSTANCE_ID")
232 public String getServiceInstanceId() {
233 return serviceInstanceId;
236 @Column(name="SERVICE_INSTANCE_NAME")
237 public String getServiceInstanceName() {
238 return serviceInstanceName;
241 @Column(name="SERVICE_MODEL_ID")
242 public String getServiceModelId() {
243 return serviceModelId;
246 @Column(name="SERVICE_MODEL_NAME")
247 public String getServiceModelName() {
248 return serviceModelName;
251 @Column(name="SERVICE_MODEL_VERSION")
252 public String getServiceModelVersion() {
253 return serviceModelVersion;
256 @Column(name="CREATED_BULK_DATE")
257 public Date getCreatedBulkDate() {
258 return createdBulkDate;
261 @Column(name="DELETED_AT")
262 public Date getDeletedAt() {
266 @Column(name="ACTION")
267 @Enumerated(EnumType.STRING)
268 public ServiceAction getAction() {
273 @GeneratedValue(strategy = GenerationType.IDENTITY)
275 @Column(name = "ID", columnDefinition = "INT(11)")
276 public Long getId() {
281 @Column(name = "CREATED_DATE")
282 public Date getCreated() {
283 return super.getCreated();
287 @Column(name = "MODIFIED_DATE")
288 public Date getModified() {
289 return super.getModified();
294 public Long getCreatedId() {
295 return super.getCreatedId();
300 public Long getModifiedId() {
301 return super.getModifiedId();
306 public Serializable getAuditUserId() {
307 return super.getAuditUserId();
312 public Long getRowNum() {
313 return super.getRowNum();
318 public Set getAuditTrail() {
319 return super.getAuditTrail();
322 public void setJobId(UUID jobId) {
326 public void setTemplateId(UUID templateId) {
327 this.templateId = templateId;
330 public void setMsoRequestId(UUID requestId) {
331 this.msoRequestId = requestId;
334 public void setALaCarte(boolean aLaCarte) {
335 this.aLaCarte = aLaCarte;
338 public void setJobStatus(Job.JobStatus jobStatus) {
339 this.jobStatus = jobStatus;
342 public void setStatusModifiedDate(Date statusModifiedDate) {
343 this.statusModifiedDate = statusModifiedDate;
346 public void setHidden(boolean isHidden) {
350 public void setPause(boolean pause) {
354 public void setOwningEntityId(String owningEntityId) {
355 this.owningEntityId = owningEntityId;
358 public void setOwningEntityName(String owningEntityName) {
359 this.owningEntityName = owningEntityName;
362 public void setProject(String project) {
363 this.project = project;
366 public void setAicZoneId(String aicZoneId) {
367 this.aicZoneId = aicZoneId;
370 public void setAicZoneName(String aicZoneName) {
371 this.aicZoneName = aicZoneName;
374 public void setTenantId(String tenantId) {
375 this.tenantId = tenantId;
378 public void setTenantName(String tenantName) {
379 this.tenantName = tenantName;
382 public void setRegionId(String regionId) {
383 this.regionId = regionId;
386 public void setRegionName(String regionName) {
387 this.regionName = regionName;
390 public void setServiceType(String serviceType) {
391 this.serviceType = serviceType;
394 public void setSubscriberName(String subscriberName) {
395 this.subscriberName = subscriberName;
398 public void setSubscriberId(String subscriberId) {
399 this.subscriberId = subscriberId;
402 public void setServiceInstanceId(String serviceInstanceId) {
403 this.serviceInstanceId = serviceInstanceId;
406 public void setServiceInstanceName(String serviceInstanceName) {
407 this.serviceInstanceName = serviceInstanceName;
410 public void setServiceModelId(String serviceModelId) {
411 this.serviceModelId = serviceModelId;
414 public void setServiceModelName(String serviceModelName) {
415 this.serviceModelName = serviceModelName;
418 public void setServiceModelVersion(String serviceModelVersion) {
419 this.serviceModelVersion = serviceModelVersion;
422 public void setCreatedBulkDate(Date createdBulkDate) {
423 this.createdBulkDate = createdBulkDate;
426 public void setDeletedAt(Date deletedAt) {
427 this.deletedAt = deletedAt;
430 public void setAction(ServiceAction action) { this.action = action; }
433 public boolean equals(Object o) {
434 if (this == o) return true;
435 if (!(o instanceof ServiceInfo)) return false;
436 ServiceInfo that = (ServiceInfo) o;
437 return isHidden() == that.isHidden() &&
438 isPause() == that.isPause() &&
439 isALaCarte() == that.isALaCarte() &&
440 Objects.equals(getDeletedAt(), that.getDeletedAt()) &&
441 Objects.equals(getJobId(), that.getJobId()) &&
442 Objects.equals(getTemplateId(), that.getTemplateId()) &&
443 Objects.equals(getUserId(), that.getUserId()) &&
444 Objects.equals(getMsoRequestId(), that.getMsoRequestId()) &&
445 getJobStatus() == that.getJobStatus() &&
446 Objects.equals(getStatusModifiedDate(), that.getStatusModifiedDate()) &&
447 Objects.equals(getOwningEntityId(), that.getOwningEntityId()) &&
448 Objects.equals(getOwningEntityName(), that.getOwningEntityName()) &&
449 Objects.equals(getProject(), that.getProject()) &&
450 Objects.equals(getAicZoneId(), that.getAicZoneId()) &&
451 Objects.equals(getAicZoneName(), that.getAicZoneName()) &&
452 Objects.equals(getTenantId(), that.getTenantId()) &&
453 Objects.equals(getTenantName(), that.getTenantName()) &&
454 Objects.equals(getRegionId(), that.getRegionId()) &&
455 Objects.equals(getRegionName(), that.getRegionName()) &&
456 Objects.equals(getServiceType(), that.getServiceType()) &&
457 Objects.equals(getSubscriberName(), that.getSubscriberName()) &&
458 Objects.equals(getSubscriberId(), that.getSubscriberId()) &&
459 Objects.equals(getServiceInstanceId(), that.getServiceInstanceId()) &&
460 Objects.equals(getServiceInstanceName(), that.getServiceInstanceName()) &&
461 Objects.equals(getServiceModelId(), that.getServiceModelId()) &&
462 Objects.equals(getServiceModelName(), that.getServiceModelName()) &&
463 Objects.equals(getServiceModelVersion(), that.getServiceModelVersion()) &&
464 Objects.equals(getCreatedBulkDate(), that.getCreatedBulkDate()) &&
465 Objects.equals(getAction(), that.getAction());
469 public int hashCode() {
471 return Objects.hash(getJobId(), getTemplateId(), getUserId(), getMsoRequestId(), isALaCarte(), getJobStatus(), getStatusModifiedDate(),
472 isHidden(), isPause(), getDeletedAt(), getOwningEntityId(), getOwningEntityName(), getProject(),
473 getAicZoneId(), getAicZoneName(), getTenantId(), getTenantName(), getRegionId(),
474 getRegionName(), getServiceType(), getSubscriberName(), getSubscriberId(), getServiceInstanceId(),
475 getServiceInstanceName(), getServiceModelId(), getServiceModelName(),
476 getServiceModelVersion(), getCreatedBulkDate(), getAction());