/** * Tells if the control contains the REFRESHNPERSIST mode */ private boolean isRefreshNPersist( SearchRequest req ) { SyncRequestValue control = ( SyncRequestValue ) req.getControls().get( SyncRequestValue.OID ); return control.getMode() == SynchronizationModeEnum.REFRESH_AND_PERSIST; }
if ( req.getControls().containsKey( SyncRequestValue.OID ) ) else if ( req.getControls().containsKey( ManageDsaIT.OID ) )
public PersistentSearchListener( LdapSession session, SearchRequest req ) { this.session = session; this.req = req; req.addAbandonListener( this ); this.psearchControl = ( PersistentSearch ) req.getControls().get( PersistentSearch.OID ); filterCtx = new LookupOperationContext( session.getCoreSession(), req.getAttributes().toArray( Strings.EMPTY_STRING_ARRAY ) ); schemaManager = session.getCoreSession().getDirectoryService().getSchemaManager(); }
SyncRequestValue syncControl = ( SyncRequestValue ) request.getControls().get( SyncRequestValue.OID );
/** * Handles a simple lookup, or a RootDSE lookup. * * @param session the LdapSession for which this search is conducted * @param req the search request on the RootDSE * @throws Exception if failures are encountered while searching */ private void handleLookup( LdapSession session, SearchRequest req ) throws Exception { Map<String, Control> controlMap = req.getControls(); Control[] controls = null; if ( controlMap != null ) { Collection<Control> controlValues = controlMap.values(); controls = new Control[controlValues.size()]; int pos = 0; for ( Control control : controlMap.values() ) { controls[pos++] = control; } } Entry entry = session.getCoreSession().lookup( req.getBase(), controls, req.getAttributes().toArray( new String[] {} ) ); session.getIoSession().write( generateResponse( session, req, entry ) ); // write the SearchResultDone message session.getIoSession().write( req.getResultResponse() ); }
PersistentSearch psearch = ( PersistentSearch ) req.getControls().get( PersistentSearch.OID );
/** * Creates a new instance of SearchOperationContext. * * @param session The session to use * @param searchRequest The SearchRequest to process */ public SearchOperationContext( CoreSession session, SearchRequest searchRequest ) { super( session, searchRequest.getBase(), searchRequest.getAttributes().toArray( StringConstants.EMPTY_STRINGS ) ); if ( session != null ) { setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.SEARCH ) ); } this.filter = searchRequest.getFilter(); this.abandoned = searchRequest.isAbandoned(); this.aliasDerefMode = searchRequest.getDerefAliases(); this.requestControls = searchRequest.getControls(); this.scope = searchRequest.getScope(); this.sizeLimit = searchRequest.getSizeLimit(); this.timeLimit = searchRequest.getTimeLimit(); this.typesOnly = searchRequest.getTypesOnly(); throwReferral = !requestControls.containsKey( ManageDsaIT.OID ); }
Object control = req.getControls().get( PagedResults.OID );
searchContext.setSyncreplSearch( searchRequest.getControls().containsKey( SyncRequestValue.OID ) ); SortRequest sortControl = ( SortRequest ) searchRequest.getControls().get( SortRequest.OID );
boolean hasManageDsaItControl = req.getControls().containsKey( ManageDsaIT.OID );
PagedResults pagedSearchControl = ( PagedResults ) req.getControls().get( PagedResults.OID ); byte[] cookie = pagedSearchControl.getCookie();
boolean hasManageDsaItControl = req.getControls().containsKey( ManageDsaIT.OID );