Recording Task Event Times

From Java CoG Kit

Jump to: navigation, search

This is an example of how times for various events for a task can be recorded.

public static class EventTimeRecorder implements StatusListener {
  private Date submittingTime, submittedTime, activeTime, completedTime, failedTime;
  
  public EventTimeRecorder(Task task) {
    task.addStatusListener(this);
  }

  public void statusChanged(StatusEvent e) {
    Status s = e.getStatus();
    switch(e.getStatusCode()) {
      case Status.SUBMITTING: {
        submittingTime = s.getTime();
        break;
      }
      case Status.SUBMITTED: {
        submittedTime = s.getTime();
        break;
      }
      case Status.ACTIVE: {
        activeTime = s.getTime();
        break;
      }
      case Status.COMPLETED: {
        completedTime = s.getTime();
        break;
      }
      case Status.FAILED: {
        failedTime = s.getTime();
        break;
      }
    }
  }

  public Date getSubmittingTime() {
    return submittingTime;
  }

  public Date getSubmittedTime() {
    return submittedTime;
  }

  public Date getActiveTime() {
    return activeTime;
  }

  public Date getCompletedTime() {
    return completedTime;
  }

  public Date getFailedTime() {
    return failedTime;
  }
}
Personal tools
Collaboration and Jobs