package com.sequenceiq.cloudbreak.domain; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import com.sequenceiq.cloudbreak.api.model.DetailedStackStatus; import com.sequenceiq.cloudbreak.api.model.Status; @Entity @Table(name = "stackstatus") public class StackStatus implements ProvisionEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "stackstatus_generator") @SequenceGenerator(name = "stackstatus_generator", sequenceName = "stackstatus_id_seq", allocationSize = 1) private Long id; @ManyToOne(fetch = FetchType.LAZY) private Stack stack; private Long created; @Enumerated(EnumType.STRING) private Status status; @Column(columnDefinition = "TEXT") private String statusReason; @Enumerated(EnumType.STRING) private DetailedStackStatus detailedStackStatus; public StackStatus() { } public StackStatus(Stack stack, Status status, String statusReason, DetailedStackStatus detailedStackStatus) { this.stack = stack; this.status = status; this.statusReason = statusReason; this.detailedStackStatus = detailedStackStatus; this.created = new Date().getTime(); } public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setStack(Stack stack) { this.stack = stack; } public Stack getStack() { return stack; } public void setStatus(Status status) { this.status = status; } public Status getStatus() { return status; } public void setStatusReason(String statusReason) { this.statusReason = statusReason; } public String getStatusReason() { return statusReason; } public void setDetailedStackStatus(DetailedStackStatus detailedStackStatus) { this.detailedStackStatus = detailedStackStatus; } public DetailedStackStatus getDetailedStackStatus() { return detailedStackStatus; } public void setCreated(Long created) { this.created = created; } public Long getCreated() { return created; } }