package com.constellio.app.entities.modules; import java.io.Serializable; import com.jgoodies.common.collect.ArrayListModel; import com.jgoodies.common.collect.ObservableList; public class ProgressInfo implements Serializable { private String task; private String progressMessage; private long currentState = 0; private long end; private boolean done; private ObservableList<String> errorMessages = new ArrayListModel<>(); public String getTask() { return task; } public void setTask(String task) { this.task = task; } public long getEnd() { return end; } public void setEnd(long end) { this.end = end; } public long getCurrentState() { return currentState; } public void setCurrentState(long currentState) { this.currentState = currentState; } public String getProgressMessage() { return progressMessage; } public void setProgressMessage(String progressMessage) { this.progressMessage = progressMessage; } public ObservableList<String> getErrorMessages() { return errorMessages; } public void setErrorMessages(ObservableList<String> errorMessages) { this.errorMessages = errorMessages; } public boolean isDone() { return done; } public void setDone(boolean done) { this.done = done; } public void reset() { setTask(null); setEnd(0); setCurrentState(0); setProgressMessage(null); setErrorMessages(new ArrayListModel<String>()); setDone(false); } public Float getProgress() { Float progress; if (done) { progress = 1f; } else if (end == 0) { progress = null; } else { progress = ((float) currentState / end); if (progress > 1) { progress = 1f; } if (progress == 1 || !done) { done = true; } } return progress; } }