package dms;
import java.io.IOException;
import java.util.NoSuchElementException;
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.security.AccessControlEntry;
import javax.jcr.security.AccessControlList;
import javax.jcr.security.AccessControlManager;
import javax.jcr.security.Privilege;
import org.apache.jackrabbit.core.security.principal.EveryonePrincipal;
import org.apache.jackrabbit.rmi.repository.URLRemoteRepository;
public class Test {
public static void main(String[] args) throws IOException, Throwable {
Repository repository = new URLRemoteRepository(
"http://localhost:8080/rmi");
Session session = repository.login();
AccessControlManager aMgr = session.getAccessControlManager();
Privilege[] privileges = new Privilege[] { aMgr
.privilegeFromName(Privilege.JCR_ALL) };
AccessControlList acl;
try {
acl = (AccessControlList) aMgr.getApplicablePolicies("/").nextAccessControlPolicy();
} catch (NoSuchElementException e) {
acl = (AccessControlList) aMgr.getPolicies("/")[0];
}
for (AccessControlEntry e : acl.getAccessControlEntries()) {
acl.removeAccessControlEntry(e);
}
acl.addAccessControlEntry(EveryonePrincipal.getInstance(), privileges);
aMgr.setPolicy("/", acl);
}
}