All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.singularity.SingularityTaskHistory Maven / Gradle / Ivy

The newest version!
package com.hubspot.singularity;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.hubspot.mesos.JavaUtils;

public class SingularityTaskHistory {

  private final List taskUpdates;
  private final Optional directory;
  private final SingularityTask task;
  private final List healthcheckResults;
  private final List loadBalancerUpdates;
  private final List shellCommandHistory;
  private final List taskMetadata;

  @JsonCreator
  public SingularityTaskHistory(@JsonProperty("taskUpdates") List taskUpdates, @JsonProperty("directory") Optional directory,
      @JsonProperty("healthcheckResults") List healthcheckResults, @JsonProperty("task") SingularityTask task,
      @JsonProperty("loadBalancerUpdates") List loadBalancerUpdates,
      @JsonProperty("shellCommandHistory") List shellCommandHistory,
      @JsonProperty("taskMetadata") List taskMetadata) {
    this.directory = directory;
    this.task = task;
    this.taskUpdates = JavaUtils.nonNullImmutable(taskUpdates);
    this.healthcheckResults = JavaUtils.nonNullImmutable(healthcheckResults);
    this.loadBalancerUpdates = JavaUtils.nonNullImmutable(loadBalancerUpdates);
    this.shellCommandHistory = JavaUtils.nonNullImmutable(shellCommandHistory);
    this.taskMetadata = JavaUtils.nonNullImmutable(taskMetadata);
  }

  public List getTaskUpdates() {
    return taskUpdates;
  }

  public Optional getDirectory() {
    return directory;
  }

  public SingularityTask getTask() {
    return task;
  }

  public List getTaskMetadata() {
    return taskMetadata;
  }

  public List getHealthcheckResults() {
    return healthcheckResults;
  }

  public List getLoadBalancerUpdates() {
    return loadBalancerUpdates;
  }

  public List getShellCommandHistory() {
    return shellCommandHistory;
  }

  @JsonIgnore
  public Optional getLastTaskUpdate() {
    return JavaUtils.getLast(getTaskUpdates());
  }

  @Override
  public String toString() {
    return "SingularityTaskHistory [taskUpdates=" + taskUpdates + ", directory=" + directory + ", task=" + task + ", healthcheckResults=" + healthcheckResults + ", loadBalancerUpdates="
        + loadBalancerUpdates + ", shellCommandHistory=" + shellCommandHistory + ", taskMetadata=" + taskMetadata + "]";
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy