in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java [111:147]
public String getPrivilegeSetDisplayName(Locale locale) {
if (denied != null && !denied.isEmpty()) {
//if there are any denied privileges, then this is a custom privilege set
return getResourceBundle(locale).getString("privilegeset.custom");
} else {
if (granted.isEmpty()) {
//appears to have an empty privilege set
return getResourceBundle(locale).getString("privilegeset.none");
}
if (granted.size() == 1) {
//check if the single privilege is jcr:all or jcr:read
Iterator<Privilege> iterator = granted.iterator();
Privilege next = iterator.next();
if (PrivilegeConstants.JCR_ALL.equals(next.getName())) {
//full control privilege set
return getResourceBundle(locale).getString("privilegeset.all");
} else if (PrivilegeConstants.JCR_READ.equals(next.getName())) {
//readonly privilege set
return getResourceBundle(locale).getString("privilegeset.readonly");
}
} else if (granted.size() == 2) {
//check if the two privileges are jcr:read and jcr:write
Iterator<Privilege> iterator = granted.iterator();
Privilege next = iterator.next();
Privilege next2 = iterator.next();
if ( (PrivilegeConstants.JCR_READ.equals(next.getName()) && PrivilegeConstants.JCR_WRITE.equals(next2.getName())) ||
(PrivilegeConstants.JCR_READ.equals(next2.getName()) && PrivilegeConstants.JCR_WRITE.equals(next.getName())) ) {
//read/write privileges
return getResourceBundle(locale).getString("privilegeset.readwrite");
}
}
//some other set of privileges
return getResourceBundle(locale).getString("privilegeset.custom");
}
}