public String getExistingRestrictionNamesAsJSON()

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();
    }