Package nl.topicus.onderwijs.dashboard.modules.topicus

Source Code of nl.topicus.onderwijs.dashboard.modules.topicus.TopicusServerStatus

package nl.topicus.onderwijs.dashboard.modules.topicus;

import java.io.Serializable;
import java.io.StringWriter;
import java.util.Date;

import nl.topicus.onderwijs.dashboard.datatypes.DotColor;

import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;

public class TopicusServerStatus implements Serializable {
  private static final long serialVersionUID = 1L;
  private Date lastCheckTime;
  private String version;
  private int numberOfUsers;
  private int numberOfErrors;
  private long uptime;
  private DotColor serverStatus;
  private Integer requestsPerMinute;
  private Integer averageRequestDuration;
  private String url;
  private String code;

  public TopicusServerStatus(String code, String url) {
    this.code = code;
    this.url = url;
  }

  public Date getTime() {
    return lastCheckTime;
  }

  public void setTime(Date time) {
    this.lastCheckTime = time;
  }

  public String getVersion() {
    return version == null ? "n/a" : version;
  }

  public void setVersion(String version) {
    this.version = version;
  }

  public int getNumberOfUsers() {
    return numberOfUsers;
  }

  public void setNumberOfUsers(int numberOfUsers) {
    this.numberOfUsers = numberOfUsers;
  }

  public int getNumberOfErrors() {
    return numberOfErrors;
  }

  public void setNumberOfErrors(int numberOfErrors) {
    this.numberOfErrors = numberOfErrors;
  }

  public Integer getAverageRequestDuration() {
    return averageRequestDuration;
  }

  public void setAverageRequestDuration(int averageRequestDuration) {
    this.averageRequestDuration = averageRequestDuration;
  }

  public Integer getRequestsPerMinute() {
    return requestsPerMinute;
  }

  public void setRequestsPerMinute(Integer requestsPerMinute) {
    this.requestsPerMinute = requestsPerMinute;
  }

  public Long getUptime() {
    return uptime;
  }

  public void setUptime(Long uptime) {
    this.uptime = uptime;
  }

  public DotColor getServerStatus() {
    return serverStatus;
  }

  public void setServerStatus(DotColor serverStatus) {
    this.serverStatus = serverStatus;
  }

  public String getCode() {
    return code;
  }

  public String getUrl() {
    return url;
  }

  public boolean isOnline() {
    return getServerStatus() == DotColor.GREEN;
  }

  @Override
  public String toString() {
    ObjectMapper mapper = new ObjectMapper();
    StringWriter sw = new StringWriter();
    try {
      SerializationConfig config = mapper.getSerializationConfig();
      config.setSerializationInclusion(Inclusion.NON_NULL);
      mapper.writeValue(sw, this);
    } catch (Exception e) {
      e.printStackTrace();
    }
    return sw.toString();
  }
}
TOP

Related Classes of nl.topicus.onderwijs.dashboard.modules.topicus.TopicusServerStatus

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.