in src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java [566:610]
private void printPrivilegeSelect(
PrintWriter pw,
String label,
List<Pair<String, String>> privileges,
String[] supportedPrivileges,
String alertMessage) {
pw.print(TD_STYLE_WIDTH_20);
pw.print(xss.encodeForHTMLAttr(label));
pw.println(TD);
pw.print("<td><table class=\"repeating-container\" style=\"width: 100%\" data-length=\"" + privileges.size()
+ "\"><tr><td>Path</td><td>Privilege</td><td></td>");
int idx = 0;
for (Pair<String, String> privilege : privileges) {
pw.print("</tr><tr class=\"repeating-item\"><td>");
pw.print("<input type=\"text\" name=\"acl-path-" + idx + "\" value='");
pw.print(xss.encodeForHTMLAttr(StringUtils.defaultString(privilege.getKey())));
pw.print(STYLE_WIDTH_100);
pw.print("</td><td>");
pw.print("<input type=\"text\" list=\"data-privileges\" name=\"acl-privilege-" + idx + "\" value='");
pw.print(xss.encodeForHTMLAttr(StringUtils.defaultString(privilege.getValue())));
pw.print(STYLE_WIDTH_100);
pw.print("</td><td>");
pw.print("<input type=\"button\" value=\" - \" class=\"repeating-remove\" /></td>");
}
pw.print("</tr></table>");
pw.print("<input type=\"button\" value=\" + \" class=\"repeating-add\" />");
pw.print("<datalist id=\"data-privileges\">");
for (String option : supportedPrivileges) {
pw.print("<option");
pw.print(">");
pw.print(xss.encodeForHTMLAttr(option));
pw.print("</option>");
}
pw.print("</datalist><script src=\"/system/console/serviceusers/res/ui/serviceusermanager.js\"></script>");
infoDiv(pw, alertMessage);
pw.println(TD);
}