/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.utils.cluster.internal;
import de.rcenvironment.core.utils.cluster.ClusterJobInformation;
/**
* Implementation of {@link ClusterJobInformation} enhanced with setter methods to modify information by other classes within this bundle.
* @author Doreen Seider
*/
public class ClusterJobInformationImpl implements ClusterJobInformation {
/** Constant which is returned, if one of the optional fields are not set. */
public static final String NO_VALUE_SET = "-";
/** Constant which is returned, if one of the required fields are not set. */
public static final String VALUE_NA = "n/a";
private static final String EMPTY_SPACE = " ";
private String jobId = VALUE_NA;
private String user = VALUE_NA;
private String queue = VALUE_NA;
private String jobName = VALUE_NA;
private ClusterJobState jobState = ClusterJobState.Unknown;
private ClusterJobTimesInformation clusterJobTimesInformation = new ClusterJobTimesInformation();
@Override
public String getJobId() {
return jobId;
}
@Override
public String getUser() {
return user;
}
@Override
public String getQueue() {
return queue;
}
@Override
public String getRemainingTime() {
return clusterJobTimesInformation.getRemainingTime();
}
@Override
public String getStartTime() {
return clusterJobTimesInformation.getStartTime();
}
@Override
public String getQueueTime() {
return clusterJobTimesInformation.getQueueTime();
}
@Override
public String getJobName() {
return jobName;
}
@Override
public ClusterJobState getJobState() {
return jobState;
}
public void setJobId(String jobId) {
this.jobId = jobId;
}
public void setUser(String user) {
this.user = user;
}
public void setQueue(String queue) {
this.queue = queue;
}
public void setClusterJobTimesInformation(ClusterJobTimesInformation clusterJobTimesInformation) {
this.clusterJobTimesInformation = clusterJobTimesInformation;
}
public void setJobName(String jobName) {
this.jobName = jobName;
}
public void setJobState(ClusterJobState jobState) {
this.jobState = jobState;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder("Cluster job: ");
builder.append(jobId);
builder.append(EMPTY_SPACE);
builder.append(user);
builder.append(EMPTY_SPACE);
builder.append(queue);
builder.append(EMPTY_SPACE);
builder.append(getRemainingTime());
builder.append(EMPTY_SPACE);
builder.append(getStartTime());
builder.append(EMPTY_SPACE);
builder.append(getQueueTime());
builder.append(EMPTY_SPACE);
builder.append(jobName);
builder.append(EMPTY_SPACE);
builder.append(jobState);
return builder.toString();
}
}