Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2014 Spotify AB.
   *
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package com.spotify.helios.common.descriptors;
 
 
 
 
 import java.util.Map;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static java.util.Collections.emptyMap;

The state of the deployed job (aka a task). A typical JSON representation might be:
 {
   "containerId" : "e890d827e802934a29c97d7e9e3c96a55ca049e519ab0c28be8020621a0a3750",
   "env" : {
     "SYSLOG_HOST_PORT" : "10.99.0.1:514"
   },
   "goal" : "START",
   "job" : { #... see the definition of Job },
   "ports" : {
     "http" : {
       "externalPort" : 8080,
       "internalPort" : 8080,
       "protocol" : "tcp"
     },
     "http-admin" : {
       "externalPort" : 8081,
       "internalPort" : 8081,
       "protocol" : "tcp"
     }
   },
   "state" : "RUNNING",
   "throttled" : "NO"
 },
 
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class TaskStatus extends Descriptor {
 
   private static final Map<StringPortMappingEMPTY_PORTS = emptyMap();
 
   public enum State {
     PULLING_IMAGE,
     CREATING,
     STARTING,
     HEALTHCHECKING,
     RUNNING,
     EXITED,
     STOPPING,
     STOPPED,
     FAILED,
     UNKNOWN
   }
 
   private final Job job;
   private final Goal goal;
   private final State state;
   private final String containerId;
   private final ThrottleState throttled;
   private final Map<StringPortMappingports;
   private final Map<StringStringenv;

  

Parameters:
job The job the task is running.
goal The desired state of the task.
state The state of the task.
containerId The containerId, if the task has one (yet).
throttled The throttle state of the task.
ports The ports actually assigned to the task.
env The environment passed to the container.
  public TaskStatus(@JsonProperty("job"final Job job,
                    @Nullable @JsonProperty("goal"final Goal goal,
                    @JsonProperty("state"final State state,
                    @Nullable @JsonProperty("containerId"final String containerId,
                    @JsonProperty("throttled"final ThrottleState throttled,
                    @JsonProperty("ports"final Map<StringPortMappingports,
                    @Nullable @JsonProperty("env"final Map<StringStringenv) {
    this. = checkNotNull(job"job");
    this. = goal// TODO (dano): add null check when all masters are upgraded
    this. = checkNotNull(state"state");
    // Optional
    this. = containerId;
    this. = Optional.fromNullable(throttled).or(.);
    this. = Optional.fromNullable(ports).or();
    this. = Optional.fromNullable(env).or(Maps.<StringString>newHashMap());
  }
  public Builder asBuilder() {
    return newBuilder()
        .setJob()
        .setGoal()
        .setState()
        .setContainerId()
        .setThrottled()
        .setPorts()
        .setEnv();
  }
  private TaskStatus(final Builder builder) {
    this. = checkNotNull(builder.job"job");
    this. = checkNotNull(builder.goal"goal");
    this. = checkNotNull(builder.state"state");
    // Optional
    this. = builder.containerId;
    this. = Optional.fromNullable(builder.throttled).or(.);
    this. = Optional.fromNullable(builder.ports).or();
    this. = Optional.fromNullable(builder.env).or(Maps.<StringString>newHashMap());
  }
  public ThrottleState getThrottled() {
    return ;
  }
  public String getContainerId() {
    return ;
  }
  public Goal getGoal() {
    return ;
  }
  public State getState() {
    return ;
  }
  public Job getJob() {
    return ;
  }
  public Map<StringPortMappinggetPorts() {
    return ;
  }
  public Map<StringStringgetEnv() {
    return ;
  }
  public String toString() {
    return Objects.toStringHelper(this)
        .add("job")
        .add("goal")
        .add("state")
        .add("containerId")
        .add("throttled")
        .add("ports")
        .add("env")
        .toString();
  }
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    TaskStatus that = (TaskStatuso;
    if ( != null ? !.equals(that.containerId) : that.containerId != null) {
      return false;
    }
    if ( != null ? !.equals(that.env) : that.env != null) {
      return false;
    }
    if ( != that.goal) {
      return false;
    }
    if ( != null ? !.equals(that.job) : that.job != null) {
      return false;
    }
    if ( != null ? !.equals(that.ports) : that.ports != null) {
      return false;
    }
    if ( != that.state) {
      return false;
    }
    if ( != that.throttled) {
      return false;
    }
    return true;
  }
  public int hashCode() {
    int result =  != null ? .hashCode() : 0;
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    return result;
  }
  public static Builder newBuilder() {
    return new Builder();
  }
  public static class Builder {
    Builder() {}
    private Job job;
    private Goal goal;
    private State state;
    private String containerId;
    private Map<StringPortMappingports;
    private ThrottleState throttled;
    private Map<StringStringenv;
    public Builder setJob(final Job job) {
      this. = job;
      return this;
    }
    public Builder setGoal(Goal goal) {
      this. = goal;
      return this;
    }
    public Builder setState(final State state) {
      this. = state;
      return this;
    }
    public Builder setContainerId(final String containerId) {
      this. = containerId;
      return this;
    }
    public Builder setPorts(final Map<StringPortMappingports) {
      this. = ports;
      return this;
    }
    public Builder setThrottled(final ThrottleState throttled) {
      this. = throttled;
      return this;
    }
    public Builder setEnv(final Map<StringStringenv) {
      this. = env;
      return this;
    }
    public TaskStatus build() {
      return new TaskStatus(this);
    }
  }
New to GrepCode? Check out our FAQ X