@Override @WebMethod public WsACE[] getDocumentACL(@WebParam(name = "sessionId") String sid, @WebParam(name = "uuid") String uuid) { logDeprecation(); WSRemotingSession rs = initSession(sid); ACP acp = rs.getDocumentManager().getACP(new IdRef(uuid)); if (acp != null) { ACL acl = acp.getMergedACLs("MergedACL"); return WsACE.wrap(acl.toArray(new ACE[acl.size()])); } else { return null; } }
@Override @WebMethod public WsACE[] getDocumentLocalACL(@WebParam(name = "sessionId") String sid, @WebParam(name = "uuid") String uuid) { logDeprecation(); WSRemotingSession rs = initSession(sid); ACP acp = rs.getDocumentManager().getACP(new IdRef(uuid)); if (acp != null) { ACL mergedAcl = new ACLImpl("MergedACL", true); for (ACL acl : acp.getACLs()) { if (!ACL.INHERITED_ACL.equals(acl.getName())) { mergedAcl.addAll(acl); } } return WsACE.wrap(mergedAcl.toArray(new ACE[mergedAcl.size()])); } else { return null; } }
@Override public DocumentSnapshot getDocumentSnapshotExt(@WebParam(name = "sessionId") String sid, @WebParam(name = "uuid") String uuid, @WebParam(name = "useDownloadURL") boolean useDownloadUrl) { WSRemotingSession rs = initSession(sid); DocumentModel doc = rs.getDocumentManager().getDocument(new IdRef(uuid)); DocumentProperty[] props = getDocumentNoBlobProperties(doc, rs); DocumentBlob[] blobs = getDocumentBlobs(doc, rs, useDownloadUrl); ACE[] resACP = null; ACP acp = doc.getACP(); if (acp != null) { ACL acl = acp.getMergedACLs("MergedACL"); resACP = acl.toArray(new ACE[acl.size()]); } DocumentSnapshot ds = new DocumentSnapshot(props, blobs, doc.getPathAsString(), WsACE.wrap(resACP)); return ds; }