public void task(final JobId jobId, final String host, final TaskStatus ts,
final Deployment deployment) {
final String goal = (deployment == null) ? "" : deployment.getGoal().toString();
final int maxContainerId = full ? Integer.MAX_VALUE : 7;
final String jobIdString = full ? jobId.toString() : jobId.toShortString();
if (ts == null) {
table.row(jobIdString, host, goal, "", "", "");
} else {
final List<String> portMappings = new ArrayList<>();
for (final Map.Entry<String, PortMapping> entry : ts.getPorts().entrySet()) {
final PortMapping portMapping = entry.getValue();
portMappings.add(String.format("%s=%d:%d", entry.getKey(),
portMapping.getInternalPort(),
portMapping.getExternalPort()));
}
String state = ts.getState().toString();
if (ts.getThrottled() != ThrottleState.NO) {
state += " (" + ts.getThrottled() + ")";
}
final String ports = Joiner.on(" ").join(portMappings);
final String cid = truncate(fromNullable(ts.getContainerId()).or(""), maxContainerId, "");
table.row(jobIdString, host, goal, state, cid, ports);
}
}