[SO] Release so 1.13.0 image
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / Workflow.java
1 package org.onap.so.db.catalog.beans;
2
3 import java.io.Serializable;
4 import java.util.Date;
5 import java.util.List;
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;
24
25 @Entity
26 @RemoteResource("/workflow")
27 @Table(name = "workflow")
28 public class Workflow implements Serializable {
29
30     private static final long serialVersionUID = 1485794141983033264L;
31
32     @Id
33     @Column(name = "ID", nullable = false, updatable = false)
34     @GeneratedValue(strategy = GenerationType.IDENTITY)
35     private Integer ID;
36
37     @Column(name = "ARTIFACT_UUID")
38     private String artifactUUID;
39
40     @Column(name = "ARTIFACT_NAME")
41     private String artifactName;
42
43     @Column(name = "NAME")
44     private String name;
45
46     @Column(name = "OPERATION_NAME")
47     private String operationName;
48
49     @Column(name = "VERSION")
50     private Double version;
51
52     @Column(name = "DESCRIPTION")
53     private String description;
54
55     @Lob
56     @Column(name = "BODY", columnDefinition = "LONGTEXT")
57     private String body = null;
58
59     @Column(name = "RESOURCE_TARGET")
60     private String resourceTarget;
61
62     @Column(name = "SOURCE")
63     private String source;
64
65     @Column(name = "TIMEOUT_MINUTES")
66     private Integer timeoutMinutes;
67
68     @Column(name = "ARTIFACT_CHECKSUM", nullable = false)
69     private String artifactChecksum = "RECORD";
70
71     @Column(name = "CREATION_TIMESTAMP", updatable = false)
72     @Temporal(TemporalType.TIMESTAMP)
73     private Date created;
74
75     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "workflow")
76     private List<VnfResourceWorkflow> vnfResourceWorkflow;
77
78     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "workflow")
79     private List<PnfResourceWorkflow> pnfResourceWorkflow;
80
81     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "workflow")
82     private List<WorkflowActivitySpecSequence> workflowActivitySpecSequence;
83
84     @PrePersist
85     protected void onCreate() {
86         this.created = new Date();
87     }
88
89     public Integer getID() {
90         return ID;
91     }
92
93     public String getArtifactUUID() {
94         return artifactUUID;
95     }
96
97     public void setArtifactUUID(String artifactUUID) {
98         this.artifactUUID = artifactUUID;
99     }
100
101     public String getArtifactName() {
102         return artifactName;
103     }
104
105     public void setArtifactName(String artifactName) {
106         this.artifactName = artifactName;
107     }
108
109     public String getName() {
110         return name;
111     }
112
113     public void setName(String name) {
114         this.name = name;
115     }
116
117     public String getOperationName() {
118         return operationName;
119     }
120
121     public void setOperationName(String operationName) {
122         this.operationName = operationName;
123     }
124
125     public Double getVersion() {
126         return version;
127     }
128
129     public void setVersion(Double version) {
130         this.version = version;
131     }
132
133     public String getDescription() {
134         return description;
135     }
136
137     public void setDescription(String description) {
138         this.description = description;
139     }
140
141     public String getBody() {
142         return body;
143     }
144
145     public void setBody(String body) {
146         this.body = body;
147     }
148
149     public String getResourceTarget() {
150         return resourceTarget;
151     }
152
153     public void setResourceTarget(String resourceTarget) {
154         this.resourceTarget = resourceTarget;
155     }
156
157     public String getSource() {
158         return source;
159     }
160
161     public void setSource(String source) {
162         this.source = source;
163     }
164
165     public Integer getTimeoutMinutes() {
166         return timeoutMinutes;
167     }
168
169     public void setTimeoutMinutes(Integer timeoutMinutes) {
170         this.timeoutMinutes = timeoutMinutes;
171     }
172
173     public String getArtifactChecksum() {
174         return artifactChecksum;
175     }
176
177     public void setArtifactChecksum(String artifactChecksum) {
178         this.artifactChecksum = artifactChecksum;
179     }
180
181     public Date getCreated() {
182         return created;
183     }
184
185     public void setCreated(Date created) {
186         this.created = created;
187     }
188
189     @LinkedResource
190     public List<VnfResourceWorkflow> getVnfResourceWorkflow() {
191         return vnfResourceWorkflow;
192     }
193
194     public void setVnfResourceWorkflow(List<VnfResourceWorkflow> vnfResourceWorkflow) {
195         this.vnfResourceWorkflow = vnfResourceWorkflow;
196     }
197
198     @LinkedResource
199     public List<PnfResourceWorkflow> getPnfResourceWorkflow() {
200         return pnfResourceWorkflow;
201     }
202
203     public void setPnfResourceWorkflow(List<PnfResourceWorkflow> pnfResourceWorkflow) {
204         this.pnfResourceWorkflow = pnfResourceWorkflow;
205     }
206
207     @LinkedResource
208     public List<WorkflowActivitySpecSequence> getWorkflowActivitySpecSequence() {
209         return workflowActivitySpecSequence;
210     }
211
212     public void setWorkflowActivitySpecSequence(List<WorkflowActivitySpecSequence> workflowActivitySpecSequence) {
213         this.workflowActivitySpecSequence = workflowActivitySpecSequence;
214     }
215
216     @Override
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();
226     }
227
228     @Override
229     public boolean equals(final Object other) {
230         if (!(other instanceof Workflow)) {
231             return false;
232         }
233         Workflow castOther = (Workflow) other;
234         return new EqualsBuilder().append(ID, castOther.ID).isEquals();
235     }
236
237     @Override
238     public int hashCode() {
239         return new HashCodeBuilder().append(ID).toHashCode();
240     }
241 }