@Override
    public AbstractPolicy getPolicy(String name, PolicyFinder policyFinder) throws PolicyIndexException {
        readLock.lock();
        try {
            logger.debug("Getting policy named: " + name);
            if (policies.containsKey(name)) {
                return handleDocument(m_policyReader.readPolicy(policies.get(name)), policyFinder);
            } else {
                throw new PolicyIndexException("Attempting to get non-existent policy " + name);
            }
        } catch (ParsingException pe) {
            throw new PolicyIndexException(pe.getMessage(),pe);
        } finally {
            readLock.unlock();
        }
    }
@ Override public AbstractPolicy getPolicy ( String name , PolicyFinder policyFinder ) throws PolicyIndexException { readLock . lock ( ) ; try { logger . debug ( "Getting policy named: " + name ) ; if ( policies . containsKey ( name ) ) { return handleDocument ( m_policyReader . readPolicy ( policies . get ( name ) ) , policyFinder ) ; } else { throw new PolicyIndexException ( "Attempting to get non-existent policy " + name ) ; } } catch ( ParsingException pe ) { throw new PolicyIndexException ( pe . getMessage ( ) , pe ) ; } finally { readLock . unlock ( ) ; } }
/*
(non-Javadoc)
@see org.fcrepo.server.security.xacml.pdp.data.PolicyDataManager#getPolicy(java.lang.String)