View | Details | Raw Unified | Return to bug 197550
Collapse All | Expand All

(-)UI/org/eclipse/rse/internal/ui/view/SystemViewLabelAndContentProvider.java (-14 / +20 lines)
Lines 14-19 Link Here
14
 * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
14
 * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
15
 * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
15
 * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
16
 * Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
16
 * Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
17
 * Martin Oberhuber (Wind River) - [197550] Fix NPE when refreshing Pending items
17
 ********************************************************************************/
18
 ********************************************************************************/
18
19
19
package org.eclipse.rse.internal.ui.view;
20
package org.eclipse.rse.internal.ui.view;
Lines 56-65 Link Here
56
 * adapter registered. Also provides label contents, so can be used for
57
 * adapter registered. Also provides label contents, so can be used for
57
 * both a content and label provider for TreeViewers. 
58
 * both a content and label provider for TreeViewers. 
58
 * <p>
59
 * <p>
59
 * This has a general flavour, which is used in most cases, and also has
60
 * This has a general flavor, which is used in most cases, and also has
60
 * a specialized flavour for universal file systems, which allows restricting
61
 * a specialized flavor for universal file systems, which allows restricting
61
 * the list to files only or folders only. It also allows further subsetting by
62
 * the list to files only or folders only. It also allows further subsetting by
62
 * setting an input filter or filterstring.
63
 * setting an input filter or filter string.
63
 */
64
 */
64
public class SystemViewLabelAndContentProvider extends LabelProvider
65
public class SystemViewLabelAndContentProvider extends LabelProvider
65
       implements ITreeContentProvider, ILabelProvider, ITableLabelProvider
66
       implements ITreeContentProvider, ILabelProvider, ITableLabelProvider
Lines 262-273 Link Here
262
     */
263
     */
263
    public Object[] getChildren(Object object) 
264
    public Object[] getChildren(Object object) 
264
    {
265
    {
265
    	ISystemViewElementAdapter adapter = getViewAdapter(object);
266
    	Object element = object;
266
    	Object element = object;
267
    	if (object instanceof IContextObject)
267
    	if (object instanceof IContextObject)
268
    	{
268
    	{
269
    		element = ((IContextObject)object).getModelObject();
269
    		element = ((IContextObject)object).getModelObject();
270
    	}
270
    	}
271
    	ISystemViewElementAdapter adapter = getViewAdapter(element);
271
    	if (supportsDeferredQueries())
272
    	if (supportsDeferredQueries())
272
    	{
273
    	{
273
    		  // The adapter  needs to be checked to be not null, otherwise
274
    		  // The adapter  needs to be checked to be not null, otherwise
Lines 388-410 Link Here
388
    public boolean hasChildren(Object element) 
389
    public boolean hasChildren(Object element) 
389
    {
390
    {
390
    	ISystemViewElementAdapter adapter = getViewAdapter(element);
391
    	ISystemViewElementAdapter adapter = getViewAdapter(element);
391
    	if (element instanceof IContextObject)
392
    	if (adapter!=null) {
392
    	{
393
        	if (element instanceof IContextObject)
393
    		return adapter.hasChildren((IContextObject)element);
394
        	{
395
        		return adapter.hasChildren((IContextObject)element);
396
        	}
397
        	else
398
        	{
399
	    	    return adapter.hasChildren((IAdaptable)element);
400
        	}
394
    	}
401
    	}
395
    	else
402
    	else
396
    	{
403
    	{
397
	    	if (adapter != null) 
404
    		if (element instanceof IContextObject) {
398
	    	{
405
    			element = ((IContextObject)element).getModelObject();
399
	    	    return adapter.hasChildren((IAdaptable)element);
406
    		}
400
	    	}
407
	    	if (manager != null && manager.isDeferredAdapter(element)) {
401
	    	if (manager != null) {
408
				return manager.mayHaveChildren(element);
402
				if (manager.isDeferredAdapter(element))
403
					return manager.mayHaveChildren(element);
404
			}
409
			}
405
    	}
410
    	}
406
    	return false;
411
    	return false;
407
    }
412
    }
413
    
408
    /**
414
    /**
409
     * inputChanged method comment.
415
     * inputChanged method comment.
410
	 * AS LONG AS WE DON'T SUPPORT IWORKSPACE OBJECT THIS IS NOT NEEDED.
416
	 * AS LONG AS WE DON'T SUPPORT IWORKSPACE OBJECT THIS IS NOT NEEDED.

Return to bug 197550