in brooklyn-server/core/src/main/java/org/apache/brooklyn/util/core/task/BasicTask.java [511:585]
protected String getStatusString(int verbosity) {
// Thread t = getThread();
String rv;
if (submitTimeUtc <= 0) rv = "Not submitted";
else if (!isCancelled() && startTimeUtc <= 0) {
rv = "Submitted for execution";
if (verbosity>0) {
long elapsed = System.currentTimeMillis() - submitTimeUtc;
rv += " "+Time.makeTimeStringRoundedSince(elapsed)+" ago";
}
if (verbosity >= 2 && getExtraStatusText()!=null) {
rv += "\n\n"+getExtraStatusText();
}
} else if (isDone()) {
long elapsed = endTimeUtc - submitTimeUtc;
String duration = Time.makeTimeStringRounded(elapsed);
if (isCancelled()) {
rv = "Cancelled";
if (verbosity >= 1) rv+=" after "+duration;
if (verbosity >= 2 && getExtraStatusText()!=null) {
rv += "\n\n"+getExtraStatusText();
}
} else if (isError()) {
rv = "Failed";
if (verbosity >= 1) {
rv += " after "+duration;
Throwable error = Tasks.getError(this);
if (verbosity >= 2 && getExtraStatusText()!=null) {
rv += "\n\n"+getExtraStatusText();
}
//remove outer ExecException which is reported by the get(), we want the exception the task threw
while (error instanceof ExecutionException) error = error.getCause();
String errorMessage = Exceptions.collapseText(error);
if (verbosity == 1) rv += ": "+abbreviate(errorMessage);
if (verbosity >= 2) {
rv += ": "+errorMessage;
StringWriter sw = new StringWriter();
((Throwable)error).printStackTrace(new PrintWriter(sw));
rv += "\n\n"+sw.getBuffer();
}
}
} else {
rv = "Completed";
if (verbosity>=1) {
if (verbosity==1) {
try {
Object v = get();
rv += ", " +(v==null ? "no return value (null)" : "result: "+abbreviate(v.toString()));
} catch (Exception e) {
rv += ", but error accessing result ["+e+"]"; //shouldn't happen
}
} else {
rv += " after "+duration;
try {
Object v = get();
rv += "\n\n" + (v==null ? "No return value (null)" : "Result: "+v);
} catch (Exception e) {
rv += " at first\n" +
"Error accessing result ["+e+"]"; //shouldn't happen
}
if (verbosity >= 2 && getExtraStatusText()!=null) {
rv += "\n\n"+getExtraStatusText();
}
}
}
}
} else {
rv = getActiveTaskStatusString(verbosity);
}
return rv;
}