From be3fbd90d67125b8062002bdcf07515ed5d59ebb Mon Sep 17 00:00:00 2001 From: David McKnight Date: Tue, 29 May 2007 18:17:06 +0000 Subject: [PATCH] [189711] isRemote method for ISystemViewElementAdapter --- .../rse/internal/ui/view/SystemView.java | 45 ++++++++++--------- .../ui/view/SystemViewConnectionAdapter.java | 10 +++++ .../ui/view/SystemViewFilterAdapter.java | 12 +++++ .../ui/view/SystemViewFilterPoolAdapter.java | 10 +++++ .../SystemViewFilterPoolReferenceAdapter.java | 9 ++++ .../SystemViewFilterReferenceAdapter.java | 10 +++++ .../view/SystemViewFilterStringAdapter.java | 10 +++++ .../ui/view/SystemViewMessageAdapter.java | 10 +++++ .../ui/view/SystemViewPromptableAdapter.java | 10 +++++ .../ui/view/SystemViewRootInputAdapter.java | 10 +++++ .../ui/view/SystemViewScratchpadAdapter.java | 9 ++++ .../ui/view/SystemViewSubSystemAdapter.java | 9 ++++ .../team/SystemTeamViewCategoryAdapter.java | 9 ++++ .../team/SystemTeamViewProfileAdapter.java | 10 +++++ ...TeamViewSubSystemConfigurationAdapter.java | 9 ++++ .../ui/view/AbstractSystemViewAdapter.java | 10 +++++ .../TestSubSystemNodeAdapter.java | 10 +++++ 17 files changed, 181 insertions(+), 21 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java index e6ca3d2a3e5..7fe927e3329 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java @@ -857,32 +857,31 @@ public class SystemView extends SafeTreeViewer // GO INTO ACTION... // OPEN IN NEW WINDOW ACTION... if (fromSystemViewPart) { - GoIntoAction goIntoAction = getGoIntoAction(); - boolean singleSelection = selection.size() == 1; - goIntoAction.setEnabled(singleSelection); - boolean selectionHasChildren = false; - if (singleSelection) + + Object selectedObject = selection.getFirstElement(); + ISystemViewElementAdapter adapter = getViewAdapter(selectedObject); + if (!selectionIsRemoteObject) { - // dkm - first find out if the selection will have children - // only add this action if there are children - Object selectedObject = selection.getFirstElement(); - ISystemViewElementAdapter adapter = getViewAdapter(selectedObject); - if (adapter != null) - { + GoIntoAction goIntoAction = getGoIntoAction(); + boolean singleSelection = selection.size() == 1; + goIntoAction.setEnabled(singleSelection); + if (singleSelection) { + // dkm - first find out if the selection will have children + // only add this action if there are children if (adapter.hasChildren((IAdaptable)selectedObject)) { - selectionHasChildren = true; menu.appendToGroup(ISystemContextMenuConstants.GROUP_GOTO, goIntoAction); } } - } + - if (showOpenViewActions()) { - SystemOpenExplorerPerspectiveAction opa = getOpenToPerspectiveAction(); - opa.setSelection(selection); - menu.appendToGroup(opa.getContextMenuGroup(), opa); + if (showOpenViewActions()) { + SystemOpenExplorerPerspectiveAction opa = getOpenToPerspectiveAction(); + opa.setSelection(selection); + menu.appendToGroup(opa.getContextMenuGroup(), opa); + } } - + if (showGenericShowInTableAction()) { SystemShowInTableAction showInTableAction = getShowInTableAction(); showInTableAction.setSelection(selection); @@ -1325,6 +1324,11 @@ public class SystemView extends SafeTreeViewer } } + protected IRemoteObjectIdentifier getRemoteObjectIdentifier(Object o) + { + return (IRemoteObjectIdentifier)((IAdaptable)o).getAdapter(IRemoteObjectIdentifier.class); + } + /** * Returns the implementation of IRemoteObjectIdentifier for the given * object. Returns null if this object does not adaptable to this. @@ -2112,8 +2116,7 @@ public class SystemView extends SafeTreeViewer else { // only do this if the object is "remote" - Object remoteAdapter = getRemoteAdapter(src); - if (remoteAdapter != null) + if (adapter.isRemote(src)) { // get up-to-date version of the container (need to make sure it still exists) if (ss == null) @@ -4677,7 +4680,7 @@ public class SystemView extends SafeTreeViewer if (selectionEnableRenameAction) selectionEnableRenameAction = selectionShowRenameAction && adapter.canRename(element); - if (selectionIsRemoteObject) selectionIsRemoteObject = (getRemoteAdapter(element) != null); + if (selectionIsRemoteObject) selectionIsRemoteObject = adapter.isRemote(element); if (selectionIsRemoteObject && !selectionFlagsUpdated) { ISubSystem srcSubSystem = adapter.getSubSystem(element); diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewConnectionAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewConnectionAdapter.java index 980c8db6be6..7fda53eec2d 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewConnectionAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewConnectionAdapter.java @@ -825,5 +825,15 @@ public class SystemViewConnectionAdapter { return ISystemMementoConstants.MEMENTO_KEY_CONNECTION; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file 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 20019c4b2bc..a7aaea07098 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 @@ -67,6 +67,8 @@ import org.eclipse.ui.views.properties.PropertyDescriptor; */ public class SystemViewFilterAdapter extends AbstractSystemViewAdapter { + + //private static String translatedFilterString = null; // ------------------- // property descriptors @@ -576,4 +578,14 @@ public class SystemViewFilterAdapter extends AbstractSystemViewAdapter } return result; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file 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 3ace2a5053d..e7d739834c3 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 @@ -290,4 +290,14 @@ public class SystemViewFilterPoolAdapter extends AbstractSystemViewAdapter return (mgrName + "." + newName).toUpperCase(); //$NON-NLS-1$ } + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } + } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolReferenceAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolReferenceAdapter.java index 2d2d485a36b..cb940f74457 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolReferenceAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterPoolReferenceAdapter.java @@ -389,4 +389,13 @@ public class SystemViewFilterPoolReferenceAdapter return ISystemMementoConstants.MEMENTO_KEY_FILTERPOOLREFERENCE; } + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java index 3367c9bd5d1..dbaab4ca277 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java @@ -995,4 +995,14 @@ public class SystemViewFilterReferenceAdapter { return subSys.getSubSystemConfiguration().supportsDeferredQueries(); } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file 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 2762e67ce9f..35d8dea0552 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 @@ -274,4 +274,14 @@ public class SystemViewFilterStringAdapter extends AbstractSystemViewAdapter { return false; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMessageAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMessageAdapter.java index f03c3244437..ddcf5cdc915 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMessageAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMessageAdapter.java @@ -196,5 +196,15 @@ public class SystemViewMessageAdapter { return false; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPromptableAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPromptableAdapter.java index 4cd6a9bd72b..8e413ef3402 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPromptableAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPromptableAdapter.java @@ -214,4 +214,14 @@ public class SystemViewPromptableAdapter { return false; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewRootInputAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewRootInputAdapter.java index c9b683689dd..1ef5e902865 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewRootInputAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewRootInputAdapter.java @@ -228,4 +228,14 @@ public class SystemViewRootInputAdapter extends AbstractSystemViewAdapter return getType(element); //return "root"; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java index a41a4ee8089..50f5fabfb1d 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java @@ -278,4 +278,13 @@ public class SystemViewScratchpadAdapter extends AbstractSystemViewAdapter imple return false; } + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewSubSystemAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewSubSystemAdapter.java index fa3cbd2aa57..c7a92597017 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewSubSystemAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewSubSystemAdapter.java @@ -755,4 +755,13 @@ public class SystemViewSubSystemAdapter extends AbstractSystemViewAdapter return ISystemMementoConstants.MEMENTO_KEY_SUBSYSTEM; } + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewCategoryAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewCategoryAdapter.java index 43541cddc78..99e278506f1 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewCategoryAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewCategoryAdapter.java @@ -273,4 +273,13 @@ public class SystemTeamViewCategoryAdapter return category.getProfile().getName() + "." + category.getLabel(); //$NON-NLS-1$ } + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java index 2bfcdcad8a3..3c74af84a3f 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java @@ -415,5 +415,15 @@ public class SystemTeamViewProfileAdapter { return ISystemMementoConstants.MEMENTO_KEY_PROFILE; } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewSubSystemConfigurationAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewSubSystemConfigurationAdapter.java index 19cc3217998..9f9b332fa95 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewSubSystemConfigurationAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewSubSystemConfigurationAdapter.java @@ -305,4 +305,13 @@ public class SystemTeamViewSubSystemConfigurationAdapter return factory.getProfile().getName() + "." + factory.getParentCategory().getLabel() + "." + factory.getLabel(); //$NON-NLS-1$ //$NON-NLS-2$ } + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.java index 6a5a49fdc78..96712cf2f32 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.java @@ -1357,6 +1357,16 @@ public abstract class AbstractSystemViewAdapter implements ISystemViewElementAda { return (element instanceof ISystemPromptableObject); } + + /** + * Overridable by subclasses, but usually is not.
+ * Return true if this object is remote. In this case, the default is true. + */ + public boolean isRemote(Object element) + { + return true; + } + /** * Overridable by subclasses, but usually is not.
* Selection has changed in the Remote Systems view. Empty by default, but override if you need diff --git a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemNodeAdapter.java b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemNodeAdapter.java index 4fc15712f60..263ebbcee5e 100644 --- a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemNodeAdapter.java +++ b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemNodeAdapter.java @@ -320,4 +320,14 @@ public class TestSubSystemNodeAdapter extends AbstractSystemViewAdapter public boolean showRename(Object element) { return isTestSubSystemNode(element); } + + /** + * This is a local RSE artifact so returning false + * + * @param element the object to check + * @return false since this is not remote + */ + public boolean isRemote(Object element) { + return false; + } }