data-miner-manager-cl/src/main/java/org/gcube/data/analysis/dataminermanagercl/shared/process/ComputationStatus.java

118 lines
2.2 KiB
Java

package org.gcube.data.analysis.dataminermanagercl.shared.process;
import java.io.Serializable;
/**
*
* @author Giancarlo Panichi
*
*
*/
public class ComputationStatus implements Serializable {
private static final long serialVersionUID = -1943128398882978439L;
public enum Status {
ACCEPTED, RUNNING, COMPLETE, FAILED, CANCELLED;
};
private double percentage;
private Status status;
private String message;
private Exception error;
public ComputationStatus() {
this.status = Status.ACCEPTED;
}
public ComputationStatus(double percentage) {
super();
this.percentage = percentage;
this.status = Status.RUNNING;
}
public ComputationStatus(Status status, double percentage) {
super();
this.percentage = percentage;
this.status = status;
}
public ComputationStatus(Exception error) {
super();
this.percentage = 100f;
this.status = Status.FAILED;
this.error = error;
}
public boolean isComplete() {
return this.status == Status.COMPLETE;
}
public boolean isFailed() {
return this.status == Status.FAILED;
}
public boolean isRunning() {
return this.status == Status.RUNNING;
}
public boolean isAccepted() {
return this.status == Status.ACCEPTED;
}
public boolean isCancelled() {
return this.status == Status.CANCELLED;
}
public boolean isPaused() {
return false;
// return this.status == Status.FAILED;
}
public boolean isTerminated() {
return status == Status.COMPLETE || status == Status.FAILED
|| status == Status.CANCELLED;
}
public double getPercentage() {
return percentage;
}
public void setPercentage(double percentage) {
this.percentage = percentage;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Exception getError() {
return error;
}
public void setError(Exception error) {
this.error = error;
}
@Override
public String toString() {
return "ComputationStatus [percentage=" + percentage + ", status="
+ status + ", message=" + message + ", error=" + error + "]";
}
}