if( suffix != null && suffix.getRdns().length > 0 )
{
rootEntry = browserConnection.getEntryFromCache( suffix );
if ( rootEntry == null )
{
ReadEntryJob job = new ReadEntryJob( browserConnection, suffix );
RunnableContextJobAdapter.execute( job );
rootEntry = job.getReadEntry();
}
}
// calculate initial DN
DN initialDN = dn;
if( suffix != null && suffix.getRdns().length > 0 )
{
if( initialDN != null && initialDN.getRdns().length > 0 )
{
initialDN = new DN( initialDN, suffix );
}
}
// get initial entry
IEntry entry = rootEntry;
if ( initialDN != null && initialDN.getRdns().length > 0 )
{
entry = browserConnection.getEntryFromCache( initialDN );
if ( entry == null )
{
ReadEntryJob job = new ReadEntryJob( browserConnection, initialDN );
RunnableContextJobAdapter.execute( job );
entry = job.getReadEntry();
}
}
// open dialog