From 6c0b64d3dd8053d9903c316152ec339f9a5e37b6 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 25 Oct 2007 21:04:21 +0000 Subject: [PATCH] [207100] adding ISystemRegistry.isRegisteredSystemRemoteChangeListener --- .../org/eclipse/rse/core/model/ISystemRegistry.java | 7 +++++++ .../core/model/SystemRemoteChangeEventManager.java | 9 +++++++++ .../eclipse/rse/ui/internal/model/SystemRegistry.java | 10 ++++++++++ 3 files changed, 26 insertions(+) diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java index 697dfa06e4d..d4a51070009 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java @@ -19,6 +19,7 @@ * Martin Oberhuber (Wind River) - [189123] Prepare ISystemRegistry for move into non-UI * Martin Oberhuber (Wind River) - [175680] Deprecate obsolete ISystemRegistry methods * Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core + * David McKnight (IBM) - [207100] adding ISystemRegistry.isRegisteredSystemRemoteChangeListener ********************************************************************************/ package org.eclipse.rse.core.model; @@ -729,6 +730,12 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie */ public void removeSystemRemoteChangeListener(ISystemRemoteChangeListener l); + + /** + * Query if the ISystemRemoteChangeListener is already listening for SystemRemoteChange events + */ + public boolean isRegisteredSystemRemoteChangeListener(ISystemRemoteChangeListener l); + /** * Notify all listeners of a change to a remote resource such as a file. * You would not normally call this as the methods in this class call it when appropriate. diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRemoteChangeEventManager.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRemoteChangeEventManager.java index c78cafa7788..e94f23a44ec 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRemoteChangeEventManager.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRemoteChangeEventManager.java @@ -12,6 +12,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core + * David McKnight (IBM) - [207100] adding SystemRemoteChangeEventManager.isRegisteredSystemRemoteChangeListener ********************************************************************************/ package org.eclipse.rse.internal.core.model; @@ -33,6 +34,14 @@ public class SystemRemoteChangeEventManager public SystemRemoteChangeEventManager() { } + + /** + * Query if the ISystemRemoteChangeListener is already listening for SystemRemoteChange events + */ + public boolean isRegisteredSystemRemoteChangeListener(ISystemRemoteChangeListener l) + { + return listeners.contains(l); + } /** * Add a listener to list of listeners. diff --git a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java b/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java index 91bc731752f..8cff6971280 100644 --- a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java +++ b/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java @@ -35,6 +35,7 @@ * David McKnight (IBM) - [165674] Sort subsystem configurations to be in deterministic order * Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id * Martin Oberhuber (Wind River) - [194898] Avoid NPE when doing EVENT_REFRESH_REMOTE on a subsys without filters + * David McKnight (IBM) - [207100] adding ISystemRegistry.isRegisteredSystemRemoteChangeListener ********************************************************************************/ package org.eclipse.rse.ui.internal.model; @@ -2685,6 +2686,15 @@ public class SystemRegistry implements ISystemRegistry remoteListManager.removeSystemRemoteChangeListener(l); remoteListCount--; } + + /** + * Query if the ISystemRemoteChangeListener is already listening for SystemRemoteChange events + */ + public boolean isRegisteredSystemRemoteChangeListener(ISystemRemoteChangeListener l) + { + return remoteListManager.isRegisteredSystemRemoteChangeListener(l); + } + /** * Notify all listeners of a change to a remote resource such as a file. * You would not normally call this as the methods in this class call it when appropriate.