}
private static void initBaseEntry( IEntry entry, StudioProgressMonitor monitor )
{
IBrowserConnection browserConnection = entry.getBrowserConnection();
LdapDN dn = entry.getDn();
// search the entry
AliasDereferencingMethod derefAliasMethod = browserConnection.getAliasesDereferencingMethod();
ReferralHandlingMethod handleReferralsMethod = browserConnection.getReferralsHandlingMethod();
ISearch search = new Search( null, browserConnection, dn, ISearch.FILTER_TRUE, ISearch.NO_ATTRIBUTES,
SearchScope.OBJECT, 1, 0, derefAliasMethod, handleReferralsMethod, true, null );
SearchRunnable.searchAndUpdateModel( browserConnection, search, monitor );
ISearchResult[] results = search.getSearchResults();
if ( results != null && results.length == 1 )
{
// add entry to Root DSE
ISearchResult result = results[0];
entry = result.getEntry();
browserConnection.getRootDSE().addChild( entry );
}
else
{
// DN exists in the Root DSE, but doesn't exist in directory
browserConnection.uncacheEntryRecursive( entry );
}
}