package com.linkedin.thirdeye.datalayer.pojo; import com.linkedin.thirdeye.anomaly.task.TaskConstants.TaskStatus; import com.linkedin.thirdeye.anomaly.task.TaskConstants.TaskType; import java.sql.Timestamp; import java.util.Objects; /** * This class corresponds to anomaly tasks. An execution of an anomaly function creates an anomaly * job, which in turn spawns into 1 or more anomaly tasks. The anomaly tasks are picked by the * workers */ public class TaskBean extends AbstractBean { private TaskType taskType; private Long workerId; private Long jobId; private String jobName; private TaskStatus status; private long startTime; private long endTime; private String taskInfo; private Timestamp lastModified; public Long getWorkerId() { return workerId; } public void setWorkerId(Long workerId) { this.workerId = workerId; } public void setJobName(String jobName) { this.jobName = jobName; } public String getJobName() { return jobName; } public TaskStatus getStatus() { return status; } public void setStatus(TaskStatus status) { this.status = status; } public long getStartTime() { return startTime; } public void setStartTime(long startTime) { this.startTime = startTime; } public long getEndTime() { return endTime; } public void setEndTime(long endTime) { this.endTime = endTime; } public String getTaskInfo() { return taskInfo; } public void setTaskInfo(String taskInfo) { this.taskInfo = taskInfo; } public TaskType getTaskType() { return taskType; } public void setTaskType(TaskType taskType) { this.taskType = taskType; } public Timestamp getLastModified() { return lastModified; } public void setLastModified(Timestamp lastModified) { this.lastModified = lastModified; } public Long getJobId() { return jobId; } public void setJobId(Long jobId) { this.jobId = jobId; } @Override public boolean equals(Object o) { if (!(o instanceof TaskBean)) { return false; } TaskBean af = (TaskBean) o; return Objects.equals(getId(), af.getId()) && Objects.equals(status, af.getStatus()) && Objects.equals(startTime, af.getStartTime()) && Objects.equals(endTime, af.getEndTime()) && Objects.equals(taskInfo, af.getTaskInfo()); } @Override public int hashCode() { return Objects.hash(getId(), status, startTime, endTime, taskInfo); } }