diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystemConfiguration.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystemConfiguration.java index 845a8c19661..33d32c1965c 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystemConfiguration.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystemConfiguration.java @@ -14,6 +14,7 @@ * David Dykstal (IBM) - 168870: move core function from UI to core * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType * Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util + * Martin Oberhuber (Wind River) - [189123] Move renameSubSystemProfile() from UI to Core ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -318,6 +319,23 @@ public interface ISubSystemConfiguration extends ISystemFilterPoolManagerProvide */ public ISystemProfile getSystemProfile(ISystemFilterPool pool); + /** + * Callback method called after renaming a subsystem profile. + *
+ * This is called by SystemRegistry's renameSystemProfile method + * after it is complete, , in order to allow the subsystem configuration + * perform any required cleanup. For instance, subsystem configurations + * must ensure that they update their filter pool manager names + * (and their folders). + *
+ * Must be called AFTER changing the profile's name!! + *
+ * @param oldProfileName the old profile name. + * @param newProfileName the new profile name. + */ + public void renameSubSystemProfile(String oldProfileName, String newProfileName); + + // --------------------------------- // SUBSYSTEM METHODS... // --------------------------------- diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SubSystemConfigurationAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SubSystemConfigurationAdapter.java index 10e59fc226f..639f14e8623 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SubSystemConfigurationAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SubSystemConfigurationAdapter.java @@ -13,6 +13,7 @@ * Contributors: * Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry + * Martin Oberhuber (Wind River) - [189123] Move renameSubSystemProfile() from UI to Core ********************************************************************************/ package org.eclipse.rse.ui.view; @@ -1210,34 +1211,6 @@ public class SubSystemConfigurationAdapter implements ISubSystemConfigurationAda return new RemoteServerLauncherForm(shell, msgLine); } - /** - * Called by SystemRegistry's renameSystemProfile method to ensure we update our - * filter pool manager names (and their folders) - *- * Must be called AFTER changing the profile's name!! - */ - public void renameSubSystemProfile(ISubSystemConfiguration factory, String oldProfileName, String newProfileName) - { - //RSEUIPlugin.logDebugMessage(this.getClass().getName(), "Inside renameSubSystemProfile. newProfileName = "+newProfileName); - ISystemProfile profile = factory.getSystemProfile(newProfileName); - factory.renameFilterPoolManager(profile); // update filter pool manager name - //if (profile.isDefaultPrivate()) // I don't remember why this was here, but it caused bad things, Phil. - { - // Rename the default filter pool for this profile, as it's name is derived from the profile. - ISystemFilterPool defaultPoolForThisProfile = factory.getDefaultFilterPool(profile, oldProfileName); - if (defaultPoolForThisProfile != null) - try - { - factory.getFilterPoolManager(profile).renameSystemFilterPool(defaultPoolForThisProfile, SubSystemConfiguration.getDefaultFilterPoolName(newProfileName, factory.getId())); - } - catch (Exception exc) - { - SystemBasePlugin.logError("Unexpected error renaming default filter pool " + SubSystemConfiguration.getDefaultFilterPoolName(newProfileName, factory.getId()), exc); //$NON-NLS-1$ - System.out.println("Unexpected error renaming default filter pool " + SubSystemConfiguration.getDefaultFilterPoolName(newProfileName, factory.getId()) + ": " + exc); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - } - /** * Return the validator for the password which is prompted for at runtime. * Returns null by default. 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 3ee09cafab5..5131ee22a72 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 @@ -28,6 +28,7 @@ * Martin Oberhuber (Wind River) - [186779] Fix IRSESystemType.getAdapter() * Martin Oberhuber (Wind River) - [186773] split SystemRegistryUI from SystemRegistry implementation * Martin Oberhuber (Wind River) - [189123] Prepare ISystemRegistry for move into non-UI + * Martin Oberhuber (Wind River) - [189123] Move renameSubSystemProfile() from UI to Core ********************************************************************************/ package org.eclipse.rse.ui.internal.model; @@ -90,7 +91,6 @@ import org.eclipse.rse.ui.RSEUIPlugin; import org.eclipse.rse.ui.SystemBasePlugin; import org.eclipse.rse.ui.SystemPreferencesManager; import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.rse.ui.subsystems.ISubSystemConfigurationAdapter; import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; import org.eclipse.rse.ui.view.SystemAdapterHelpers; import org.eclipse.swt.widgets.Display; @@ -609,9 +609,7 @@ public class SystemRegistry implements ISystemRegistry ISubSystemConfiguration factory = proxies[idx].getSubSystemConfiguration(); if (factory != null) { - //FIXME why is this done via the adapter, and not the ISubSystemConfiguration directly? - ISubSystemConfigurationAdapter adapter = (ISubSystemConfigurationAdapter)factory.getAdapter(ISubSystemConfigurationAdapter.class); - adapter.renameSubSystemProfile(factory,oldName, newName); + factory.renameSubSystemProfile(oldName, newName); } } } diff --git a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java index 39e99099989..0db6091733b 100644 --- a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java +++ b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java @@ -20,6 +20,7 @@ * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType * Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry + * Martin Oberhuber (Wind River) - [189123] Move renameSubSystemProfile() from UI to Core ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -829,6 +830,32 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration } } + /* + * (non-Javadoc) + * @see org.eclipse.rse.core.subsystems.ISubSystemConfiguration#renameSubSystemProfile(java.lang.String, java.lang.String) + */ + public void renameSubSystemProfile(String oldProfileName, String newProfileName) + { + //RSEUIPlugin.logDebugMessage(this.getClass().getName(), "Inside renameSubSystemProfile. newProfileName = "+newProfileName); + ISystemProfile profile = getSystemProfile(newProfileName); + renameFilterPoolManager(profile); // update filter pool manager name + //if (profile.isDefaultPrivate()) // I don't remember why this was here, but it caused bad things, Phil. + { + // Rename the default filter pool for this profile, as it's name is derived from the profile. + ISystemFilterPool defaultPoolForThisProfile = getDefaultFilterPool(profile, oldProfileName); + if (defaultPoolForThisProfile != null) + try + { + getFilterPoolManager(profile).renameSystemFilterPool(defaultPoolForThisProfile, SubSystemConfiguration.getDefaultFilterPoolName(newProfileName, getId())); + } + catch (Exception exc) + { + SystemBasePlugin.logError("Unexpected error renaming default filter pool " + SubSystemConfiguration.getDefaultFilterPoolName(newProfileName, getId()), exc); //$NON-NLS-1$ + System.out.println("Unexpected error renaming default filter pool " + SubSystemConfiguration.getDefaultFilterPoolName(newProfileName, getId()) + ": " + exc); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + } + // --------------------------------- // SUBSYSTEM METHODS... // --------------------------------- diff --git a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/ISubSystemConfigurationAdapter.java b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/ISubSystemConfigurationAdapter.java index 2fae6ccb17e..d9a11091c2d 100644 --- a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/ISubSystemConfigurationAdapter.java +++ b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/ISubSystemConfigurationAdapter.java @@ -12,6 +12,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [186748] Move from UI/org.eclipse.rse.core.subsystems.util + * Martin Oberhuber (Wind River) - [189123] Move renameSubSystemProfile() from UI to Core ********************************************************************************/ package org.eclipse.rse.ui.subsystems; @@ -282,8 +283,6 @@ public interface ISubSystemConfigurationAdapter */ public ImageDescriptor getSystemFilterStringImage(String filterStringString); - public void renameSubSystemProfile(ISubSystemConfiguration config, String oldProfileName, String newProfileName); - /** * Return the single property page to show in the tabbed notebook for the * for SubSystem property of the parent Connection. Return null if no