/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/Task.java
ViewVC logotype

Diff of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/Task.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2838 by torben, Sun Jan 24 21:48:55 2016 UTC revision 2864 by torben, Thu Jan 28 11:25:01 2016 UTC
# Line 2  package dk.daoas.adressevedligehold.task Line 2  package dk.daoas.adressevedligehold.task
2    
3  import dk.daoas.adressevedligehold.util.TimingHelper;  import dk.daoas.adressevedligehold.util.TimingHelper;
4    
5    import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
6    
7  public abstract class Task implements Runnable {  public abstract class Task implements Runnable {
8                    
9          public enum TaskState {          public enum TaskState {
10                  STATE_QUEUED, STATE_RUNNING, STATE_DONE, STATE_ABORTED;                  STATE_QUEUED, STATE_RUNNING, STATE_DONE, STATE_ABORTED;
11          }          }
12                    
13            @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")//bliver læst via gson - og det forvirrer findbugs
14          public static class TaskBean {          public static class TaskBean {
15                  public String description;                  public String description;
16                  public String detail;                  public String detail;
17                    public String errorMessage;
18                  public double percentCompleted;                  public double percentCompleted;
19                  public String state;                  public String state;
20          }          }
# Line 18  public abstract class Task implements Ru Line 22  public abstract class Task implements Ru
22          protected boolean abort = false;          protected boolean abort = false;
23          protected TaskState state = TaskState.STATE_QUEUED;          protected TaskState state = TaskState.STATE_QUEUED;
24          protected TaskManager manager;          protected TaskManager manager;
25            private String errorMsg;
26                    
27          public void setManager(TaskManager manager) {          public void setManager(TaskManager manager) {
28                  this.manager = manager;                  this.manager = manager;
# Line 35  public abstract class Task implements Ru Line 40  public abstract class Task implements Ru
40                          taskRun();                          taskRun();
41                          this.state = TaskState.STATE_DONE;                          this.state = TaskState.STATE_DONE;
42                  } catch (Exception e) {                  } catch (Exception e) {
43                            this.errorMsg = e.getMessage();
44                            e.printStackTrace();
45                          this.state = TaskState.STATE_ABORTED;                          this.state = TaskState.STATE_ABORTED;
46                  }                  }
47                                    
# Line 59  public abstract class Task implements Ru Line 66  public abstract class Task implements Ru
66                  bean.detail = this.getDetail();                  bean.detail = this.getDetail();
67                  bean.percentCompleted = this.getPercentCompleted();                  bean.percentCompleted = this.getPercentCompleted();
68                  bean.state = this.state.toString();                  bean.state = this.state.toString();
69                    bean.errorMessage = this.getErrorMessage();
70                                    
71                  return bean;                  return bean;
72          }          }
73                    
74          protected abstract void taskRun();          public String getErrorMessage() {
75                    return this.errorMsg;
76            }
77            
78            /**
79             * @throws Exception
80             *
81             * Implementing classes should not catch terminating exceptions but let it propagate to Task the Task::run()
82             * method.
83             */
84            protected abstract void taskRun() throws Exception;
85                    
86          public abstract String getDescription();          public abstract String getDescription();
87          public abstract String getDetail();          public abstract String getDetail();

Legend:
Removed from v.2838  
changed lines
  Added in v.2864

  ViewVC Help
Powered by ViewVC 1.1.20