in src/main/java/org/apache/sling/commons/mime/internal/MimeTypeWebConsolePlugin.java [65:152]
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException {
Map<String, Set<String>> mimetab = new TreeMap<String, Set<String>>();
Map<String, String> extMap = mimeTypeService.getExtensionMap();
int numExt = 0;
for (Entry<String, String> entry : mimeTypeService.getMimeMap().entrySet()) {
String ext = entry.getKey();
String mime = entry.getValue();
Set<String> extList = mimetab.get(mime);
if (extList == null) {
extList = new HashSet<String>();
mimetab.put(mime, extList);
}
if (ext.equals(extMap.get(mime))) {
ext = "*" + ext + "*";
}
extList.add(ext);
numExt++;
}
PrintWriter pw = response.getWriter();
pw.println("<script type='text/javascript' src='" + RES_LOC
+ "/jquery.treeTable.min.js'></script>");
pw.println("<script type='text/javascript'>");
pw.println(" $(document).ready(function() {");
pw.println(" $('#mimetabtable').treeTable({ treeColumn: 1 });");
pw.println(" });");
pw.println("</script>");
pw.println("<div id='plugin_content'>");
pw.println("<div class='fullwidth'>");
pw.println("<div class='statusline'>Statistic: " + mimetab.size()
+ " MIME Types, " + numExt + " Extensions</div>");
pw.println("</div>");
pw.println("<div class='table'>");
pw.println("<table id='mimetabtable' class='tablelayout'>");
pw.println("<colgroup>");
pw.println("<col width='20px'>");
pw.println("<col width='50%'>");
pw.println("<col width='50%'>");
pw.println("</colgroup>");
pw.println("<thead>");
pw.println("<tr>");
pw.println("<th colspan='2'>Mime Type</th>");
pw.println("<th>Extensions</th>");
pw.println("</tr>");
pw.println("</thead>");
pw.println("<tbody>");
String currentMajor = null;
for (Entry<String, Set<String>> entry : mimetab.entrySet()) {
String major = getMajorType(entry.getKey());
if (!major.equals(currentMajor)) {
currentMajor = major;
pw.println("<tr id='" + currentMajor + "'>");
pw.println("<td> </td>");
pw.println("<td>" + currentMajor + "</td>");
pw.println("<td>--</td>");
pw.println("</tr>");
}
pw.println("<tr id='" + entry.getKey().replace('/', '-')
+ "' class='child-of-" + currentMajor + "'>");
pw.println("<td> </td>");
pw.println("<td>" + entry.getKey() + "</td>");
pw.println("<td>" + entry.getValue() + "</td>");
pw.println("</tr>");
}
pw.println("</tbody>");
pw.println("</table>");
pw.println("</div>");
pw.println("</div>");
}