/** * Copyright 2011 Intuit Inc. All Rights Reserved */ package com.intuit.tank.api.model.v1.job; /* * #%L * Job Rest Api * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * #L% */ import java.io.Serializable; import java.util.Date; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import org.apache.commons.lang3.builder.ToStringBuilder; /** * ProjectAggregate * * @author dangleton * */ @XmlRootElement(name = "job", namespace = Namespace.NAMESPACE_V1) @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Job", namespace = Namespace.NAMESPACE_V1, propOrder = { "id", "name", "status", "numUsers", "location", "startTime", "endTime", "rampTimeMilis", "simulationTimeMilis" }) public class JobTO implements Serializable { private static final long serialVersionUID = 1L; @XmlElement(name = "id", namespace = Namespace.NAMESPACE_V1, required = true, nillable = false) private Integer id; @XmlElement(name = "name", namespace = Namespace.NAMESPACE_V1, required = true, nillable = false) private String name; @XmlElement(name = "status", namespace = Namespace.NAMESPACE_V1, required = true, nillable = false) private String status; @XmlElement(name = "numUsers", namespace = Namespace.NAMESPACE_V1, required = true, nillable = false) private int numUsers; @XmlElement(name = "location", namespace = Namespace.NAMESPACE_V1, required = false, nillable = false) private String location; @XmlElement(name = "startTime", namespace = Namespace.NAMESPACE_V1, required = false, nillable = false) private Date startTime; @XmlElement(name = "endTime", namespace = Namespace.NAMESPACE_V1, required = false, nillable = false) private Date endTime; @XmlElement(name = "rampTimeMilis", namespace = Namespace.NAMESPACE_V1, required = false, nillable = false) private long rampTimeMilis; @XmlElement(name = "simulationTimeMilis", namespace = Namespace.NAMESPACE_V1, required = false, nillable = false) private long simulationTimeMilis; /** * @return the id */ public Integer getId() { return id; } /** * @param id * the id to set */ public void setId(Integer id) { this.id = id; } /** * @return the name */ public String getName() { return name; } /** * @return the status */ public String getStatus() { return status; } /** * @param status * the status to set */ public void setStatus(String status) { this.status = status; } /** * @param name * the name to set */ public void setName(String name) { this.name = name; } /** * @return the numUsers */ public int getNumUsers() { return numUsers; } /** * @param numUsers * the numUsers to set */ public void setNumUsers(int numUsers) { this.numUsers = numUsers; } /** * @return the location */ public String getLocation() { return location; } /** * @param location * the location to set */ public void setLocation(String location) { this.location = location; } /** * @return the startTime */ public Date getStartTime() { return startTime; } /** * @return the startTime */ public Date getSteadyStateStartTime() { if (startTime != null) { return new Date(startTime.getTime() + rampTimeMilis); } return null; } /** * @return the startTime */ public Date getSteadyStateEndTime() { Date ret = null; if (startTime != null) { if (simulationTimeMilis > 0) { ret = new Date(startTime.getTime() + simulationTimeMilis); } else if (endTime != null) { ret = new Date(endTime.getTime() - rampTimeMilis); } } return ret; } /** * @param startTime * the startTime to set */ public void setStartTime(Date startTime) { this.startTime = startTime; } /** * @return the endTime */ public Date getEndTime() { return endTime; } /** * @param endTime * the endTime to set */ public void setEndTime(Date endTime) { this.endTime = endTime; } /** * @return the rampTimeMilis */ public long getRampTimeMilis() { return rampTimeMilis; } /** * @param rampTimeMilis * the rampTimeMilis to set */ public void setRampTimeMilis(long rampTimeMilis) { this.rampTimeMilis = rampTimeMilis; } /** * @return the simulationTimeMilis */ public long getSimulationTimeMilis() { return simulationTimeMilis; } /** * @param simulationTimeMilis * the simulationTimeMilis to set */ public void setSimulationTimeMilis(long simulationTimeMilis) { this.simulationTimeMilis = simulationTimeMilis; } /** * @{inheritDoc */ @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }