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.Optional.fromNullable;
 import static com.google.common.base.Preconditions.checkNotNull;

Gives the Helios host status for the agent, which includes all jobs, their statuses, as well as host and agent information.
 {
   "agentInfo" : { #... see the description of AgentInfo },
   "environment" : {
     "SYSLOG_HOST_PORT" : "10.99.0.1:514",
   },
   "hostInfo" : { #... see the description of HostInfo },
   "jobs" : {
     "myservice:0.5:3539b7bc2235d53f79e6e8511942bbeaa8816265" : {
       "goal" : "START",
       "jobId" : "myservice:0.5:3539b7bc2235d53f79e6e8511942bbeaa8816265",
     }
   },
   "status" : "UP",
   "statuses" : {
     "elva:0.0.4:9f64cf43353c55c36276b7df76b066584f9c49aa" : {
       "containerId" : "5a31d4fd48b5b4349980175e2f865494146704e684d89b6a95a9a766cc2f43a3",
       "env" : {
         "SYSLOG_HOST_PORT" : "10.99.0.1:514",
       },
       "goal" : "START",
       "job" : { #... See definition of Job },
       "state" : "RUNNING",
       "throttled" : "NO"
     }
   }
 }
 
 
 public class HostStatus extends Descriptor {
 
   public static enum Status {
     UP,
     DOWN
   }
 
   private final Status status;
   private final HostInfo hostInfo;
   private final AgentInfo agentInfo;
   private final Map<JobIdDeploymentjobs;
   private final Map<JobIdTaskStatusstatuses;
   private final Map<StringStringenvironment;

  
Constructor.

Parameters:
jobs Map of jobs and their deployments for this host.
statuses the statuses of jobs on this host.
status The up/down status of this host.
hostInfo The host information.
agentInfo The agent information.
environment The environment provided to the agent on it's command line.
 
   public HostStatus(@JsonProperty("jobs"final Map<JobIdDeploymentjobs,
                     @JsonProperty("statuses"final Map<JobIdTaskStatusstatuses,
                     @JsonProperty("status"final Status status,
                     @JsonProperty("hostInfo"final HostInfo hostInfo,
                     @JsonProperty("agentInfo"final AgentInfo agentInfo,
                    @JsonProperty("environment"final Map<StringStringenvironment) {
    this. = checkNotNull(status"status");
    this. = checkNotNull(jobs"jobs");
    this. = checkNotNull(statuses"statuses");
    // Host, runtime info and environment might not be available
    this. = hostInfo;
    this. = agentInfo;
    this. = fromNullable(environment).or(Collections.<StringString>emptyMap());
  }
  public Map<StringStringgetEnvironment() {
    return ;
  }
  public Status getStatus() {
    return ;
  }
  public HostInfo getHostInfo() {
    return ;
  }
  public AgentInfo getAgentInfo() {
    return ;
  }
  public Map<JobIdDeploymentgetJobs() {
    return ;
  }
  public Map<JobIdTaskStatusgetStatuses() {
    return ;
  }
  public static Builder newBuilder() {
    return new Builder();
  }
  public static class Builder {
    private Map<JobIdDeploymentjobs;
    private Map<JobIdTaskStatusstatuses;
    private Status status;
    private HostInfo hostInfo;
    private AgentInfo agentInfo;
    private Map<StringStringenvironment;
    public Builder setJobs(final Map<JobIdDeploymentjobs) {
      this. = jobs;
      return this;
    }
    public Builder setStatuses(final Map<JobIdTaskStatusstatuses) {
      this. = statuses;
      return this;
    }
    public Builder setStatus(final Status status) {
      this. = status;
      return this;
    }
    public Builder setHostInfo(final HostInfo hostInfo) {
      this. = hostInfo;
      return this;
    }
    public Builder setAgentInfo(final AgentInfo agentInfo) {
      this. = agentInfo;
      return this;
    }
    public Builder setEnvironment(final Map<StringStringenvironment) {
      this. = environment;
      return this;
    }
    public HostStatus build() {
      return new HostStatus();
    }
  }
  public boolean equals(final Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    final HostStatus that = (HostStatuso;
    if ( != null ? !.equals(that.hostInfo) : that.hostInfo != null) {
      return false;
    }
    if ( != null ? !.equals(that.jobs) : that.jobs != null) {
      return false;
    }
    if ( != null ? !.equals(that.agentInfo) : that.agentInfo != null) {
      return false;
    }
    if ( != that.status) {
      return false;
    }
    if ( != null ? !.equals(that.statuses) : that.statuses != null) {
      return false;
    }
    if ( != null ? !.equals(that.environment) : that.environment != null) {
      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);
    return result;
  }
  public String toString() {
    final String strEnv = Joiner.on(", ").join(
        Iterables.transform(.entrySet(), new Function<Entry<StringString>, String>() {
          @Override
          public String apply(Entry<StringStringentry) {
            return entry.getKey() + "=" + entry.getValue();
          }
        }));
    return "HostStatus{" +
           "status=" +  +
           ", hostInfo=" +  +
           ", agentInfo=" +  +
           ", jobs=" +  +
           ", statuses=" +  +
           ", environment={" + strEnv + "}" +
           '}';
  }
New to GrepCode? Check out our FAQ X