--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/Task.java 2016/02/04 09:22:05 2915 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/Task.java 2016/03/29 19:49:38 2993 @@ -37,6 +37,12 @@ @Override public final void run() { + if (this.state == TaskState.STATE_ABORTED) {//if this task as cancelled while still in queue + return; + } + + + TaskLogger.getInstance().reset(); TimingHelper timing = new TimingHelper(); @@ -56,8 +62,8 @@ } catch (Exception e) { + logger.warning("Error during taskrun", e); this.errorMsg = e.getMessage(); - e.printStackTrace(); this.state = TaskState.STATE_ABORTED; } @@ -66,6 +72,10 @@ logger.info("Done " + this.getDescription() + " " + timing.getElapsed() + "ms"); logMessages = TaskLogger.getInstance().getBuffer(); + + + + } public final String getLog() { @@ -96,6 +106,11 @@ this.abort = true; } + public void doAbort(Exception e) { + this.abort = true; + this.errorMsg = e.getMessage(); + } + public TaskBean getTaskBean() { TaskBean bean = new TaskBean(); bean.id = this.getId(); @@ -112,6 +127,21 @@ return this.errorMsg; } + @Override + public int hashCode() { + return this.id; + } + + @Override + public boolean equals(Object o) { + if (! (o instanceof Task)) + return false; + + Task otherTask = (Task) o; + + return this.getId() == otherTask.getId(); + } + /** * @throws Exception *