From 789d7a59e87538f5537b3ee4813e8f2b4f355944 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 29 Nov 2007 17:10:12 +0000 Subject: [PATCH] [211472] [api][breaking] IRemoteObjectResolver.getObjectWithAbsoluteName() needs a progress monitor --- .../rse/core/subsystems/IRemoteObjectResolver.java | 11 +++++++++++ .../files/core/subsystems/RemoteFileSubSystem.java | 8 +++++--- .../org/eclipse/rse/core/subsystems/SubSystem.java | 12 +++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/IRemoteObjectResolver.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/IRemoteObjectResolver.java index e592d61ae21..7fbb1de0449 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/IRemoteObjectResolver.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/IRemoteObjectResolver.java @@ -12,10 +12,12 @@ * * Contributors: * Martin Oberhuber (Wind River) - [182454] improve getAbsoluteName() documentation + * David McKnight (IBM) - [211472] [api][breaking] IRemoteObjectResolver.getObjectWithAbsoluteName() needs a progress monitor ********************************************************************************/ package org.eclipse.rse.core.subsystems; +import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.rse.services.clientserver.messages.SystemMessageException; /** @@ -70,6 +72,7 @@ public interface IRemoteObjectResolver { * * @param key the unique id of the remote object. * Must not be null. + * @param monitor the progress monitor * @return the remote object instance, or null if no * object is found with the given id. * @throws Exception in case an error occurs contacting the remote @@ -81,5 +84,13 @@ public interface IRemoteObjectResolver { * to ignore these exceptions and treat them as if the remote * object were simply not there. */ + public Object getObjectWithAbsoluteName(String key, IProgressMonitor monitor) throws Exception; + + /** + * @deprecated - use getObjectwithAbsoluteName(String key, IProgressMonitor monitor) + * @param key + * @return + * @throws Exception + */ public Object getObjectWithAbsoluteName(String key) throws Exception; } \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java b/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java index 0a50beefc88..f4bdd714e59 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java +++ b/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java @@ -22,6 +22,7 @@ * Rupen Mardirossian (IBM) - [204307] listFolders now deals with a null parameter for fileNameFilter preventing NPE * David McKnight (IBM) - [207178] changing list APIs for file service and subsystems * David McKnight (IBM) - [210109] store constants in IFileService rather than IFileServiceConstants + * David McKnight (IBM) - [211472] [api][breaking] IRemoteObjectResolver.getObjectWithAbsoluteName() needs a progress monitor *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.subsystems; @@ -1027,6 +1028,7 @@ public abstract class RemoteFileSubSystem extends SubSystem implements IRemoteFi * a file, this is simply a wrapper to getRemoteFileObject(). * * @see SubSystem#getObjectWithAbsoluteName(String) + * @param monitor the progress monitor * @param key the unique id of the remote object. * Must not be null. * @return the remote object instance, or null if no @@ -1040,9 +1042,9 @@ public abstract class RemoteFileSubSystem extends SubSystem implements IRemoteFi * to ignore these exceptions and treat them as if the remote * object were simply not there. */ - public Object getObjectWithAbsoluteName(String key) throws Exception + public Object getObjectWithAbsoluteName(String key, IProgressMonitor monitor) throws Exception { - Object filterRef = super.getObjectWithAbsoluteName(key); + Object filterRef = super.getObjectWithAbsoluteName(key, monitor); if (filterRef != null) { return filterRef; } @@ -1051,7 +1053,7 @@ public abstract class RemoteFileSubSystem extends SubSystem implements IRemoteFi // if not, the key must be for a file if (key.lastIndexOf(IHostSearchResult.SEARCH_RESULT_DELIMITER) < 0) { - IRemoteFile remoteFile = getRemoteFileObject(key, new NullProgressMonitor()); + IRemoteFile remoteFile = getRemoteFileObject(key, monitor); if (remoteFile != null) { return remoteFile; diff --git a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java index 5fae2a9743b..551210b56db 100644 --- a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java +++ b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java @@ -26,6 +26,7 @@ * Xuan Chen (IBM) - [187342] Open in New Window expand failed error when not connected * David McKnight (IBM) - [186363] remove deprecated calls in checkIsConnected * David McKnight (IBM) - [186363] get rid of obsolete calls to SubSystem.connect() + * David McKnight (IBM) - [211472] [api][breaking] IRemoteObjectResolver.getObjectWithAbsoluteName() needs a progress monitor ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -781,6 +782,7 @@ public abstract class SubSystem extends RSEModelObject * * @param key the unique id of the remote object. * Must not be null. + * @param monitor the progress monitor * @return the remote object instance, or null if no * object is found with the given id. * @throws Exception in case an error occurs contacting the remote @@ -792,12 +794,20 @@ public abstract class SubSystem extends RSEModelObject * to ignore these exceptions and treat them as if the remote * object were simply not there. */ - public Object getObjectWithAbsoluteName(String key) throws Exception + public Object getObjectWithAbsoluteName(String key, IProgressMonitor monitor) throws Exception { // by default, the subsystem will attempt to find a filter reference for the key. // Return null when no such filter is found. return getFilterReferenceWithAbsoluteName(key); } + + /** + * @deprecated use getObjectWithAbsoluteName(String key, IProgressMonitor monitor) + */ + public Object getObjectWithAbsoluteName(String key) throws Exception + { + return getObjectWithAbsoluteName(key, new NullProgressMonitor()); + } /** * Return the filter reference that corresponds to the specified key. If there