mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-20 06:35:50 +02:00
[fix] 174418 SystemAdapterHelpers.getAdapter(Object) try to find adapter twice
This commit is contained in:
parent
881441ad83
commit
084a3ce496
1 changed files with 67 additions and 66 deletions
|
@ -29,9 +29,7 @@ import org.eclipse.rse.ui.view.SystemViewAdapterFactory;
|
|||
/**
|
||||
* This class has static helper methods that will get an adapter given an object.
|
||||
*/
|
||||
public class SystemAdapterHelpers
|
||||
{
|
||||
|
||||
public class SystemAdapterHelpers {
|
||||
|
||||
/**
|
||||
* Returns the implementation of ISystemViewElement for the given
|
||||
|
@ -40,11 +38,15 @@ public class SystemAdapterHelpers
|
|||
*/
|
||||
public static ISystemViewElementAdapter getAdapter(Object o) {
|
||||
ISystemViewElementAdapter adapter = null;
|
||||
|
||||
// In case the object itself is an adaptable, call the objects getAdapter() method
|
||||
if (o instanceof IAdaptable) {
|
||||
adapter = (ISystemViewElementAdapter)((IAdaptable)o).getAdapter(ISystemViewElementAdapter.class);
|
||||
} if (o != null) {
|
||||
} else if (o != null) {
|
||||
// object is not an adaptable itself, call the adapter manager
|
||||
adapter = (ISystemViewElementAdapter)Platform.getAdapterManager().getAdapter(o, ISystemViewElementAdapter.class);
|
||||
}
|
||||
|
||||
return adapter;
|
||||
}
|
||||
|
||||
|
@ -53,8 +55,7 @@ public class SystemAdapterHelpers
|
|||
* the adapter, but also sets its viewer to the given viewer. Many actions rely
|
||||
* on this being set.
|
||||
*/
|
||||
public static ISystemViewElementAdapter getAdapter(Object o, Viewer viewer)
|
||||
{
|
||||
public static ISystemViewElementAdapter getAdapter(Object o, Viewer viewer) {
|
||||
ISystemViewElementAdapter adapter = getAdapter(o);
|
||||
if (adapter != null)
|
||||
adapter.setViewer(viewer);
|
||||
|
@ -66,8 +67,7 @@ public class SystemAdapterHelpers
|
|||
* the adapter, but also sets its viewer and input provider to the given viewer.
|
||||
* Many actions rely on this being set.
|
||||
*/
|
||||
public static ISystemViewElementAdapter getAdapter(Object o, Viewer viewer, ISystemViewInputProvider inputProvider)
|
||||
{
|
||||
public static ISystemViewElementAdapter getAdapter(Object o, Viewer viewer, ISystemViewInputProvider inputProvider) {
|
||||
ISystemViewElementAdapter adapter = getAdapter(o, viewer);
|
||||
|
||||
if (adapter != null) {
|
||||
|
@ -81,13 +81,17 @@ public class SystemAdapterHelpers
|
|||
* Returns the implementation of ISystemRemoteElementAdapter for the given
|
||||
* remote object. Returns null if this object does not adaptable to this.
|
||||
*/
|
||||
public static ISystemRemoteElementAdapter getRemoteAdapter(Object o)
|
||||
{
|
||||
public static ISystemRemoteElementAdapter getRemoteAdapter(Object o) {
|
||||
ISystemRemoteElementAdapter adapter = null;
|
||||
if (!(o instanceof IAdaptable))
|
||||
adapter = (ISystemRemoteElementAdapter)Platform.getAdapterManager().getAdapter(o,ISystemRemoteElementAdapter.class);
|
||||
else
|
||||
|
||||
// In case the object itself is an adaptable, call the objects getAdapter() method
|
||||
if (o instanceof IAdaptable) {
|
||||
adapter = (ISystemRemoteElementAdapter)((IAdaptable)o).getAdapter(ISystemRemoteElementAdapter.class);
|
||||
} else if (o != null) {
|
||||
// object is not an adaptable itself, call the adapter manager
|
||||
adapter = (ISystemRemoteElementAdapter)Platform.getAdapterManager().getAdapter(o, ISystemRemoteElementAdapter.class);
|
||||
}
|
||||
|
||||
return adapter;
|
||||
}
|
||||
|
||||
|
@ -96,8 +100,7 @@ public class SystemAdapterHelpers
|
|||
* the adapter, but also sets its viewer to the given viewer. Many actions rely
|
||||
* on this being set.
|
||||
*/
|
||||
public static ISystemRemoteElementAdapter getRemoteAdapter(Object o, Viewer viewer)
|
||||
{
|
||||
public static ISystemRemoteElementAdapter getRemoteAdapter(Object o, Viewer viewer) {
|
||||
ISystemRemoteElementAdapter adapter = getRemoteAdapter(o);
|
||||
if ((adapter != null) && (adapter instanceof ISystemViewElementAdapter))
|
||||
((ISystemViewElementAdapter)adapter).setViewer(viewer);
|
||||
|
@ -107,9 +110,7 @@ public class SystemAdapterHelpers
|
|||
/**
|
||||
* For pathpath access to our adapters for non-local objects in our model. Exploits the knowledge we use singleton adapters.
|
||||
*/
|
||||
public SystemViewAdapterFactory getSystemViewAdapterFactory()
|
||||
{
|
||||
public SystemViewAdapterFactory getSystemViewAdapterFactory() {
|
||||
return RSEUIPlugin.getDefault().getSystemViewAdapterFactory();
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue