1 package org.onap.vid.model;
4 import com.fasterxml.jackson.annotation.JsonProperty;
5 import org.hibernate.annotations.DynamicUpdate;
6 import org.hibernate.annotations.SelectBeforeUpdate;
7 import org.hibernate.annotations.Type;
8 import org.onap.portalsdk.core.domain.support.DomainVo;
9 import org.onap.vid.job.Job;
11 import javax.persistence.*;
12 import java.io.Serializable;
13 import java.util.Date;
14 import java.util.Objects;
16 import java.util.UUID;
19 The following 2 annotations let hibernate to update only fields that actually have been changed.
20 DynamicUpdate tell hibernate to update only dirty fields.
21 SelectBeforeUpdate is needed since during update the entity is detached (get and update are in different sessions)
26 @Table(name = "vid_service_info")
27 public class ServiceInfo extends DomainVo {
29 public enum ServiceAction {
35 public void setUserId(String userId) {
40 private UUID templateId;
41 private String userId;
42 private UUID msoRequestId;
43 private boolean aLaCarte;
44 private Job.JobStatus jobStatus;
45 private Date statusModifiedDate;
46 private boolean hidden;
47 private boolean pause;
48 private Date deletedAt;
49 private String owningEntityId;
50 private String owningEntityName;
51 private String project;
52 private String aicZoneId;
53 private String aicZoneName;
54 private String tenantId;
55 private String tenantName;
56 private String regionId;
57 private String regionName;
58 private String serviceType;
59 private String subscriberName;
60 private String subscriberId;
61 private String serviceInstanceId;
62 private String serviceInstanceName;
63 private String serviceModelId;
64 private String serviceModelName;
65 private String serviceModelVersion;
66 private Date createdBulkDate;
67 private ServiceAction action;
73 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) {
75 this.aLaCarte = aLaCarte;
76 this.jobStatus = jobStatus;
78 this.templateId = templateId;
80 this.owningEntityId = owningEntityId;
81 this.owningEntityName = owningEntityName;
82 this.project = project;
83 this.aicZoneId = aicZoneId;
84 this.aicZoneName = aicZoneName;
85 this.tenantId = tenantId;
86 this.tenantName = tenantName;
87 this.regionId = regionId;
88 this.regionName = regionName;
89 this.serviceType = serviceType;
90 this.subscriberName = subscriberName;
91 this.subscriberId = subscriberId;
92 this.serviceInstanceId = serviceInstanceId;
93 this.serviceInstanceName = serviceInstanceName;
94 this.serviceModelId = serviceModelId;
95 this.serviceModelName = serviceModelName;
96 this.serviceModelVersion = serviceModelVersion;
97 this.createdBulkDate = createdBulkDate;
101 @Column(name = "JOB_ID", columnDefinition = "CHAR(36)")
102 @Type(type="org.hibernate.type.UUIDCharType")
103 public UUID getJobId() {
107 @Column(name = "TEMPLATE_ID", columnDefinition = "CHAR(36)")
108 @Type(type="org.hibernate.type.UUIDCharType")
109 public UUID getTemplateId() {
113 @Column(name="USER_ID")
114 public String getUserId() {
118 @Column(name = "MSO_REQUEST_ID", columnDefinition = "CHAR(36)")
119 @Type(type="org.hibernate.type.UUIDCharType")
120 public UUID getMsoRequestId() {
124 @Column(name="IS_A_LA_CARTE")
125 @JsonProperty("aLaCarte")
126 public boolean isALaCarte() {
130 @Column(name="JOB_STATUS")
131 @Enumerated(EnumType.STRING)
132 public Job.JobStatus getJobStatus() {
136 @Column(name="STATUS_MODIFIED_DATE")
137 public Date getStatusModifiedDate() {
138 return statusModifiedDate;
141 @Column(name="IS_HIDDEN")
142 public boolean isHidden() {
146 @Column(name="IS_PAUSE")
147 public boolean isPause() {
151 @Column(name="OWNING_ENTITY_ID")
152 public String getOwningEntityId() {
153 return owningEntityId;
156 @Column(name="OWNING_ENTITY_NAME")
157 public String getOwningEntityName() {
158 return owningEntityName;
161 @Column(name="PROJECT")
162 public String getProject() {
166 @Column(name="AIC_ZONE_ID")
167 public String getAicZoneId() {
171 @Column(name="AIC_ZONE_NAME")
172 public String getAicZoneName() {
176 @Column(name="TENANT_ID")
177 public String getTenantId() {
181 @Column(name="TENANT_NAME")
182 public String getTenantName() {
186 @Column(name="REGION_ID")
187 public String getRegionId() {
191 @Column(name="REGION_NAME")
192 public String getRegionName() {
196 @Column(name="SERVICE_TYPE")
197 public String getServiceType() {
201 @Column(name="SUBSCRIBER_NAME")
202 public String getSubscriberName() {
203 return subscriberName;
206 @Column(name="SUBSCRIBER_ID")
207 public String getSubscriberId() {
211 @Column(name="SERVICE_INSTANCE_ID")
212 public String getServiceInstanceId() {
213 return serviceInstanceId;
216 @Column(name="SERVICE_INSTANCE_NAME")
217 public String getServiceInstanceName() {
218 return serviceInstanceName;
221 @Column(name="SERVICE_MODEL_ID")
222 public String getServiceModelId() {
223 return serviceModelId;
226 @Column(name="SERVICE_MODEL_NAME")
227 public String getServiceModelName() {
228 return serviceModelName;
231 @Column(name="SERVICE_MODEL_VERSION")
232 public String getServiceModelVersion() {
233 return serviceModelVersion;
236 @Column(name="CREATED_BULK_DATE")
237 public Date getCreatedBulkDate() {
238 return createdBulkDate;
241 @Column(name="DELETED_AT")
242 public Date getDeletedAt() {
246 @Column(name="ACTION")
247 @Enumerated(EnumType.STRING)
248 public ServiceAction getAction() {
253 @GeneratedValue(strategy = GenerationType.IDENTITY)
255 @Column(name = "ID", columnDefinition = "INT(11)")
256 public Long getId() {
261 @Column(name = "CREATED_DATE")
262 public Date getCreated() {
263 return super.getCreated();
267 @Column(name = "MODIFIED_DATE")
268 public Date getModified() {
269 return super.getModified();
274 public Long getCreatedId() {
275 return super.getCreatedId();
280 public Long getModifiedId() {
281 return super.getModifiedId();
286 public Serializable getAuditUserId() {
287 return super.getAuditUserId();
292 public Long getRowNum() {
293 return super.getRowNum();
298 public Set getAuditTrail() {
299 return super.getAuditTrail();
302 public void setJobId(UUID jobId) {
306 public void setTemplateId(UUID templateId) {
307 this.templateId = templateId;
310 public void setMsoRequestId(UUID requestId) {
311 this.msoRequestId = requestId;
314 public void setALaCarte(boolean aLaCarte) {
315 this.aLaCarte = aLaCarte;
318 public void setJobStatus(Job.JobStatus jobStatus) {
319 this.jobStatus = jobStatus;
322 public void setStatusModifiedDate(Date statusModifiedDate) {
323 this.statusModifiedDate = statusModifiedDate;
326 public void setHidden(boolean isHidden) {
330 public void setPause(boolean pause) {
334 public void setOwningEntityId(String owningEntityId) {
335 this.owningEntityId = owningEntityId;
338 public void setOwningEntityName(String owningEntityName) {
339 this.owningEntityName = owningEntityName;
342 public void setProject(String project) {
343 this.project = project;
346 public void setAicZoneId(String aicZoneId) {
347 this.aicZoneId = aicZoneId;
350 public void setAicZoneName(String aicZoneName) {
351 this.aicZoneName = aicZoneName;
354 public void setTenantId(String tenantId) {
355 this.tenantId = tenantId;
358 public void setTenantName(String tenantName) {
359 this.tenantName = tenantName;
362 public void setRegionId(String regionId) {
363 this.regionId = regionId;
366 public void setRegionName(String regionName) {
367 this.regionName = regionName;
370 public void setServiceType(String serviceType) {
371 this.serviceType = serviceType;
374 public void setSubscriberName(String subscriberName) {
375 this.subscriberName = subscriberName;
378 public void setSubscriberId(String subscriberId) {
379 this.subscriberId = subscriberId;
382 public void setServiceInstanceId(String serviceInstanceId) {
383 this.serviceInstanceId = serviceInstanceId;
386 public void setServiceInstanceName(String serviceInstanceName) {
387 this.serviceInstanceName = serviceInstanceName;
390 public void setServiceModelId(String serviceModelId) {
391 this.serviceModelId = serviceModelId;
394 public void setServiceModelName(String serviceModelName) {
395 this.serviceModelName = serviceModelName;
398 public void setServiceModelVersion(String serviceModelVersion) {
399 this.serviceModelVersion = serviceModelVersion;
402 public void setCreatedBulkDate(Date createdBulkDate) {
403 this.createdBulkDate = createdBulkDate;
406 public void setDeletedAt(Date deletedAt) {
407 this.deletedAt = deletedAt;
410 public void setAction(ServiceAction action) { this.action = action; }
413 public boolean equals(Object o) {
414 if (this == o) return true;
415 if (!(o instanceof ServiceInfo)) return false;
416 ServiceInfo that = (ServiceInfo) o;
417 return isHidden() == that.isHidden() &&
418 isPause() == that.isPause() &&
419 isALaCarte() == that.isALaCarte() &&
420 Objects.equals(getDeletedAt(), that.getDeletedAt()) &&
421 Objects.equals(getJobId(), that.getJobId()) &&
422 Objects.equals(getTemplateId(), that.getTemplateId()) &&
423 Objects.equals(getUserId(), that.getUserId()) &&
424 Objects.equals(getMsoRequestId(), that.getMsoRequestId()) &&
425 getJobStatus() == that.getJobStatus() &&
426 Objects.equals(getStatusModifiedDate(), that.getStatusModifiedDate()) &&
427 Objects.equals(getOwningEntityId(), that.getOwningEntityId()) &&
428 Objects.equals(getOwningEntityName(), that.getOwningEntityName()) &&
429 Objects.equals(getProject(), that.getProject()) &&
430 Objects.equals(getAicZoneId(), that.getAicZoneId()) &&
431 Objects.equals(getAicZoneName(), that.getAicZoneName()) &&
432 Objects.equals(getTenantId(), that.getTenantId()) &&
433 Objects.equals(getTenantName(), that.getTenantName()) &&
434 Objects.equals(getRegionId(), that.getRegionId()) &&
435 Objects.equals(getRegionName(), that.getRegionName()) &&
436 Objects.equals(getServiceType(), that.getServiceType()) &&
437 Objects.equals(getSubscriberName(), that.getSubscriberName()) &&
438 Objects.equals(getSubscriberId(), that.getSubscriberId()) &&
439 Objects.equals(getServiceInstanceId(), that.getServiceInstanceId()) &&
440 Objects.equals(getServiceInstanceName(), that.getServiceInstanceName()) &&
441 Objects.equals(getServiceModelId(), that.getServiceModelId()) &&
442 Objects.equals(getServiceModelName(), that.getServiceModelName()) &&
443 Objects.equals(getServiceModelVersion(), that.getServiceModelVersion()) &&
444 Objects.equals(getCreatedBulkDate(), that.getCreatedBulkDate()) &&
445 Objects.equals(getAction(), that.getAction());
449 public int hashCode() {
451 return Objects.hash(getJobId(), getTemplateId(), getUserId(), getMsoRequestId(), isALaCarte(), getJobStatus(), getStatusModifiedDate(),
452 isHidden(), isPause(), getDeletedAt(), getOwningEntityId(), getOwningEntityName(), getProject(),
453 getAicZoneId(), getAicZoneName(), getTenantId(), getTenantName(), getRegionId(),
454 getRegionName(), getServiceType(), getSubscriberName(), getSubscriberId(), getServiceInstanceId(),
455 getServiceInstanceName(), getServiceModelId(), getServiceModelName(),
456 getServiceModelVersion(), getCreatedBulkDate(), getAction());