--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/Task.java 2016/02/03 15:13:55 2902 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/Task.java 2016/02/03 18:45:33 2903 @@ -1,17 +1,19 @@ package dk.daoas.adressevedligehold.tasks; import dk.daoas.adressevedligehold.util.TimingHelper; - import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; public abstract class Task implements Runnable { + private TaskLogger logger = TaskLogger.getInstance(); + public enum TaskState { STATE_QUEUED, STATE_RUNNING, STATE_DONE, STATE_ABORTED; } @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")//bliver læst via gson - og det forvirrer findbugs public static class TaskBean { + public int id; public String description; public String detail; public String errorMessage; @@ -24,14 +26,23 @@ protected TaskManager manager; private String errorMsg; - public void setManager(TaskManager manager) { + private String logMessages; + + private int id; + + public final void setManager(TaskManager manager) { this.manager = manager; } @Override public final void run() { + + TaskLogger.getInstance().reset(); + TimingHelper timing = new TimingHelper(); - System.out.println("Starting " + this.getDescription() ); + + + logger.info("Starting " + this.getDescription() ); this.state = TaskState.STATE_RUNNING; manager.setCurrentTask(this); @@ -47,11 +58,28 @@ manager.setCurrentTask(null); - System.out.println("Done " + this.getDescription() + " " + timing.getElapsed() + "ms"); + logger.info("Done " + this.getDescription() + " " + timing.getElapsed() + "ms"); + + logMessages = TaskLogger.getInstance().getBuffer(); + } + + public final String getLog() { + if (this.state == TaskState.STATE_RUNNING) { + return TaskLogger.getInstance().getBuffer(); //if live return current log buffer content + } else { + return logMessages; + } } + public final void setId(int newId) { + this.id = newId; + } + + public final int getId() { + return this.id; + } - public TaskState getState() { + public final TaskState getState() { return this.state; } @@ -65,7 +93,7 @@ public TaskBean getTaskBean() { TaskBean bean = new TaskBean(); - + bean.id = this.getId(); bean.description = this.getDescription(); bean.detail = this.getDetail(); bean.percentCompleted = this.getPercentCompleted();