
com.hubspot.singularity.SingularityRequestWithState Maven / Gradle / Ivy
The newest version!
package com.hubspot.singularity;
import javax.annotation.Nonnull;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Function;
import com.google.common.base.Optional;
public class SingularityRequestWithState {
private final SingularityRequest request;
private final RequestState state;
private final long timestamp;
public static Function REQUEST_STATE_TO_REQUEST_ID = new Function() {
@Override
public String apply(@Nonnull SingularityRequestWithState input) {
return input.getRequest().getId();
}
};
public static String getRequestState(Optional maybeRequestWithState) {
if (maybeRequestWithState.isPresent()) {
return maybeRequestWithState.get().getState().name();
}
return "MISSING";
}
public static boolean isActive(Optional maybeRequestWithState) {
return maybeRequestWithState.isPresent() && maybeRequestWithState.get().getState().isRunnable();
}
@JsonCreator
public SingularityRequestWithState(@JsonProperty("request") SingularityRequest request, @JsonProperty("state") RequestState state, @JsonProperty("timestamp") long timestamp) {
this.request = request;
this.state = state;
this.timestamp = timestamp;
}
public long getTimestamp() {
return timestamp;
}
public RequestState getState() {
return state;
}
public SingularityRequest getRequest() {
return request;
}
@Override
public String toString() {
return "SingularityRequestWithState [request=" + request + ", state=" + state + ", timestamp=" + timestamp + "]";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy