/** * Get back a session for the give user and credentials bound with Simple Bind */ public CoreSession getSession( Dn principalDn, byte[] credentials ) throws LdapException { synchronized ( this ) { if ( !started ) { throw new IllegalStateException( "Service has not started." ); } } BindOperationContext bindContext = new BindOperationContext( null ); bindContext.setCredentials( credentials ); bindContext.setDn( principalDn.apply( schemaManager ) ); bindContext.setInterceptors( getInterceptors( OperationEnum.BIND ) ); operationManager.bind( bindContext ); return bindContext.getSession(); }
/** * {@inheritDoc} */ @Override public void delete( Dn dn, LogChange log ) throws LdapException { DeleteOperationContext deleteContext = new DeleteOperationContext( this, dn ); deleteContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.delete( deleteContext ); }
/** * {@inheritDoc} */ @Override public Entry lookup( LookupOperationContext lookupContext ) throws LdapException { return session.getDirectoryService().getOperationManager().lookup( lookupContext ); }
movCtx.setReplEvent( true ); movCtx.setRid( rid ); directoryService.getOperationManager().move( movCtx ); renCtx.setReplEvent( true ); renCtx.setRid( rid ); directoryService.getOperationManager().rename( renCtx ); movRenCtx.setReplEvent( true ); movRenCtx.setRid( rid ); directoryService.getOperationManager().moveAndRename( movRenCtx );
searchContext.setNoAttributes( true ); EntryFilteringCursor cursor = operationManager.search( searchContext ); Exception bindException = new LdapAuthenticationException( "Cannot authenticate user uid=" + user ); bindContext.setInterceptors( directoryService.getInterceptors( OperationEnum.BIND ) ); operationManager.bind( bindContext );
/** * {@inheritDoc} */ @Override public void add( Entry entry, LogChange log ) throws LdapException { AddOperationContext addContext = new AddOperationContext( this, entry ); addContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.add( addContext ); }
/** * {@inheritDoc} */ @Override public Cursor<Entry> search( Dn dn, SearchScope scope, ExprNode filter, AliasDerefMode aliasDerefMode, String... returningAttributes ) throws LdapException { OperationManager operationManager = directoryService.getOperationManager(); SearchOperationContext searchContext = new SearchOperationContext( this, dn, scope, filter, returningAttributes ); searchContext.setAliasDerefMode( aliasDerefMode ); return operationManager.search( searchContext ); }
/** * {@inheritDoc} */ @Override public void move( Dn dn, Dn newParent, LogChange log ) throws LdapException { MoveOperationContext moveContext = new MoveOperationContext( this, dn, newParent ); moveContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.move( moveContext ); }
/** * {@inheritDoc} */ @Override public void rename( Dn dn, Rdn newRdn, boolean deleteOldRdn, LogChange log ) throws LdapException { RenameOperationContext renameContext = new RenameOperationContext( this, dn, newRdn, deleteOldRdn ); renameContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.rename( renameContext ); }
/** * {@inheritDoc} */ @Override public void moveAndRename( Dn dn, Dn newSuperiorDn, Rdn newRdn, boolean deleteOldRdn, LogChange log ) throws LdapException { MoveAndRenameOperationContext moveAndRenameContext = new MoveAndRenameOperationContext( this, dn, newSuperiorDn, newRdn, deleteOldRdn ); moveAndRenameContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.moveAndRename( moveAndRenameContext ); }
/** * {@inheritDoc} */ @Override public void modify( Dn dn, List<Modification> mods, LogChange log ) throws LdapException { if ( mods == null ) { return; } List<Modification> serverModifications = new ArrayList<>( mods.size() ); for ( Modification mod : mods ) { serverModifications.add( new DefaultModification( directoryService.getSchemaManager(), mod ) ); } ModifyOperationContext modifyContext = new ModifyOperationContext( this, dn, serverModifications ); modifyContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.modify( modifyContext ); }
/** * {@inheritDoc} */ @Override public boolean compare( Dn dn, String oid, Object value ) throws LdapException { OperationManager operationManager = directoryService.getOperationManager(); return operationManager.compare( new CompareOperationContext( this, dn, oid, convertToValue( oid, value ) ) ); }
/** * {@inheritDoc} */ @Override public void add( Entry entry, boolean ignoreReferral, LogChange log ) throws LdapException { AddOperationContext addContext = new AddOperationContext( this, entry ); addContext.setLogChange( log ); setReferralHandling( addContext, ignoreReferral ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.add( addContext ); }
/** * {@inheritDoc} */ @Override public Cursor<Entry> list( Dn dn, AliasDerefMode aliasDerefMode, String... returningAttributes ) throws LdapException { OperationManager operationManager = directoryService.getOperationManager(); PresenceNode filter = new PresenceNode( objectClassAT ); SearchOperationContext searchContext = new SearchOperationContext( this, dn, SearchScope.ONELEVEL, filter, returningAttributes ); searchContext.setAliasDerefMode( aliasDerefMode ); return operationManager.search( searchContext ); }
/** * {@inheritDoc} */ @Override public void move( Dn dn, Dn newParent, boolean ignoreReferral, LogChange log ) throws LdapException { OperationManager operationManager = directoryService.getOperationManager(); MoveOperationContext moveContext = new MoveOperationContext( this, dn, newParent ); setReferralHandling( moveContext, ignoreReferral ); moveContext.setLogChange( log ); operationManager.move( moveContext ); }
/** * {@inheritDoc} */ @Override public void rename( Dn dn, Rdn newRdn, boolean deleteOldRdn, boolean ignoreReferral, LogChange log ) throws LdapException { OperationManager operationManager = directoryService.getOperationManager(); RenameOperationContext renameContext = new RenameOperationContext( this, dn, newRdn, deleteOldRdn ); renameContext.setLogChange( log ); setReferralHandling( renameContext, ignoreReferral ); operationManager.rename( renameContext ); }
/** * {@inheritDoc} */ @Override public void moveAndRename( Dn dn, Dn newParent, Rdn newRdn, boolean deleteOldRdn, boolean ignoreReferral, LogChange log ) throws LdapException { OperationManager operationManager = directoryService.getOperationManager(); MoveAndRenameOperationContext moveAndRenameContext = new MoveAndRenameOperationContext( this, dn, newParent, newRdn, deleteOldRdn ); moveAndRenameContext.setLogChange( log ); setReferralHandling( moveAndRenameContext, ignoreReferral ); operationManager.moveAndRename( moveAndRenameContext ); }
/** * {@inheritDoc} */ @Override public void modify( Dn dn, List<Modification> mods, boolean ignoreReferral, LogChange log ) throws LdapException { if ( mods == null ) { return; } List<Modification> serverModifications = new ArrayList<>( mods.size() ); for ( Modification mod : mods ) { serverModifications.add( new DefaultModification( directoryService.getSchemaManager(), mod ) ); } ModifyOperationContext modifyContext = new ModifyOperationContext( this, dn, serverModifications ); setReferralHandling( modifyContext, ignoreReferral ); modifyContext.setLogChange( log ); OperationManager operationManager = directoryService.getOperationManager(); operationManager.modify( modifyContext ); }