final PrintWriter pw = response.getWriter();
pw.println("<table class='content' cellpadding='0' cellspacing='0' width='100%'>");
final MapEntries mapEntries = resolverFactory.getMapEntries();
titleHtml(pw, "Configuration", null);
pw.println("<tr class='content'>");
pw.println("<td class='content'>Resource Search Path</td>");
pw.print("<td class='content' colspan='2'>");
pw.print(Arrays.asList(resolverFactory.getSearchPath()).toString());
pw.print("</td>");
pw.println("</tr>");
pw.println("<tr class='content'>");
pw.println("<td class='content'>Namespace Mangling</td>");
pw.print("<td class='content' colspan='2'>");
pw.print(resolverFactory.isMangleNamespacePrefixes() ? "Enabled"
: "Disabled");
pw.print("</td>");
pw.println("</tr>");
pw.println("<tr class='content'>");
pw.println("<td class='content'>Mapping Location</td>");
pw.print("<td class='content' colspan='2'>");
pw.print(resolverFactory.getMapRoot());
pw.print("</td>");
pw.println("</tr>");
separatorHtml(pw);
titleHtml(
pw,
"Configuration Test",
"To test the configuration, enter an URL or a resource path into "
+ "the field and click 'Resolve' to resolve the URL or click 'Map' "
+ "to map the resource path. To simulate a map call that takes the "
+ "current request into account, provide a full URL whose "
+ "scheme/host/port prefix will then be used as the request "
+ "information. The path passed to map will always be the path part "
+ "of the URL.");
pw.println("<tr class='content'>");
pw.println("<td class='content'>Test</td>");
pw.print("<td class='content' colspan='2'>");
pw.print("<form method='post'>");
pw.print("<input type='text' name='" + ATTR_TEST + "' value='");
if (test != null) {
pw.print(ResponseUtil.escapeXml(test));
}
pw.println("' class='input' size='50'>");
pw.println(" <input type='submit' name='" + ATTR_SUBMIT
+ "' value='Resolve' class='submit'>");
pw.println(" <input type='submit' name='" + ATTR_SUBMIT
+ "' value='Map' class='submit'>");
pw.print("</form>");
pw.print("</td>");
pw.println("</tr>");
if (msg != null) {
pw.println("<tr class='content'>");
pw.println("<td class='content'> </td>");
pw.print("<td class='content' colspan='2'>");
pw.print(ResponseUtil.escapeXml(msg));
pw.println("</td>");
pw.println("</tr>");
}
separatorHtml(pw);
dumpMapHtml(
pw,
"Resolver Map Entries",
"Lists the entries used by the ResourceResolver.resolve methods to map URLs to Resources",
mapEntries.getResolveMaps());
separatorHtml(pw);
dumpMapHtml(
pw,
"Mapping Map Entries",
"Lists the entries used by the ResourceResolver.map methods to map Resource Paths to URLs",
mapEntries.getMapMaps());
pw.println("</table>");
}