Show more comprehensive error message for task button

This commit is contained in:
Robin Shen 2019-06-30 16:35:57 +08:00
parent 32c356a08a
commit 3aff7e64ad

View File

@ -97,18 +97,25 @@ public abstract class TaskButton extends AjaxButton {
feedback = String.format( feedback = String.format(
"<div class='task-feedback alert alert-success'>%s</div>", "<div class='task-feedback alert alert-success'>%s</div>",
HtmlEscape.escapeHtml5(future.get())); HtmlEscape.escapeHtml5(future.get()));
} catch (Exception e) { } catch (ExecutionException e) {
logger.error("Error " + message, e); logger.debug("Error " + message, e);
String suggestedSolution = ExceptionUtils.suggestSolution(e); String suggestedSolution = ExceptionUtils.suggestSolution(e);
if (suggestedSolution != null) if (suggestedSolution != null)
logger.warn("!!! " + suggestedSolution); logger.warn("!!! " + suggestedSolution);
feedback = "Error " + message; feedback = "Error " + message;
if (e.getMessage() != null) String exceptionMessage;
feedback += ": " + e.getMessage(); if (e.getCause() != null)
exceptionMessage = e.getCause().getMessage();
else
exceptionMessage = e.getMessage();
if (exceptionMessage != null)
feedback += ": " + exceptionMessage;
feedback += ", check server log for details."; feedback += ", check server log for details.";
feedback = String.format( feedback = String.format(
"<div class='task-feedback alert alert-danger'>%s</div>", "<div class='task-feedback alert alert-danger'>%s</div>",
HtmlEscape.escapeHtml5(feedback)); HtmlEscape.escapeHtml5(feedback));
} catch (InterruptedException e) {
throw new RuntimeException(e);
} }
feedback = StringUtils.replace(feedback, "\n", "<br>"); feedback = StringUtils.replace(feedback, "\n", "<br>");
target.appendJavaScript(String.format("" target.appendJavaScript(String.format(""