{
// Throw a Referral Exception
// Unlock the referral manager
directoryService.getReferralManager().unlock();
LdapReferralException exception = buildReferralException( parentEntry, childDn );
throw exception;
}
}
else if ( directoryService.getReferralManager().hasParentReferral( dn ) )
{
// We can't delete an entry which has an ancestor referral
// Depending on the Context.REFERRAL property value, we will throw
// a different exception.
if ( opContext.isReferralIgnored() )
{
directoryService.getReferralManager().unlock();
LdapPartialResultException exception = buildLdapPartialResultException( childDn );
throw exception;
}
else
{
// Unlock the referral manager
directoryService.getReferralManager().unlock();
LdapReferralException exception = buildReferralException( parentEntry, childDn );
throw exception;
}
}
}