while (resultsEnum.hasMore()) { SearchResult searchResult = resultsEnum.next(); DirContextAdapter dca = (DirContextAdapter) searchResult.getObject(); Assert.notNull(dca, "No object returned by search, DirContext is not correctly configured");
while (resultsEnum.hasMore()) { SearchResult searchResult = resultsEnum.next(); DirContextAdapter dca = (DirContextAdapter) searchResult.getObject(); Assert.notNull(dca, "No object returned by search, DirContext is not correctly configured");
@Test public void searchForSingleEntryInternalAllowsReferrals() throws Exception { String base = ""; String filter = ""; String searchResultName = "ldap://example.com/dc=springframework,dc=org"; Object[] params = new Object[] {}; DirContextAdapter searchResultObject = mock(DirContextAdapter.class); when( ctx.search(any(DistinguishedName.class), eq(filter), eq(params), searchControls.capture())).thenReturn(resultsEnum); when(resultsEnum.hasMore()).thenReturn(true, false); when(resultsEnum.next()).thenReturn(searchResult); when(searchResult.getObject()).thenReturn(searchResultObject); SpringSecurityLdapTemplate.searchForSingleEntryInternal(ctx, mock(SearchControls.class), base, filter, params); assertThat(searchControls.getValue().getReturningObjFlag()).isTrue(); }
@SuppressWarnings("unchecked") @Test(expected = IncorrectResultSizeDataAccessException.class) public void duplicateUserSearchCausesError() throws Exception { DirContext ctx = mock(DirContext.class); when(ctx.getNameInNamespace()).thenReturn(""); NamingEnumeration<SearchResult> searchResults = mock(NamingEnumeration.class); when(searchResults.hasMore()).thenReturn(true, true, false); SearchResult searchResult = mock(SearchResult.class); when(searchResult.getObject()).thenReturn(new DirContextAdapter("ou=1"), new DirContextAdapter("ou=2")); when(searchResults.next()).thenReturn(searchResult); when( ctx.search(any(Name.class), any(String.class), any(Object[].class), any(SearchControls.class))).thenReturn(searchResults); provider.contextFactory = createContextFactoryReturning(ctx); provider.authenticate(joe); }
protected DirContextOperations mapResult(SearchResult result, int pageSize, int pageIndex, int index) { return (DirContextOperations)result.getObject(); } };
protected DirContextOperations mapResult(SearchResult result, int pageSize, int pageIndex, int index) { return (DirContextOperations)result.getObject(); } };
@Override public void process(SearchResult result) throws NamingException, ParseException { try { doProcess(result); } finally { Object obj = result.getObject(); if (obj != null && obj instanceof Context) { try { ((Context)obj).close(); } catch (NamingException e) { logger.debug("error when closing result block context", e); } obj = null; } result = null; } }
@Override public void process(SearchResult result) throws NamingException, ParseException { try { doProcess(result); } finally { Object obj = result.getObject(); if (obj != null && obj instanceof Context) { try { ((Context)obj).close(); } catch (NamingException e) { logger.debug("error when closing result block context", e); } obj = null; } result = null; } }
protected Object getObjectFromResult(SearchResult searchResult) { Object object = searchResult.getObject(); if (object == null) { throw new EntryNotFoundException( "SearchResult did not contain any object."); } return mapper.mapFromContext(object); } }
Object searchedObject = res.getObject();
Object searchedObject = res.getObject();
while (resultsEnum.hasMore()) { SearchResult searchResult = resultsEnum.next(); DirContextAdapter dca = (DirContextAdapter) searchResult.getObject(); Assert.notNull(dca, "No object returned by search, DirContext is not correctly configured");
private void applyObjectFactories( SearchResult result ) throws NamingException { // if already populated or no factories are available just return if ( result.getObject() != null || !applyObjectFactories ) { return; } DirContext ctx = ( DirContext ) invocation.getCaller(); Hashtable env = ctx.getEnvironment(); Attributes attrs = result.getAttributes(); Name name = new LdapDN( result.getName() ); try { Object obj = DirectoryManager.getObjectInstance( null, name, ctx, env, attrs ); result.setObject( obj ); } catch ( Exception e ) { StringBuffer buf = new StringBuffer(); buf.append( "ObjectFactories threw exception while attempting to generate an object for " ); buf.append( result.getName() ); buf.append( ". Call on SearchResult.getObject() will return null." ); log.warn( buf.toString(), e ); } }
object = ((SearchResult) results.next()).getObject();
object = ((SearchResult) results.next()).getObject();
userDN = ((Context) entry.getObject()).getNameInNamespace();
/** * Creates a new instance of StudioSearchResult. * * @param searchResult the original search result * @param connection the connection * @param isContinuedSearchResult if the search result is a result from a continued search * @param searchContinuationUrl the URL with information on how to continue the search */ public StudioSearchResult( SearchResult searchResult, Connection connection, boolean isContinuedSearchResult, LdapUrl searchContinuationUrl ) { super( searchResult.getName(), searchResult.getClassName(), searchResult.getObject(), searchResult .getAttributes(), searchResult.isRelative() ); super.setNameInNamespace( searchResult.getNameInNamespace() ); this.connection = connection; this.isContinuedSearchResult = isContinuedSearchResult; this.searchContinuationUrl = searchContinuationUrl; }
LDAPUserRegistry.this.personAttributeDefaults, result); Object obj = result.getObject(); if (obj != null && obj instanceof Context)
ctx = (DirContextOperations) ((SearchResult) (providerContext)).getObject();