File policyDirectory) throws AccessControlException {
File[] policyFiles = policyDirectory.listFiles(new SubtreeFileFilter(URL_FILENAME, SUBTREE_FILENAME));
try {
RemovedAccreditablePolicyBuilder builder = new RemovedAccreditablePolicyBuilder(manager);
builder.setRemovedAccreditable(accreditable);
for (int i = 0; i < policyFiles.length; i++) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("Removing roles");
getLogger().debug(" Accreditable: [" + accreditable + "]");
getLogger().debug(
" File: [" + policyFiles[i].getAbsolutePath() + "]");
}
InputStream stream = new FileInputStream(policyFiles[i]);
DefaultPolicy policy = builder.buildPolicy(stream);
policy.removeRoles(accreditable);
savePolicy(policy, policyFiles[i]);
}
} catch (final FileNotFoundException e1) {
throw new AccessControlException(e1);