in src/main/java/org/apache/sling/starter/access/models/Ace.java [568:591]
public String getExistingRestrictionNamesAsJSON() throws RepositoryException {
JsonObjectBuilder jsonObjBuilder = Json.createObjectBuilder();
for (boolean forAllow : new boolean[] {true, false}) {
JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
Set<String> alreadyProcessed = new HashSet<>();
for (PrivilegeItem pi : getPrivileges()) {
if ((forAllow && pi.getGranted()) ||
(!forAllow && pi.getDenied())) {
List<RestrictionItem> restrictions = forAllow ? pi.getAllowRestrictions() : pi.getDenyRestrictions();
for (RestrictionItem ri : restrictions) {
if (ri.isExists()) {
String name = String.format("%s@%s", pi.getName(), ri.getName());
if (!alreadyProcessed.contains(name)) {
jsonArrayBuilder.add(name);
alreadyProcessed.add(name);
}
}
}
}
}
jsonObjBuilder.add(forAllow ? "allow" : "deny", jsonArrayBuilder);
}
return jsonObjBuilder.build().toString();
}