/** * Set the ignoreRefferal flag for the current operationContext. * * @param opContext The current operationContext * @param ignoreReferral The flag */ private void setReferralHandling( AbstractOperationContext opContext, boolean ignoreReferral ) { if ( ignoreReferral ) { opContext.ignoreReferral(); } else { opContext.throwReferral(); } }
private void setup( AbstractOperationContext opContext ) { opContext.setAuthorizedPrincipal( authorizedPrincipal ); }
/** * Creates a new instance of AbstractOperationContext. * * @param session The session to use * @param dn The associated Dn */ public AbstractOperationContext( CoreSession session, Dn dn ) { this.dn = dn; this.session = session; // The flag is set to ignore, so that the revert operation can act on // the entries, even if they are referrals. ignoreReferral(); }
/** * {@inheritDoc} */ @Override public LookupOperationContext newLookupContext( Dn dn, String... attributes ) { LookupOperationContext lookupContext = new LookupOperationContext( session, dn, attributes ); setup( lookupContext ); return lookupContext; }
/** * {@inheritDoc} */ @Override public void delete( Dn dn ) throws LdapException { DeleteOperationContext deleteContext = new DeleteOperationContext( session, dn ); setup( deleteContext ); session.getDirectoryService().getOperationManager().delete( deleteContext ); }