1 package org.onap.so.db.catalog.beans;
3 import java.io.Serializable;
6 import javax.persistence.CascadeType;
7 import javax.persistence.Column;
8 import javax.persistence.Entity;
9 import javax.persistence.FetchType;
10 import javax.persistence.GeneratedValue;
11 import javax.persistence.GenerationType;
12 import javax.persistence.Id;
13 import javax.persistence.Lob;
14 import javax.persistence.OneToMany;
15 import javax.persistence.PrePersist;
16 import javax.persistence.Table;
17 import javax.persistence.Temporal;
18 import javax.persistence.TemporalType;
19 import org.apache.commons.lang3.builder.EqualsBuilder;
20 import org.apache.commons.lang3.builder.HashCodeBuilder;
21 import org.apache.commons.lang3.builder.ToStringBuilder;
22 import uk.co.blackpepper.bowman.annotation.LinkedResource;
23 import uk.co.blackpepper.bowman.annotation.RemoteResource;
26 @RemoteResource("/workflow")
27 @Table(name = "workflow")
28 public class Workflow implements Serializable {
30 private static final long serialVersionUID = 1485794141983033264L;
33 @Column(name = "ID", nullable = false, updatable = false)
34 @GeneratedValue(strategy = GenerationType.IDENTITY)
37 @Column(name = "ARTIFACT_UUID")
38 private String artifactUUID;
40 @Column(name = "ARTIFACT_NAME")
41 private String artifactName;
43 @Column(name = "NAME")
46 @Column(name = "OPERATION_NAME")
47 private String operationName;
49 @Column(name = "VERSION")
50 private Double version;
52 @Column(name = "DESCRIPTION")
53 private String description;
56 @Column(name = "BODY", columnDefinition = "LONGTEXT")
57 private String body = null;
59 @Column(name = "RESOURCE_TARGET")
60 private String resourceTarget;
62 @Column(name = "SOURCE")
63 private String source;
65 @Column(name = "TIMEOUT_MINUTES")
66 private Integer timeoutMinutes;
68 @Column(name = "ARTIFACT_CHECKSUM", nullable = false)
69 private String artifactChecksum = "RECORD";
71 @Column(name = "CREATION_TIMESTAMP", updatable = false)
72 @Temporal(TemporalType.TIMESTAMP)
75 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "workflow")
76 private List<VnfResourceWorkflow> vnfResourceWorkflow;
78 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "workflow")
79 private List<PnfResourceWorkflow> pnfResourceWorkflow;
81 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "workflow")
82 private List<WorkflowActivitySpecSequence> workflowActivitySpecSequence;
85 protected void onCreate() {
86 this.created = new Date();
89 public Integer getID() {
93 public String getArtifactUUID() {
97 public void setArtifactUUID(String artifactUUID) {
98 this.artifactUUID = artifactUUID;
101 public String getArtifactName() {
105 public void setArtifactName(String artifactName) {
106 this.artifactName = artifactName;
109 public String getName() {
113 public void setName(String name) {
117 public String getOperationName() {
118 return operationName;
121 public void setOperationName(String operationName) {
122 this.operationName = operationName;
125 public Double getVersion() {
129 public void setVersion(Double version) {
130 this.version = version;
133 public String getDescription() {
137 public void setDescription(String description) {
138 this.description = description;
141 public String getBody() {
145 public void setBody(String body) {
149 public String getResourceTarget() {
150 return resourceTarget;
153 public void setResourceTarget(String resourceTarget) {
154 this.resourceTarget = resourceTarget;
157 public String getSource() {
161 public void setSource(String source) {
162 this.source = source;
165 public Integer getTimeoutMinutes() {
166 return timeoutMinutes;
169 public void setTimeoutMinutes(Integer timeoutMinutes) {
170 this.timeoutMinutes = timeoutMinutes;
173 public String getArtifactChecksum() {
174 return artifactChecksum;
177 public void setArtifactChecksum(String artifactChecksum) {
178 this.artifactChecksum = artifactChecksum;
181 public Date getCreated() {
185 public void setCreated(Date created) {
186 this.created = created;
190 public List<VnfResourceWorkflow> getVnfResourceWorkflow() {
191 return vnfResourceWorkflow;
194 public void setVnfResourceWorkflow(List<VnfResourceWorkflow> vnfResourceWorkflow) {
195 this.vnfResourceWorkflow = vnfResourceWorkflow;
199 public List<PnfResourceWorkflow> getPnfResourceWorkflow() {
200 return pnfResourceWorkflow;
203 public void setPnfResourceWorkflow(List<PnfResourceWorkflow> pnfResourceWorkflow) {
204 this.pnfResourceWorkflow = pnfResourceWorkflow;
208 public List<WorkflowActivitySpecSequence> getWorkflowActivitySpecSequence() {
209 return workflowActivitySpecSequence;
212 public void setWorkflowActivitySpecSequence(List<WorkflowActivitySpecSequence> workflowActivitySpecSequence) {
213 this.workflowActivitySpecSequence = workflowActivitySpecSequence;
217 public String toString() {
218 return new ToStringBuilder(this).append("ID", ID).append("artifactUUID", artifactUUID)
219 .append("artifactName", artifactName).append("name", name).append("operationName", operationName)
220 .append("version", version).append("description", description).append("body", body)
221 .append("resourceTarget", resourceTarget).append("source", source)
222 .append("timeoutMinutes", timeoutMinutes).append("artifactChecksum", artifactChecksum)
223 .append("created", created).append("vnfResourceWorkflow", vnfResourceWorkflow)
224 .append("pnfResourceWorkflow", pnfResourceWorkflow)
225 .append("WorkflowActivitySpecSequence", workflowActivitySpecSequence).toString();
229 public boolean equals(final Object other) {
230 if (!(other instanceof Workflow)) {
233 Workflow castOther = (Workflow) other;
234 return new EqualsBuilder().append(ID, castOther.ID).isEquals();
238 public int hashCode() {
239 return new HashCodeBuilder().append(ID).toHashCode();