@Override public List<Ace> getAces() { return objectAcl.getAces(); } };
@Override public List<CmisExtensionElement> getExtensions() { return objectAcl.getExtensions(); }
@Override public void setExtensions(List<CmisExtensionElement> extensions) { objectAcl.setExtensions(extensions); }
@Override public Void doWork() throws Exception { Acl acl = getACL(info.getCurrentNodeNodeRef(), false); if (acl != null) { result.setAcl(acl); result.setIsExactAcl(acl.isExact()); } return null; } });
protected CmisTestResult checkACL(Session session, Acl acl, boolean checkExact, String message) { List<CmisTestResult> results = new ArrayList<CmisTestResult>(); CmisTestResult f; f = createResult(FAILURE, "ACL is null!"); addResult(results, assertNotNull(acl, null, f)); if (acl != null) { f = createResult(FAILURE, "List of ACEs is null!"); addResult(results, assertNotNull(acl.getAces(), null, f)); if (acl.getAces() != null) { for (Ace ace : acl.getAces()) { f = createResult(FAILURE, "ACE with empty principal ID!"); addResult(results, assertStringNotEmpty(ace.getPrincipalId(), null, f)); f = createResult(FAILURE, "ACE with empty permission list!"); addResult(results, assertListNotEmpty(ace.getPermissions(), null, f)); if (ace.getPermissions() != null) { for (String permission : ace.getPermissions()) { f = createResult(FAILURE, "ACE with empty permission entry!"); addResult(results, assertStringNotEmpty(permission, null, f)); } } } } CmisTestResultStatus status = checkExact ? WARNING : INFO; f = createResult(status, "ACL is provided but the isExact flag is not set!"); addResult(results, assertNotNull(acl.isExact(), null, f)); } CmisTestResultImpl result = createResult(getWorst(results), message); result.getChildren().addAll(results); return result.getStatus().getLevel() <= OK.getLevel() ? null : result; }
@Override public Void doWork() throws Exception { Acl acl = getACL(info.getCurrentNodeNodeRef(), false); if (acl != null) { result.setAcl(acl); result.setIsExactAcl(acl.isExact()); } return null; } });
@Override public List<Ace> getAces() { return objectAcl.getAces(); } };
result.setExact(acl.isExact());
@Override public List<CmisExtensionElement> getExtensions() { return objectAcl.getExtensions(); }
@Override public void setExtensions(List<CmisExtensionElement> extensions) { objectAcl.setExtensions(extensions); }
/** * Checks if at least one ACE list is not empty. */ protected boolean isAclMergeRequired(Acl addAces, Acl removeAces) { return (addAces != null && addAces.getAces() != null && !addAces.getAces().isEmpty()) || (removeAces != null && removeAces.getAces() != null && !removeAces.getAces().isEmpty()); }
@Override public CmisACLType applyACL(String repositoryId, String objectId, CmisAccessControlListType addAces, CmisAccessControlListType removeAces, EnumACLPropagation aclPropagation, CmisExtensionType extension) throws CmisException { CmisService service = null; try { service = getService(wsContext, repositoryId); if (stopBeforeService(service)) { return null; } Acl acl = service.applyAcl(repositoryId, objectId, convert(addAces, null), convert(removeAces, null), convert(AclPropagation.class, aclPropagation), convert(extension)); if (stopAfterService(service)) { return null; } if (acl == null) { return null; } CmisACLType result = new CmisACLType(); result.setACL(convert(acl)); result.setExact(acl.isExact()); return result; } catch (Exception e) { throw convertException(e); } finally { closeService(service); } }
extensions.put(ExtensionLevel.ACL, objectData.getAcl().getExtensions());
extensions.put(ExtensionLevel.ACL, objectData.getAcl().getExtensions());
@Override public Acl setAcl(String repositoryId, String objectId, Acl aces) { Acl currentAcl = getAcl(repositoryId, objectId, false, null); List<Ace> removeAces = new ArrayList<Ace>(); if (currentAcl.getAces() != null) { for (Ace ace : currentAcl.getAces()) { if (ace.isDirect()) { removeAces.add(ace); } } } return applyAcl(repositoryId, objectId, aces, new AccessControlListImpl(removeAces), AclPropagation.OBJECTONLY, null); } }
@Override public Acl setAcl(String repositoryId, String objectId, Acl aces) { Acl currentAcl = getAcl(repositoryId, objectId, false, null); List<Ace> removeAces = new ArrayList<Ace>(); if (currentAcl.getAces() != null) { for (Ace ace : currentAcl.getAces()) { if (ace.isDirect()) { removeAces.add(ace); } } } return applyAcl(repositoryId, objectId, aces, new AccessControlListImpl(removeAces), AclPropagation.OBJECTONLY, null); } }