*/
public String getText( Object obj )
{
if ( obj instanceof IEntry )
{
IEntry entry = ( IEntry ) obj;
StringBuffer append = new StringBuffer();
if ( entry.isChildrenInitialized() && ( entry.getChildrenCount() > 0 ) || entry.getChildrenFilter() != null )
{
append.append( " (" ).append( entry.getChildrenCount() ); //$NON-NLS-1$
if ( entry.hasMoreChildren() )
{
append.append( "+" ); //$NON-NLS-1$
}
if ( entry.getChildrenFilter() != null )
{
append.append( ", filtered" ); //$NON-NLS-1$
}
append.append( ")" ); //$NON-NLS-1$
}
if ( entry instanceof IRootDSE )
{
return "Root DSE" + append.toString(); //$NON-NLS-1$
}
else if ( entry instanceof IContinuation )
{
return entry.getUrl().toString() + append.toString();
}
else if ( entry instanceof BaseDNEntry )
{
return entry.getDn().getUpName() + append.toString();
}
else if ( entry.hasParententry() )
{
String label = ""; //$NON-NLS-1$
if ( preferences.getEntryLabel() == BrowserCommonConstants.SHOW_DN )
{
label = entry.getDn().getUpName();
}
else if ( preferences.getEntryLabel() == BrowserCommonConstants.SHOW_RDN )
{
label = entry.getRdn().getUpName();
}
else if ( preferences.getEntryLabel() == BrowserCommonConstants.SHOW_RDN_VALUE )
{
label = ( String ) entry.getRdn().getUpValue();
}
label += append.toString();
if ( preferences.isEntryAbbreviate() && label.length() > preferences.getEntryAbbreviateMaxLength() )
{
label = Utils.shorten( label, preferences.getEntryAbbreviateMaxLength() );
}
return label;
}
else
{
return entry.getDn().getUpName() + append.toString();
}
}
else if ( obj instanceof SearchContinuation )
{
SearchContinuation sc = ( SearchContinuation ) obj;
return sc.getUrl().toString();
}
else if ( obj instanceof BrowserEntryPage )
{
BrowserEntryPage container = ( BrowserEntryPage ) obj;
return "[" + ( container.getFirst() + 1 ) + "..." + ( container.getLast() + 1 ) + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
else if ( obj instanceof BrowserSearchResultPage )
{
BrowserSearchResultPage container = ( BrowserSearchResultPage ) obj;
return "[" + ( container.getFirst() + 1 ) + "..." + ( container.getLast() + 1 ) + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
else if ( obj instanceof ISearch )
{
ISearch search = ( ISearch ) obj;
ISearchResult[] results = search.getSearchResults();
SearchContinuation[] scs = search.getSearchContinuations();
StringBuffer append = new StringBuffer( search.getName() );
if ( results != null && scs != null )
{
append.append( " (" ).append( results.length + scs.length ); //$NON-NLS-1$
if ( search.isCountLimitExceeded() )
{
append.append( "+" ); //$NON-NLS-1$
}
append.append( ")" ); //$NON-NLS-1$
}
return append.toString();
}
else if ( obj instanceof IBookmark )
{
IBookmark bookmark = ( IBookmark ) obj;
return bookmark.getName();
}
else if ( obj instanceof ISearchResult )
{
ISearchResult sr = ( ISearchResult ) obj;
if ( sr.getEntry() instanceof IContinuation )
{
return sr.getEntry().getUrl().toString();
}
else if ( sr.getEntry().hasParententry() || sr.getEntry() instanceof IRootDSE )
{
String label = ""; //$NON-NLS-1$
if ( sr.getEntry() instanceof IRootDSE )
{
label = "Root DSE"; //$NON-NLS-1$
}
else if ( preferences.getSearchResultLabel() == BrowserCommonConstants.SHOW_DN )
{
label = sr.getEntry().getDn().getUpName();
}
else if ( preferences.getSearchResultLabel() == BrowserCommonConstants.SHOW_RDN )
{
label = sr.getEntry().getRdn().getUpName();
}
else if ( preferences.getSearchResultLabel() == BrowserCommonConstants.SHOW_RDN_VALUE )
{
label = ( String ) sr.getEntry().getRdn().getUpValue();
}
if ( preferences.isSearchResultAbbreviate()
&& label.length() > preferences.getSearchResultAbbreviateMaxLength() )
{
label = Utils.shorten( label, preferences.getSearchResultAbbreviateMaxLength() );
}
return label;
}
else
{
return sr.getEntry().getDn().getUpName();
}
}
else if ( obj instanceof StudioRunnableWithProgress )
{
StudioRunnableWithProgress runnable = ( StudioRunnableWithProgress ) obj;
for ( Object lockedObject : runnable.getLockedObjects() )
{
if ( lockedObject instanceof ISearch )
{
ISearch search = ( ISearch ) lockedObject;
if ( obj == search.getTopSearchRunnable() )
{
return Messages.getString( "BrowserLabelProvider.TopPage" ); //$NON-NLS-1$
}
else if ( obj == search.getNextSearchRunnable() )
{
return Messages.getString( "BrowserLabelProvider.NextPage" ); //$NON-NLS-1$
}
}
else if ( lockedObject instanceof IEntry )
{
IEntry entry = ( IEntry ) lockedObject;
if ( obj == entry.getTopPageChildrenRunnable() )
{
return Messages.getString( "BrowserLabelProvider.TopPage" ); //$NON-NLS-1$
}
else if ( obj == entry.getNextPageChildrenRunnable() )
{
return Messages.getString( "BrowserLabelProvider.NextPage" ); //$NON-NLS-1$
}
}
}