Added tests for the cause tag

This commit is contained in:
Erik C. Thauvin 2023-08-16 09:12:01 -07:00
parent 2ff4128bc9
commit 9a2647e7f4
2 changed files with 72 additions and 6 deletions

View file

@ -52,15 +52,24 @@ public class CauseTag extends XmlSupport {
@Override
public void doTag() throws IOException {
final PageContext pageContext = (PageContext) getJspContext();
@SuppressWarnings("PMD.CloseResource") final JspWriter out = pageContext.getOut();
final JspWriter out = pageContext.getOut();
final Throwable cause = pageContext.getErrorData().getThrowable().getCause();
String message = defaultValue;
if (cause != null && cause.getLocalizedMessage() != null) {
message = cause.getLocalizedMessage();
}
Utils.outWrite(out, getCause(cause), defaultValue, escapeXml);
}
Utils.outWrite(out, message, defaultValue, escapeXml);
/**
* Returns the cause's localized message or default value.
*
* @param cause The cause.
* @return The cause or {@code null}.
*/
public String getCause(Throwable cause) {
if (cause != null && cause.getLocalizedMessage() != null) {
return cause.getLocalizedMessage();
} else {
return null;
}
}
}