diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java index f8b3a955fe8..611c12d14a6 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java @@ -21,6 +21,7 @@ * Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core * Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread * David Dykstal (IBM) - [224671] [api] org.eclipse.rse.core API leaks non-API types + * David Dykstal (IBM) - [226761] fix NPE in team view when expanding items *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -120,20 +121,21 @@ public class SystemViewFilterAdapter extends AbstractSystemViewAdapter /** * Returns an image descriptor for the image. More efficient than getting the image. * @param element The element for which an image is desired + * @return the desired image descriptor */ - public ImageDescriptor getImageDescriptor(Object element) - { - //return RSEUIPlugin.getDefault().getImageDescriptor(ISystemConstants.ICON_SYSTEM_FILTER_ID); - ImageDescriptor filterImage = null; - ISystemFilter filter = getFilter(element); - if (filter.getProvider() != null) - { - ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter)filter.getProvider().getAdapter(ISubSystemConfigurationAdapter.class); - filterImage = adapter.getSystemFilterImage(filter); - } - if (filterImage == null) - filterImage = RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTER_ID); - return filterImage; + public ImageDescriptor getImageDescriptor(Object element) { + ImageDescriptor filterImage = null; + ISystemFilter filter = getFilter(element); + if (filter.getProvider() != null) { + ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter) filter.getProvider().getAdapter(ISubSystemConfigurationAdapter.class); + if (adapter != null) { + filterImage = adapter.getSystemFilterImage(filter); + } + } + if (filterImage == null) { + filterImage = RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTER_ID); + } + return filterImage; } /** diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolAdapter.java index b35d101d038..a967f9acbad 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolAdapter.java @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API * Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util * Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread + * David Dykstal (IBM) - [226761] fix NPE in team view when expanding items *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -90,21 +91,21 @@ public class SystemViewFilterPoolAdapter extends AbstractSystemViewAdapter /** * Returns an image descriptor for the image. More efficient than getting the image. * @param element The element for which an image is desired + * @return the desired image descriptor */ - public ImageDescriptor getImageDescriptor(Object element) - { - //return RSEUIPlugin.getDefault().getImageDescriptor(ISystemConstants.ICON_SYSTEM_FILTERPOOL_ID); - ImageDescriptor poolImage = null; - ISystemFilterPool pool = (ISystemFilterPool)element; - if (pool.getProvider() != null) - { - - ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter)pool.getProvider().getAdapter(ISubSystemConfigurationAdapter.class); - poolImage = adapter.getSystemFilterPoolImage(pool); - } - if (poolImage == null) - poolImage = RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTERPOOL_ID); - return poolImage; + public ImageDescriptor getImageDescriptor(Object element) { + ImageDescriptor poolImage = null; + ISystemFilterPool pool = (ISystemFilterPool) element; + if (pool.getProvider() != null) { + ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter) pool.getProvider().getAdapter(ISubSystemConfigurationAdapter.class); + if (adapter != null) { + poolImage = adapter.getSystemFilterPoolImage(pool); + } + } + if (poolImage == null) { + poolImage = RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTERPOOL_ID); + } + return poolImage; } /** diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterStringAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterStringAdapter.java index f17bf83e638..d6b170e2d2e 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterStringAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterStringAdapter.java @@ -16,12 +16,12 @@ * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API * Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util * Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread + * David Dykstal (IBM) - [226761] fix NPE in team view when expanding items *******************************************************************************/ package org.eclipse.rse.internal.ui.view; import java.util.ArrayList; import java.util.List; -import java.util.Vector; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; @@ -79,19 +79,21 @@ public class SystemViewFilterStringAdapter extends AbstractSystemViewAdapter /** * Returns an image descriptor for the image. More efficient than getting the image. * @param element The element for which an image is desired + * @return the desired image descriptor */ - public ImageDescriptor getImageDescriptor(Object element) - { - ImageDescriptor filterImage = null; + public ImageDescriptor getImageDescriptor(Object element) { + ImageDescriptor filterImage = null; ISystemFilterString filterString = getFilterString(element); - if (filterString.getProvider() != null) - { - ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter)filterString.getProvider().getAdapter(ISubSystemConfigurationAdapter.class); - filterImage = adapter.getSystemFilterStringImage(filterString); - } - if (filterImage == null) - filterImage = RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTERSTRING_ID); - return filterImage; + if (filterString.getProvider() != null) { + ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter) filterString.getProvider().getAdapter(ISubSystemConfigurationAdapter.class); + if (adapter != null) { + filterImage = adapter.getSystemFilterStringImage(filterString); + } + } + if (filterImage == null) { + filterImage = RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTERSTRING_ID); + } + return filterImage; } /**