Examples of AccessControlListImpl


Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

                newAces.add(new AccessControlEntryImpl(new AccessControlPrincipalDataImpl(ace.getKey()),
                        new ArrayList<String>(ace.getValue())));
            }
        }

        return new AccessControlListImpl(newAces);
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

    public static Acl convertAcl(Map<String, Object> json, Boolean isExact) {
        if (json == null) {
            return null;
        }

        AccessControlListImpl result = new AccessControlListImpl();

        List<Ace> aces = new ArrayList<Ace>();

        List<Object> jsonAces = getList(json.get(JSON_ACL_ACES));
        if (jsonAces != null) {
            for (Object obj : jsonAces) {
                Map<String, Object> entry = getMap(obj);
                if (entry != null) {
                    AccessControlEntryImpl ace = new AccessControlEntryImpl();

                    Boolean isDirect = getBoolean(entry, JSON_ACE_IS_DIRECT);
                    ace.setDirect(isDirect != null ? isDirect.booleanValue() : true);

                    List<Object> jsonPermissions = getList(entry.get(JSON_ACE_PERMISSIONS));
                    if (jsonPermissions != null) {
                        List<String> permissions = new ArrayList<String>();
                        for (Object perm : jsonPermissions) {
                            if (perm != null) {
                                permissions.add(perm.toString());
                            }
                        }
                        ace.setPermissions(permissions);
                    }

                    Map<String, Object> jsonPrincipal = getMap(entry.get(JSON_ACE_PRINCIPAL));
                    if (jsonPrincipal != null) {
                        AccessControlPrincipalDataImpl principal = new AccessControlPrincipalDataImpl();

                        principal.setPrincipalId(getString(jsonPrincipal, JSON_ACE_PRINCIPAL_ID));

                        convertExtension(jsonPrincipal, principal, PRINCIPAL_KEYS);

                        ace.setPrincipal(principal);
                    }

                    convertExtension(entry, ace, ACE_KEYS);

                    aces.add(ace);
                }
            }
        }

        result.setAces(aces);

        result.setExact(isExact);

        convertExtension(json, result, ACL_KEYS);

        return result;
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

    public Acl toCommonsAcl() {
        List<Ace> commonsAcl = new ArrayList<Ace>();
        for (InMemoryAce memAce : acl)
            commonsAcl.add(memAce.toCommonsAce());
       
        return new AccessControlListImpl(commonsAcl);
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

                newAces.add(new AccessControlEntryImpl(new AccessControlPrincipalDataImpl(ace.getKey()),
                        new ArrayList<String>(ace.getValue())));
            }
        }

        return new AccessControlListImpl(newAces);
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

    public static Acl convert(CmisAccessControlListType acl, Boolean isExact) {
        if (acl == null) {
            return null;
        }

        AccessControlListImpl result = new AccessControlListImpl();

        List<Ace> aces = new ArrayList<Ace>();
        for (CmisAccessControlEntryType entry : acl.getPermission()) {
            if (entry == null) {
                continue;
            }

            AccessControlEntryImpl ace = new AccessControlEntryImpl();
            ace.setDirect(entry.isDirect());
            ace.setPermissions(entry.getPermission());
            AccessControlPrincipalDataImpl principal = new AccessControlPrincipalDataImpl(
                    entry.getPrincipal() == null ? null : entry.getPrincipal().getPrincipalId());
            convertExtension(entry.getPrincipal(), principal);
            ace.setPrincipal(principal);

            // handle extensions
            convertExtension(entry, ace);

            aces.add(ace);
        }

        result.setAces(aces);

        result.setExact(isExact);

        // handle extensions
        convertExtension(acl, result);

        return result;
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

        allowableActions.setAllowableActions(set);
        return allowableActions;
    }

    public static Acl fillACL(StoredObject so) {
        AccessControlListImpl acl = new AccessControlListImpl();
        List<Ace> aces = new ArrayList<Ace>();
        // TODO to be completed if ACLs are implemented
        acl.setAces(aces);
        return acl;
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

            aces.add(new AccessControlEntryImpl(new AccessControlPrincipalDataImpl(principalId), controlParser
                    .getValues(Constants.CONTROL_ADD_ACE_PERMISSION, i)));
            i++;
        }

        return new AccessControlListImpl(aces);
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

            aces.add(new AccessControlEntryImpl(new AccessControlPrincipalDataImpl(principalId), controlParser
                    .getValues(Constants.CONTROL_REMOVE_ACE_PERMISSION, i)));
            i++;
        }

        return new AccessControlListImpl(aces);
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

    }

    @Test
    public void testConvertFomCmisAcl() {
        List<Ace> aces = Arrays.asList(new Ace[] { createAce(ANDREAS, EnumBasicPermissions.CMIS_READ.value()), createAce(DOROTHEE, EnumBasicPermissions.CMIS_WRITE.value()) });
        AccessControlListImpl cAcl = new AccessControlListImpl(aces);
        InMemoryAcl acl = InMemoryAcl.createFromCommonsAcl(cAcl);       
        assertEquals(2, acl.size());
        assertEquals(Permission.READ, acl.getPermission(ANDREAS));
        assertEquals(Permission.WRITE, acl.getPermission(DOROTHEE));
       
        try {
            List<Ace> aces2 = Arrays.asList(new Ace[] { new AccessControlEntryImpl(null,  Arrays.asList(new String[] { EnumBasicPermissions.CMIS_READ.value()}))});
            acl = InMemoryAcl.createFromCommonsAcl(new AccessControlListImpl(aces2));
            fail("create Ace will null principal should raise exception.");
        } catch (RuntimeException e) { }
        try {
            List<Ace> aces2 = Arrays.asList(new Ace[] { new AccessControlEntryImpl(new AccessControlPrincipalDataImpl(ANDREAS)null)});
            acl = InMemoryAcl.createFromCommonsAcl(new AccessControlListImpl(aces2));
            fail("create Ace will null permission should raise exception.");
        } catch (RuntimeException e) { }
    }
View Full Code Here

Examples of org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl

    /**
     * Compiles the ACL for a file or folder.
     */
    private Acl compileAcl(File file) {
        AccessControlListImpl result = new AccessControlListImpl();
        result.setAces(new ArrayList<Ace>());

        for (Map.Entry<String, Boolean> ue : fUserMap.entrySet()) {
            // create principal
            AccessControlPrincipalDataImpl principal = new AccessControlPrincipalDataImpl();
            principal.setPrincipalId(ue.getKey());

            // create ACE
            AccessControlEntryImpl entry = new AccessControlEntryImpl();
            entry.setPrincipal(principal);
            entry.setPermissions(new ArrayList<String>());
            entry.getPermissions().add(CMIS_READ);
            if (!ue.getValue().booleanValue() && file.canWrite()) {
                entry.getPermissions().add(CMIS_WRITE);
                entry.getPermissions().add(CMIS_ALL);
            }

            entry.setDirect(true);

            // add ACE
            result.getAces().add(entry);
        }

        return result;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.