mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-14 20:45:22 +02:00
[215820][api][breaking] Move SystemRegistry implementation to Core
This commit is contained in:
parent
298a3d5a29
commit
52a332ae0b
17 changed files with 531 additions and 406 deletions
|
@ -7,7 +7,8 @@ Bundle-Activator: org.eclipse.rse.core.RSECorePlugin
|
|||
Bundle-Localization: plugin
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.core.resources,
|
||||
org.eclipse.rse.services;bundle-version="[2.0.0,3.0.0)"
|
||||
org.eclipse.rse.services;bundle-version="[2.0.0,3.0.0)",
|
||||
org.eclipse.swt
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Eclipse-LazyStart: true
|
||||
Export-Package: org.eclipse.rse.core,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -19,6 +19,7 @@
|
|||
* Martin Oberhuber (Wind River) - [160293] NPE on startup when only Core feature is installed
|
||||
* Uwe Stieber (Wind River) - [192611] RSE Core plugin may fail to initialize because of cyclic code invocation
|
||||
* Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.core;
|
||||
|
||||
|
@ -33,9 +34,12 @@ import org.eclipse.core.runtime.IExtensionRegistry;
|
|||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.rse.core.comm.SystemKeystoreProviderManager;
|
||||
import org.eclipse.rse.core.model.ISystemProfileManager;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
|
||||
import org.eclipse.rse.internal.core.RSECoreRegistry;
|
||||
import org.eclipse.rse.internal.core.model.SystemProfileManager;
|
||||
import org.eclipse.rse.internal.core.model.SystemRegistry;
|
||||
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxy;
|
||||
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxyComparator;
|
||||
import org.eclipse.rse.internal.persistence.RSEPersistenceManager;
|
||||
|
@ -64,7 +68,7 @@ public class RSECorePlugin extends Plugin {
|
|||
|
||||
private static RSECorePlugin plugin = null; // the singleton instance of this plugin
|
||||
private Logger logger = null;
|
||||
private ISystemRegistry _registry = null;
|
||||
private ISystemRegistry _systemRegistry = null;
|
||||
private IRSEPersistenceManager _persistenceManager = null;
|
||||
private ISubSystemConfigurationProxy[] _subsystemConfigurations = null;
|
||||
|
||||
|
@ -76,15 +80,6 @@ public class RSECorePlugin extends Plugin {
|
|||
return plugin;
|
||||
}
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* <code>RSECorePlugin.getDefault().getPersistenceManager()</code>.
|
||||
* @return the persistence manager currently in use for RSE
|
||||
*/
|
||||
public static IRSEPersistenceManager getThePersistenceManager() {
|
||||
return getDefault().getPersistenceManager();
|
||||
}
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* <code>RSECorePlugin.getDefault().getRegistry()</code>.
|
||||
|
@ -94,9 +89,42 @@ public class RSECorePlugin extends Plugin {
|
|||
return getDefault().getCoreRegistry();
|
||||
}
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* <code>RSECorePlugin.getDefault().getPersistenceManager()</code>.
|
||||
* @return the persistence manager currently in use for RSE
|
||||
*/
|
||||
public static IRSEPersistenceManager getThePersistenceManager() {
|
||||
return getDefault().getPersistenceManager();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the master profile manager singleton.
|
||||
* @return the RSE Profile Manager Singleton.
|
||||
*/
|
||||
public static ISystemProfileManager getTheSystemProfileManager() {
|
||||
return SystemProfileManager.getDefault();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the SystemRegistry has been instantiated already.
|
||||
* Use this when you don't want to start the system registry as a
|
||||
* side effect of retrieving it.
|
||||
* @return <code>true</code> if the System Registry has been instantiated already.
|
||||
*/
|
||||
public static boolean isTheSystemRegistryActive()
|
||||
{
|
||||
if (plugin == null) {
|
||||
return false;
|
||||
}
|
||||
return getDefault().isSystemRegistryActive();
|
||||
}
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* <code>RSECorePlugin.getDefault().getSystemRegistry()</code>.
|
||||
* The SystemRegistry is used to gain access to the basic services
|
||||
* and components used in RSE.
|
||||
* @return the RSE System Registry.
|
||||
*/
|
||||
public static ISystemRegistry getTheSystemRegistry() {
|
||||
|
@ -173,7 +201,11 @@ public class RSECorePlugin extends Plugin {
|
|||
*/
|
||||
public IRSEPersistenceManager getPersistenceManager() {
|
||||
if (_persistenceManager == null) {
|
||||
_persistenceManager = new RSEPersistenceManager(_registry);
|
||||
synchronized(this) {
|
||||
if (_persistenceManager==null) {
|
||||
_persistenceManager = new RSEPersistenceManager(getSystemRegistry());
|
||||
}
|
||||
}
|
||||
}
|
||||
return _persistenceManager;
|
||||
}
|
||||
|
@ -183,19 +215,43 @@ public class RSECorePlugin extends Plugin {
|
|||
* that require a user interface. This should be set only by RSE startup components and
|
||||
* not by any external client.
|
||||
* @param registry the implementation of ISystemRegistry that the core should remember.
|
||||
* @deprecated Do not use this method.
|
||||
*/
|
||||
public void setSystemRegistry(ISystemRegistry registry) {
|
||||
_registry = registry;
|
||||
_systemRegistry = registry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if the SystemRegistry has been instantiated already.
|
||||
* Use this when you don't want to start the system registry as a
|
||||
* side effect of retrieving it.
|
||||
* @return <code>true</code> if the system registry has been instantiated already.
|
||||
*/
|
||||
private boolean isSystemRegistryActive()
|
||||
{
|
||||
return (_systemRegistry != null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the system registry set by {@link #setSystemRegistry(ISystemRegistry)}.
|
||||
* This registry is used to gain access to the basic services and components used in
|
||||
* the RSE user interface.
|
||||
* Return the SystemRegistry singleton.
|
||||
* Clients should use static @{link getTheSystemRegistry()} instead.
|
||||
* @return the RSE system registry
|
||||
*/
|
||||
public ISystemRegistry getSystemRegistry() {
|
||||
return _registry;
|
||||
if (_systemRegistry == null) {
|
||||
synchronized(this) {
|
||||
if (_systemRegistry == null) {
|
||||
String logfilePath = getStateLocation().toOSString();
|
||||
SystemRegistry sr = SystemRegistry.getInstance(logfilePath);
|
||||
ISubSystemConfigurationProxy[] proxies = getSubSystemConfigurationProxies();
|
||||
if (proxies != null) {
|
||||
sr.setSubSystemConfigurationProxies(proxies);
|
||||
}
|
||||
_systemRegistry = sr;
|
||||
}
|
||||
}
|
||||
}
|
||||
return _systemRegistry;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
* David Dykstal (IBM) - [197036] adding new createHost and getSubSystemConfigurationsBySYstemType which
|
||||
* are able to delay the creation of subsystems.
|
||||
* David Dykstal (IBM) - [217556] remove service subsystem types
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.model;
|
||||
|
@ -144,34 +145,6 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
|
|||
*/
|
||||
public boolean hasConnectionChildren(IHost selectedConnection);
|
||||
|
||||
// ----------------------------
|
||||
// USER PREFERENCE METHODS...
|
||||
// ----------------------------
|
||||
/**
|
||||
* Are connection names to be qualified by profile name?
|
||||
*/
|
||||
public boolean getQualifiedHostNames();
|
||||
|
||||
/**
|
||||
* Set if connection names are to be qualified by profile name
|
||||
*/
|
||||
public void setQualifiedHostNames(boolean set);
|
||||
|
||||
/**
|
||||
* Reflect the user changing the preference for showing filter pools.
|
||||
*/
|
||||
public void setShowFilterPools(boolean show);
|
||||
|
||||
/*
|
||||
* Reflect the user changing the preference for showing filter strings.
|
||||
*
|
||||
public void setShowFilterStrings(boolean show);
|
||||
*/
|
||||
/**
|
||||
* Reflect the user changing the preference for showing new connection prompt
|
||||
*/
|
||||
public void setShowNewHostPrompt(boolean show);
|
||||
|
||||
// ----------------------------
|
||||
// PROFILE METHODS...
|
||||
// ----------------------------
|
||||
|
@ -324,12 +297,15 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
|
|||
// CONNECTION METHODS...
|
||||
// ----------------------------
|
||||
/**
|
||||
* Return the first connection to localhost we can find. While we always create a default one in
|
||||
* the user's profile, it is possible that this profile is not active or the connection was deleted.
|
||||
* However, since any connection to localHost will usually do, we just search all active profiles
|
||||
* until we find one, and return it. <br>
|
||||
* If no localhost connection is found, this will return null. If one is needed, it can be created
|
||||
* easily by calling {@link #createLocalHost(ISystemProfile, String, String)}.
|
||||
* Return the first connection to the local host we can find.
|
||||
*
|
||||
* While we always create a default one in the user's profile, it is possible that
|
||||
* this profile is not active or the connection was deleted. However, since any
|
||||
* connection to the local host will usually do, we just search all active profiles
|
||||
* until we find one, and return it. <br>
|
||||
* If no connection to the local host can be found, this will return <code>null</code>.
|
||||
* If one is needed, it can be created easily by calling
|
||||
* {@link #createLocalHost(ISystemProfile, String, String)}.
|
||||
*/
|
||||
public IHost getLocalHost();
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -8,6 +8,7 @@
|
|||
* David Dykstal (IBM) - initial API and implementation
|
||||
* David Dykstal (IBM) - 168977: refactoring IConnectorService and ServerLauncher hierarchies
|
||||
* Martin Oberhuber (Wind River) - [184095] combined RSEModelResources and persistence.Messages into this file
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.internal.core;
|
||||
|
||||
|
@ -51,6 +52,17 @@ public class RSECoreMessages extends NLS {
|
|||
// Password Persistence Manager
|
||||
public static String DefaultSystemType_Label;
|
||||
|
||||
// SystemRegistry: Loading Profile Warning Messages - See also ISystemMessages
|
||||
public static String MSG_LOADING_PROFILE_WARNING_FILTERPOOL_REFS;
|
||||
public static String MSG_LOADING_PROFILE_WARNING_FILTERPOOL_REF;
|
||||
public static String MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED; //RSEG1069
|
||||
public static String MSG_CREATEHOST_EXCEPTION;
|
||||
|
||||
// SystemRegistry: Progress Reporting - See also ISystemMessages
|
||||
public static String MSG_COPYCONNECTION_PROGRESS; //RSEG1073
|
||||
public static String MSG_COPYFILTERPOOLS_PROGRESS; //RSEG1075
|
||||
public static String MSG_COPYSUBSYSTEMS_PROGRESS; //RSEG1081
|
||||
|
||||
private RSECoreMessages() {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
###############################################################################
|
||||
# Copyright (c) 2000, 2007 IBM Corporation and others.
|
||||
# Copyright (c) 2000, 2008 IBM Corporation and others.
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are made available under the terms of the Eclipse Public License v1.0
|
||||
# which accompanies this distribution, and is available at
|
||||
|
@ -9,6 +9,7 @@
|
|||
# David Dykstal (IBM) - initial API and implementation
|
||||
# David Dykstal (IBM) - 168977: refactoring IConnectorService and ServerLauncher hierarchies
|
||||
# Martin Oberhuber (Wind River) - [184095] combined RSEModelResources and persistence.Messages into this file
|
||||
# Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
###############################################################################
|
||||
|
||||
# NLS_MESSAGEFORMAT_VAR
|
||||
|
@ -44,3 +45,14 @@ SerializingProvider_UnexpectedException=Unexpected Exception
|
|||
|
||||
# Password Persistence Manager
|
||||
DefaultSystemType_Label=Default
|
||||
|
||||
# SystemRegistry: Loading Profile Warning Messages - See also ISystemMessages
|
||||
MSG_LOADING_PROFILE_WARNING_FILTERPOOL_REFS=RSEG1069: De-Activating profile {0} for which there are subsystems containing references to filter pools:
|
||||
MSG_LOADING_PROFILE_WARNING_FILTERPOOL_REF=\ in connection {1} in profile {2}
|
||||
MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED=RSEG1069: Warning. Profile '{0}' should be active. Active connection '{1}' contains a reference to it.
|
||||
MSG_CREATEHOST_EXCEPTION=Exception in createHost for {0}
|
||||
|
||||
# SystemRegistry: Progress Reporting - See also ISystemMessages
|
||||
MSG_COPYCONNECTION_PROGRESS=Copying connection {0}
|
||||
MSG_COPYFILTERPOOLS_PROGRESS=Copying filter pools
|
||||
MSG_COPYSUBSYSTEMS_PROGRESS=Copying subsystems
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -12,9 +12,10 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.ui.internal.model;
|
||||
package org.eclipse.rse.internal.core.model;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeEvent;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeListener;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
|
@ -24,7 +25,7 @@ import org.eclipse.swt.widgets.Display;
|
|||
* To support posted events versus synchronous events, this class encapsulates
|
||||
* the code to execute via the run() method.
|
||||
* <p>
|
||||
* The post behaviour is accomplished by calling the asyncExec method in the swt
|
||||
* The post behavior is accomplished by calling the asyncExec method in the SWT
|
||||
* widget Display class. The Display object comes from calling getDisplay() on
|
||||
* the shell which we get by calling getShell on the given listener.
|
||||
* <p>
|
|
@ -43,9 +43,10 @@
|
|||
* rewrote createHost to better pick default subsystem configurations to activate
|
||||
* rewrote getSubSystemConfigurationsBySystemType to be able to delay the creation (and loading) of subsystem configurations
|
||||
* David Dykstal (IBM) - [217556] remove service subsystem types
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.ui.internal.model;
|
||||
package org.eclipse.rse.internal.core.model;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
@ -60,6 +61,7 @@ import org.eclipse.core.runtime.IStatus;
|
|||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.ISchedulingRule;
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
import org.eclipse.rse.core.IRSESystemType;
|
||||
import org.eclipse.rse.core.IRSEUserIdConstants;
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
|
@ -91,32 +93,16 @@ import org.eclipse.rse.core.model.ISystemRegistry;
|
|||
import org.eclipse.rse.core.model.SystemChildrenContentsType;
|
||||
import org.eclipse.rse.core.references.IRSEBaseReferencingObject;
|
||||
import org.eclipse.rse.core.subsystems.IConnectorService;
|
||||
import org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
|
||||
import org.eclipse.rse.core.subsystems.ISystemDragDropAdapter;
|
||||
import org.eclipse.rse.internal.core.RSECoreMessages;
|
||||
import org.eclipse.rse.internal.core.filters.SystemFilterStartHere;
|
||||
import org.eclipse.rse.internal.core.model.ISystemProfileOperation;
|
||||
import org.eclipse.rse.internal.core.model.SystemHostPool;
|
||||
import org.eclipse.rse.internal.core.model.SystemModelChangeEvent;
|
||||
import org.eclipse.rse.internal.core.model.SystemModelChangeEventManager;
|
||||
import org.eclipse.rse.internal.core.model.SystemPreferenceChangeManager;
|
||||
import org.eclipse.rse.internal.core.model.SystemProfileManager;
|
||||
import org.eclipse.rse.internal.core.model.SystemRemoteChangeEventManager;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.ui.ISystemMessages;
|
||||
import org.eclipse.rse.ui.RSESystemTypeAdapter;
|
||||
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.view.ISystemRemoteElementAdapter;
|
||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
|
||||
import com.ibm.icu.text.MessageFormat;
|
||||
|
||||
/**
|
||||
* Registry for all connections.
|
||||
*/
|
||||
|
@ -124,13 +110,12 @@ public class SystemRegistry implements ISystemRegistry
|
|||
{
|
||||
private static Exception lastException = null;
|
||||
private static SystemRegistry registry = null;
|
||||
private SystemResourceChangeManager listenerManager = null;
|
||||
private SystemPreferenceChangeManager preferenceListManager = null;
|
||||
private SystemModelChangeEventManager modelListenerManager = null;
|
||||
private final SystemResourceChangeManager listenerManager = new SystemResourceChangeManager();
|
||||
private final SystemPreferenceChangeManager preferenceListManager = new SystemPreferenceChangeManager();
|
||||
private final SystemModelChangeEventManager modelListenerManager = new SystemModelChangeEventManager();
|
||||
private final SystemRemoteChangeEventManager remoteListManager = new SystemRemoteChangeEventManager();
|
||||
private SystemModelChangeEvent modelEvent;
|
||||
private SystemRemoteChangeEventManager remoteListManager = null;
|
||||
private SystemRemoteChangeEvent remoteEvent;
|
||||
|
||||
private int listenerCount = 0;
|
||||
private int modelListenerCount = 0;
|
||||
private int remoteListCount = 0;
|
||||
|
@ -139,7 +124,6 @@ public class SystemRegistry implements ISystemRegistry
|
|||
private boolean errorLoadingFactory = false;
|
||||
|
||||
//For ISystemViewInputProvider
|
||||
private Object shell = null;
|
||||
private Object viewer = null;
|
||||
|
||||
/**
|
||||
|
@ -152,11 +136,6 @@ public class SystemRegistry implements ISystemRegistry
|
|||
{
|
||||
super();
|
||||
|
||||
listenerManager = new SystemResourceChangeManager();
|
||||
modelListenerManager = new SystemModelChangeEventManager();
|
||||
remoteListManager = new SystemRemoteChangeEventManager();
|
||||
preferenceListManager = new SystemPreferenceChangeManager();
|
||||
|
||||
// get initial shell
|
||||
//FIXME - this can cause problems - don't think we should do this here anyway
|
||||
//getShell(); // will quietly fail in headless mode. Phil
|
||||
|
@ -372,82 +351,6 @@ public class SystemRegistry implements ISystemRegistry
|
|||
return result;
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------
|
||||
// USER PREFERENCE METHODS...
|
||||
// ----------------------------
|
||||
/**
|
||||
* Are connection names to be qualified by profile name?
|
||||
*/
|
||||
public boolean getQualifiedHostNames()
|
||||
{
|
||||
return SystemPreferencesManager.getQualifyConnectionNames();
|
||||
}
|
||||
/**
|
||||
* Set if connection names are to be qualified by profile name
|
||||
*/
|
||||
public void setQualifiedHostNames(boolean set)
|
||||
{
|
||||
SystemPreferencesManager.setQualifyConnectionNames(set);
|
||||
IHost[] conns = getHosts();
|
||||
if (conns != null)
|
||||
{
|
||||
for (int idx = 0; idx < conns.length; idx++)
|
||||
{
|
||||
fireEvent(new SystemResourceChangeEvent(conns[idx], ISystemResourceChangeEvents.EVENT_RENAME, this));
|
||||
}
|
||||
}
|
||||
if (SystemPreferencesManager.getShowFilterPools())
|
||||
{
|
||||
fireEvent(new SystemResourceChangeEvent(this, ISystemResourceChangeEvents.EVENT_REFRESH, this));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reflect the user changing the preference for showing filter pools.
|
||||
*/
|
||||
public void setShowFilterPools(boolean show)
|
||||
{
|
||||
if (subsystemConfigurationProxies != null)
|
||||
{
|
||||
for (int idx = 0; idx < subsystemConfigurationProxies.length; idx++)
|
||||
{
|
||||
if (subsystemConfigurationProxies[idx].isSubSystemConfigurationActive())
|
||||
{
|
||||
ISubSystemConfiguration factory = subsystemConfigurationProxies[idx].getSubSystemConfiguration();
|
||||
if ((factory != null) && factory.supportsFilters())
|
||||
factory.setShowFilterPools(show);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reflect the user changing the preference for showing filter strings.
|
||||
*
|
||||
public void setShowFilterStrings(boolean show)
|
||||
{
|
||||
if (subsystemConfigurationProxies != null)
|
||||
{
|
||||
for (int idx = 0; idx < subsystemConfigurationProxies.length; idx++)
|
||||
{
|
||||
if (subsystemConfigurationProxies[idx].isSubSystemConfigurationActive())
|
||||
{
|
||||
SubSystemConfiguration factory = subsystemConfigurationProxies[idx].getSubSystemConfiguration();
|
||||
if ((factory!=null)&&factory.supportsFilters())
|
||||
factory.setShowFilterStrings(show);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
/**
|
||||
* Reflect the user changing the preference for showing new connection prompt
|
||||
*/
|
||||
public void setShowNewHostPrompt(boolean show)
|
||||
{
|
||||
fireEvent(new SystemResourceChangeEvent(this, ISystemResourceChangeEvents.EVENT_REFRESH, null));
|
||||
}
|
||||
|
||||
// ----------------------------
|
||||
// PROFILE METHODS...
|
||||
// ----------------------------
|
||||
|
@ -566,10 +469,11 @@ public class SystemRegistry implements ISystemRegistry
|
|||
ssf.renameSubSystemProfile(ss, oldName, newName);
|
||||
}
|
||||
}
|
||||
SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
boolean namesQualifed = getQualifiedHostNames();
|
||||
if (namesQualifed)
|
||||
setQualifiedHostNames(namesQualifed); // causes refresh events to be fired
|
||||
////Listening to events now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
//boolean namesQualifed = SystemPreferencesManager.getQualifyConnectionNames();
|
||||
//if (namesQualifed)
|
||||
// setQualifiedHostNames(namesQualifed); // causes refresh events to be fired
|
||||
|
||||
fireModelChangeEvent(
|
||||
ISystemModelChangeEvents.SYSTEM_RESOURCE_RENAMED,
|
||||
|
@ -589,7 +493,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
String oldName = profile.getName();
|
||||
IHost[] newConns = null;
|
||||
|
||||
//RSEUIPlugin.logDebugMessage(this.getClass().getName(), "Start of system profile copy. From: "+oldName+" to: "+newName+", makeActive: "+makeActive);
|
||||
//RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), "Start of system profile copy. From: "+oldName+" to: "+newName+", makeActive: "+makeActive);
|
||||
// STEP 0: BRING ALL IMPACTED SUBSYSTEM FACTORIES TO LIFE NOW, BEFORE CREATING THE NEW PROFILE.
|
||||
// IF WE DO NOT DO THIS NOW, THEN THEY WILL CREATE A FILTER POOL MGR FOR THE NEW PROFILE AS THEY COME
|
||||
// TO LIFE... SOMETHING WE DON'T WANT!
|
||||
|
@ -613,12 +517,12 @@ public class SystemRegistry implements ISystemRegistry
|
|||
if ((conns != null) && (conns.length > 0))
|
||||
{
|
||||
newConns = new IHost[conns.length];
|
||||
SystemMessage msgNoSubs = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_COPYCONNECTION_PROGRESS);
|
||||
String msgNoSubs = RSECoreMessages.MSG_COPYCONNECTION_PROGRESS;
|
||||
for (int idx = 0; idx < conns.length; idx++)
|
||||
{
|
||||
msgNoSubs.makeSubstitution(conns[idx].getAliasName());
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msgNoSubs.getLevelOneText());
|
||||
monitor.subTask(msgNoSubs.getLevelOneText());
|
||||
msg = NLS.bind(msgNoSubs, conns[idx].getAliasName());
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
monitor.subTask(msg);
|
||||
|
||||
newConns[idx] = oldPool.cloneHost(newPool, conns[idx], conns[idx].getAliasName());
|
||||
|
||||
|
@ -626,9 +530,9 @@ public class SystemRegistry implements ISystemRegistry
|
|||
//try { java.lang.Thread.sleep(3000l); } catch (InterruptedException e) {}
|
||||
}
|
||||
}
|
||||
msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_COPYFILTERPOOLS_PROGRESS).getLevelOneText();
|
||||
msg = RSECoreMessages.MSG_COPYFILTERPOOLS_PROGRESS;
|
||||
monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
|
||||
// STEP 4: CREATE NEW FILTER POOL MANAGER
|
||||
// STEP 5: COPY ALL FILTER POOLS FROM OLD MANAGER TO NEW MANAGER
|
||||
|
@ -637,7 +541,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
ISubSystemConfiguration factory = (ISubSystemConfiguration) factories.elementAt(idx);
|
||||
msg = "Copying filterPools for factory " + factory.getName(); //$NON-NLS-1$
|
||||
//monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
factory.copyFilterPoolManager(profile, newProfile);
|
||||
//try { java.lang.Thread.sleep(3000l); } catch (InterruptedException e) {}
|
||||
}
|
||||
|
@ -645,9 +549,9 @@ public class SystemRegistry implements ISystemRegistry
|
|||
monitor.worked(1);
|
||||
|
||||
// STEP 6: COPY ALL SUBSYSTEMS FOR EACH COPIED CONNECTION
|
||||
msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_COPYSUBSYSTEMS_PROGRESS).getLevelOneText();
|
||||
msg = RSECoreMessages.MSG_COPYSUBSYSTEMS_PROGRESS;
|
||||
monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
if ((conns != null) && (conns.length > 0))
|
||||
{
|
||||
ISubSystem[] subsystems = null;
|
||||
|
@ -656,7 +560,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
{
|
||||
msg = "Copying subsystems for connection " + conns[idx].getAliasName(); //$NON-NLS-1$
|
||||
//monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
subsystems = getSubSystems(conns[idx]); // get old subsystems for this connection
|
||||
if ((subsystems != null) && (subsystems.length > 0) && newConns != null)
|
||||
{
|
||||
|
@ -664,7 +568,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
{
|
||||
msg += ": subsystem " + subsystems[jdx].getName(); //$NON-NLS-1$
|
||||
//monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
factory = subsystems[jdx].getSubSystemConfiguration();
|
||||
factory.cloneSubSystem(subsystems[jdx], newConns[idx], true); // true=>copy profile op vs copy connection op
|
||||
//try { java.lang.Thread.sleep(3000l); } catch (InterruptedException e) {}
|
||||
|
@ -698,7 +602,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SystemBasePlugin.logError("Exception (ignored) cleaning up from copy-profile exception.", exc); //$NON-NLS-1$
|
||||
RSECorePlugin.getDefault().getLogger().logError("Exception (ignored) cleaning up from copy-profile exception.", exc); //$NON-NLS-1$
|
||||
}
|
||||
throw (lastExc);
|
||||
}
|
||||
|
@ -712,7 +616,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
ISystemModelChangeEvents.SYSTEM_RESOURCETYPE_PROFILE,
|
||||
newProfile, null);
|
||||
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), "Copy of system profile " + oldName + " to " + newName + " successful"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), "Copy of system profile " + oldName + " to " + newName + " successful"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
return newProfile;
|
||||
}
|
||||
|
||||
|
@ -749,7 +653,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
}
|
||||
// last step... physically blow away the profile...
|
||||
getSystemProfileManager().deleteSystemProfile(profile, true);
|
||||
SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
////Listening to Events now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
if (connections.length > 0) // defect 42112
|
||||
fireEvent(new SystemResourceChangeEvent(connections, ISystemResourceChangeEvents.EVENT_DELETE_MANY, this));
|
||||
|
||||
|
@ -786,26 +691,29 @@ public class SystemRegistry implements ISystemRegistry
|
|||
}
|
||||
if (activeReferenceVector.size() > 0)
|
||||
{
|
||||
SystemBasePlugin.logWarning(
|
||||
ISystemMessages.MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED
|
||||
+ ": De-Activativing profile " //$NON-NLS-1$
|
||||
+ profile.getName()
|
||||
+ " for which there are subsystems containing references to filter pools:"); //$NON-NLS-1$
|
||||
//RSEG1069: De-Activativing profile {0} for which there are subsystems containing references to filter pools:
|
||||
String msg = NLS.bind(RSECoreMessages.MSG_LOADING_PROFILE_WARNING_FILTERPOOL_REFS, profile.getName());
|
||||
RSECorePlugin.getDefault().getLogger().logWarning(msg);
|
||||
for (int idx = 0; idx < activeReferenceVector.size(); idx++)
|
||||
{
|
||||
//\ \ {refname} in connection {1} in profile {2}
|
||||
ISubSystem activeReference = (ISubSystem) activeReferenceVector.elementAt(idx);
|
||||
SystemBasePlugin.logWarning(
|
||||
" " + activeReference.getName() + " in connection " + activeReference.getHost().getAliasName() + " in profile " + activeReference.getSystemProfileName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
msg = " " + activeReference.getName(); //$NON-NLS-1$
|
||||
msg += NLS.bind(RSECoreMessages.MSG_LOADING_PROFILE_WARNING_FILTERPOOL_REF,
|
||||
activeReference.getHost().getAliasName(),
|
||||
activeReference.getSystemProfileName());
|
||||
RSECorePlugin.getDefault().getLogger().logWarning(msg);
|
||||
}
|
||||
ISubSystem firstSubSystem = (ISubSystem) activeReferenceVector.elementAt(0);
|
||||
String connectionName = firstSubSystem.getHost().getSystemProfileName() + "." + firstSubSystem.getHost().getAliasName(); //$NON-NLS-1$
|
||||
//Warning. Profile '%1' should be active. Active connection '%2' contains a reference to it.
|
||||
//FIXME I think it should be sufficient to log this as warning rather than open a dialog
|
||||
SystemMessage sysMsg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED);
|
||||
sysMsg.makeSubstitution(profile.getName(), connectionName);
|
||||
SystemBasePlugin.logWarning(sysMsg.getFullMessageID() + ": " + sysMsg.getLevelOneText()); //$NON-NLS-1$
|
||||
SystemMessageDialog msgDlg = new SystemMessageDialog(null, sysMsg);
|
||||
msgDlg.open();
|
||||
//RSEG1069: Warning. Profile '%1' should be active. Active connection '%2' contains a reference to it.
|
||||
msg = NLS.bind(RSECoreMessages.MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED, profile.getName(), connectionName);
|
||||
RSECorePlugin.getDefault().getLogger().logWarning(msg);
|
||||
//// I think it should be sufficient to log this as warning rather than open a dialog
|
||||
//SystemMessage sysMsg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED);
|
||||
//sysMsg.makeSubstitution(profile.getName(), connectionName);
|
||||
//SystemMessageDialog msgDlg = new SystemMessageDialog(null, sysMsg);
|
||||
//msgDlg.open();
|
||||
}
|
||||
|
||||
getSystemProfileManager().makeSystemProfileActive(profile, makeActive);
|
||||
|
@ -848,7 +756,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
SystemResourceChangeEvent event = new SystemResourceChangeEvent(affectedConnections, ISystemResourceChangeEvents.EVENT_ADD_MANY, this);
|
||||
fireEvent(event);
|
||||
}
|
||||
SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
////Listening to Events now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
|
||||
fireModelChangeEvent(
|
||||
ISystemModelChangeEvents.SYSTEM_RESOURCE_CHANGED,
|
||||
|
@ -1611,7 +1520,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SystemBasePlugin.logError("Error creating local connection", exc); //$NON-NLS-1$
|
||||
RSECorePlugin.getDefault().getLogger().logError("Error creating local connection", exc); //$NON-NLS-1$
|
||||
}
|
||||
return localConn;
|
||||
}
|
||||
|
@ -1687,8 +1596,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
host = pool.getHost(hostName);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
String pluginId = RSEUIPlugin.getDefault().getSymbolicName();
|
||||
String message = MessageFormat.format("Exception in createHost for {0}", new Object[] {hostName});
|
||||
String pluginId = RSECorePlugin.getDefault().getBundle().getSymbolicName();
|
||||
String message = NLS.bind(RSECoreMessages.MSG_CREATEHOST_EXCEPTION, hostName);
|
||||
status = new Status(IStatus.ERROR, pluginId, message, e);
|
||||
}
|
||||
if (status.isOK()) {
|
||||
|
@ -1736,14 +1645,15 @@ public class SystemRegistry implements ISystemRegistry
|
|||
IStatus status = SystemProfileManager.run(op);
|
||||
lastException = (Exception) status.getException();
|
||||
if (lastException != null) {
|
||||
SystemBasePlugin.logError(status.getMessage(), lastException);
|
||||
RSECorePlugin.getDefault().getLogger().logError(status.getMessage(), lastException);
|
||||
throw lastException;
|
||||
}
|
||||
IHost host = op.getHost();
|
||||
ISubSystem[] subsystems = op.getSubSystems();
|
||||
FireNewHostEvents fire = new FireNewHostEvents(host, subsystems, sr);
|
||||
Display.getDefault().asyncExec(fire);
|
||||
SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
////Listening to FireNewHostEvents now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
return host;
|
||||
}
|
||||
|
||||
|
@ -2032,13 +1942,13 @@ public class SystemRegistry implements ISystemRegistry
|
|||
}
|
||||
catch (SystemMessageException exc)
|
||||
{
|
||||
SystemBasePlugin.logError("Exception in updateConnection for " + connectionName, exc); //$NON-NLS-1$
|
||||
RSECorePlugin.getDefault().getLogger().logError("Exception in updateConnection for " + connectionName, exc); //$NON-NLS-1$
|
||||
lastException = exc;
|
||||
return;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SystemBasePlugin.logError("Exception in updateConnection for " + connectionName, exc); //$NON-NLS-1$
|
||||
RSECorePlugin.getDefault().getLogger().logError("Exception in updateConnection for " + connectionName, exc); //$NON-NLS-1$
|
||||
lastException = exc;
|
||||
return;
|
||||
}
|
||||
|
@ -2101,7 +2011,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
((ISubSystemConfiguration) affectedSubSystemFactories.elementAt(idx)).deleteSubSystemsByConnection(conn);
|
||||
}
|
||||
conn.getHostPool().deleteHost(conn); // delete from memory and from disk.
|
||||
SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
////Listening to Events now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
fireModelChangeEvent(
|
||||
ISystemModelChangeEvents.SYSTEM_RESOURCE_REMOVED,
|
||||
ISystemModelChangeEvents.SYSTEM_RESOURCETYPE_CONNECTION,
|
||||
|
@ -2134,7 +2045,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
((ISubSystemConfiguration) affectedSubSystemFactories.elementAt(idx)).renameSubSystemsByConnection(conn, newName);
|
||||
*/
|
||||
conn.getHostPool().renameHost(conn, newName); // rename in memory and disk
|
||||
SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
////Listening to events now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder(); // update preferences order list
|
||||
fireModelChangeEvent(
|
||||
ISystemModelChangeEvents.SYSTEM_RESOURCE_RENAMED,
|
||||
ISystemModelChangeEvents.SYSTEM_RESOURCETYPE_CONNECTION,
|
||||
|
@ -2150,7 +2062,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
{
|
||||
ISystemHostPool pool = getHostPool(profileName);
|
||||
pool.moveHosts(conns, delta);
|
||||
SystemPreferencesManager.setConnectionNamesOrder();
|
||||
////Listening to Event now
|
||||
//SystemPreferencesManager.setConnectionNamesOrder();
|
||||
//fireEvent(new SystemResourceChangeEvent(pool.getSystemConnections(),ISystemResourceChangeEvent.EVENT_MOVE_MANY,this));
|
||||
SystemResourceChangeEvent event = new SystemResourceChangeEvent(conns, ISystemResourceChangeEvents.EVENT_MOVE_MANY, this);
|
||||
event.setPosition(delta);
|
||||
|
@ -2177,7 +2090,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
ISystemHostPool targetPool = getHostPool(targetProfile);
|
||||
IHost newConn = null;
|
||||
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), "Start of system connection copy. From: " + oldName + " to: " + newName); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), "Start of system connection copy. From: " + oldName + " to: " + newName); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
// STEP 0: BRING ALL IMPACTED SUBSYSTEM FACTORIES TO LIFE NOW, BEFORE DOING THE CLONE.
|
||||
getSubSystemFactories(conn);
|
||||
|
@ -2190,15 +2103,15 @@ public class SystemRegistry implements ISystemRegistry
|
|||
newConn = oldPool.cloneHost(targetPool, conn, newName);
|
||||
|
||||
// STEP 2: COPY ALL SUBSYSTEMS FOR THE COPIED CONNECTION
|
||||
msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_COPYSUBSYSTEMS_PROGRESS).getLevelOneText();
|
||||
msg = RSECoreMessages.MSG_COPYSUBSYSTEMS_PROGRESS;
|
||||
//monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
|
||||
ISubSystem[] subsystems = null;
|
||||
ISubSystemConfiguration factory = null;
|
||||
msg = "Copying subsystems for connection " + conn.getAliasName(); //$NON-NLS-1$
|
||||
//monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
subsystems = getSubSystems(conn); // get old subsystems for this connection
|
||||
if ((subsystems != null) && (subsystems.length > 0))
|
||||
{
|
||||
|
@ -2206,7 +2119,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
{
|
||||
msg += ": subsystem " + subsystems[jdx].getName(); //$NON-NLS-1$
|
||||
//monitor.subTask(msg);
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), msg);
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), msg);
|
||||
factory = subsystems[jdx].getSubSystemConfiguration();
|
||||
factory.cloneSubSystem(subsystems[jdx], newConn, false); // false=>copy connection op vs copy profile op
|
||||
//try { java.lang.Thread.sleep(3000l); } catch (InterruptedException e) {}
|
||||
|
@ -2229,11 +2142,11 @@ public class SystemRegistry implements ISystemRegistry
|
|||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SystemBasePlugin.logError("Exception (ignored) cleaning up from copy-connection exception.", exc); //$NON-NLS-1$
|
||||
RSECorePlugin.getDefault().getLogger().logError("Exception (ignored) cleaning up from copy-connection exception.", exc); //$NON-NLS-1$
|
||||
}
|
||||
throw (lastExc);
|
||||
}
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), "Copy of system connection " + oldName + " to " + newName + " successful"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), "Copy of system connection " + oldName + " to " + newName + " successful"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
if (getSystemProfileManager().isSystemProfileActive(targetProfile.getName()))
|
||||
{
|
||||
int eventType = ISystemResourceChangeEvents.EVENT_ADD_RELATIVE;
|
||||
|
@ -2263,13 +2176,13 @@ public class SystemRegistry implements ISystemRegistry
|
|||
if (newConn != null)
|
||||
{
|
||||
deleteHost(conn); // delete old connection now that new one created successfully
|
||||
SystemBasePlugin.logDebugMessage(this.getClass().getName(), "Move of system connection " + conn.getAliasName() + " to profile " + targetProfile.getName() + " successful"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
RSECorePlugin.getDefault().getLogger().logDebugMessage(this.getClass().getName(), "Move of system connection " + conn.getAliasName() + " to profile " + targetProfile.getName() + " successful"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
fireEvent(new SystemResourceChangeEvent(conn, ISystemResourceChangeEvents.EVENT_DELETE, this));
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
//RSEUIPlugin.logError("Exception moving system connection " + conn.getAliasName() + " to profile " + targetProfile.getName(), exc);
|
||||
//RSECorePlugin.getDefault().getLogger().logError("Exception moving system connection " + conn.getAliasName() + " to profile " + targetProfile.getName(), exc);
|
||||
throw exc;
|
||||
}
|
||||
return newConn;
|
||||
|
@ -2770,9 +2683,34 @@ public class SystemRegistry implements ISystemRegistry
|
|||
* Returns the implementation of ISystemRemoteElement for the given
|
||||
* object. Returns null if this object does not adaptable to this.
|
||||
*/
|
||||
protected ISystemRemoteElementAdapter getRemoteAdapter(Object o)
|
||||
protected IRemoteObjectIdentifier getRemoteObjectIdentifier(Object o)
|
||||
{
|
||||
return SystemAdapterHelpers.getRemoteAdapter(o);
|
||||
//Try 1: element already an instance of IRemoteObjectIdentifier?
|
||||
if (o instanceof IRemoteObjectIdentifier) {
|
||||
return (IRemoteObjectIdentifier)o;
|
||||
}
|
||||
//Try 2: adapts to IRemoteObjectIdentifier (non-UI code only!)
|
||||
IRemoteObjectIdentifier adapter = null;
|
||||
if (o instanceof IAdaptable) {
|
||||
adapter = (IRemoteObjectIdentifier)((IAdaptable)o).getAdapter(IRemoteObjectIdentifier.class);
|
||||
if (adapter!=null) return adapter;
|
||||
} else if (o==null) {
|
||||
return null;
|
||||
}
|
||||
//Try 3: IRemoteObjectIdentifier via factories.
|
||||
//TODO Try loadAdapter() to force lazy loading?
|
||||
adapter = (IRemoteObjectIdentifier)Platform.getAdapterManager().getAdapter(o, IRemoteObjectIdentifier.class);
|
||||
if (adapter==null) {
|
||||
//Try 4: ISystemDragDropAdapter, fallback to old factories provided via AbstractSystemViewRemoteAdapterFactory
|
||||
//This is a fallback for pre-RSE-3.0 code and may introduce UI dependency!
|
||||
if (o instanceof IAdaptable) {
|
||||
//TODO Try loadAdapter() to force lazy loading?
|
||||
adapter = (ISystemDragDropAdapter)((IAdaptable)o).getAdapter(ISystemDragDropAdapter.class);
|
||||
if (adapter!=null) return adapter;
|
||||
}
|
||||
adapter = (ISystemDragDropAdapter)Platform.getAdapterManager().getAdapter(o, ISystemDragDropAdapter.class);
|
||||
}
|
||||
return adapter;
|
||||
}
|
||||
|
||||
private String getRemoteResourceAbsoluteName(Object remoteResource)
|
||||
|
@ -2787,17 +2725,17 @@ public class SystemRegistry implements ISystemRegistry
|
|||
ISystemFilterReference ref = (ISystemFilterReference)remoteResource;
|
||||
ISubSystem ss = ref.getSubSystem();
|
||||
remoteResource = ss.getTargetForFilter(ref);
|
||||
ISystemRemoteElementAdapter ra = getRemoteAdapter(remoteResource);
|
||||
if (ra == null)
|
||||
IRemoteObjectIdentifier rid = getRemoteObjectIdentifier(remoteResource);
|
||||
if (rid == null)
|
||||
return null;
|
||||
remoteResourceName = ra.getAbsoluteName(remoteResource);
|
||||
remoteResourceName = rid.getAbsoluteName(remoteResource);
|
||||
}
|
||||
else
|
||||
{
|
||||
ISystemRemoteElementAdapter ra = getRemoteAdapter(remoteResource);
|
||||
if (ra == null)
|
||||
IRemoteObjectIdentifier rid = getRemoteObjectIdentifier(remoteResource);
|
||||
if (rid == null)
|
||||
return null;
|
||||
remoteResourceName = ra.getAbsoluteName(remoteResource);
|
||||
remoteResourceName = rid.getAbsoluteName(remoteResource);
|
||||
}
|
||||
return remoteResourceName;
|
||||
}
|
||||
|
@ -3024,11 +2962,11 @@ public class SystemRegistry implements ISystemRegistry
|
|||
boolean ok = true;
|
||||
lastException = null;
|
||||
/*
|
||||
SystemProfileManager profileManager = SystemStartHere.getSystemProfileManager();
|
||||
SystemProfileManager profileManager = RSECorePlugin.getTheSystemProfileManager();
|
||||
|
||||
SystemHostPool pool = null;
|
||||
SystemPreferencesManager prefmgr = SystemPreferencesManager.getPreferencesManager();
|
||||
if (!RSEUIPlugin.getThePersistenceManager().restore(profileManager))
|
||||
if (!RSECorePlugin.getThePersistenceManager().restore(profileManager))
|
||||
{
|
||||
SystemProfile[] profiles = profileManager.getActiveSystemProfiles();
|
||||
for (int idx = 0; idx < profiles.length; idx++)
|
||||
|
@ -3042,7 +2980,7 @@ public class SystemRegistry implements ISystemRegistry
|
|||
catch (Exception exc)
|
||||
{
|
||||
lastException = exc;
|
||||
RSEUIPlugin.logError("Exception in restore for connection pool " + profiles[idx].getName(), exc);
|
||||
RSECorePlugin.getDefault().getLogger().logError("Exception in restore for connection pool " + profiles[idx].getName(), exc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3066,8 +3004,8 @@ public class SystemRegistry implements ISystemRegistry
|
|||
// ----------------------------------
|
||||
|
||||
/**
|
||||
* Return the children objects to constitute the root elements in the system view tree.
|
||||
* We return all connections for all active profiles.
|
||||
* Return the child objects to constitute the root elements in the system view tree.
|
||||
* We return all connections that have an enabled system type.
|
||||
*/
|
||||
public Object[] getSystemViewRoots()
|
||||
{
|
||||
|
@ -3077,11 +3015,11 @@ public class SystemRegistry implements ISystemRegistry
|
|||
for (int i = 0; i < connections.length; i++) {
|
||||
IHost con = connections[i];
|
||||
IRSESystemType sysType = con.getSystemType();
|
||||
if (sysType != null) { // sysType can be null if workspace contains a host that is no longer defined by the workbench
|
||||
RSESystemTypeAdapter adapter = (RSESystemTypeAdapter)(sysType.getAdapter(RSESystemTypeAdapter.class));
|
||||
// Note: System types without registered subsystems get disabled by the adapter itself!
|
||||
// There is no need to re-check this here again.
|
||||
if (adapter.isEnabled(sysType)) result.add(con);
|
||||
// sysType can be null if workspace contains a host that is no longer defined by the workbench
|
||||
if (sysType != null && sysType.isEnabled()) {
|
||||
// Note: System types without registered subsystems get disabled by the default
|
||||
// AbstractRSESystemType implementation itself! There is no need to re-check this here again.
|
||||
result.add(con);
|
||||
}
|
||||
}
|
||||
return result.toArray();
|
||||
|
@ -3105,42 +3043,6 @@ public class SystemRegistry implements ISystemRegistry
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.rse.ui.view.ISystemViewInputProvider#setShell(java.lang.Object)
|
||||
*/
|
||||
public void setShell(Object shell)
|
||||
{
|
||||
this.shell = shell;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.rse.ui.model.ISystemShellProvider#getShell()
|
||||
*/
|
||||
public Object getShell()
|
||||
{
|
||||
// // thread safe shell
|
||||
// IWorkbench workbench = RSEUIPlugin.getDefault().getWorkbench();
|
||||
// if (workbench != null)
|
||||
// {
|
||||
// // first try to get the active workbench window
|
||||
// IWorkbenchWindow ww = workbench.getActiveWorkbenchWindow();
|
||||
// if (ww == null) // no active window so just get the first one
|
||||
// ww = workbench.getWorkbenchWindows()[0];
|
||||
// if (ww != null)
|
||||
// {
|
||||
// Shell shell = ww.getShell();
|
||||
// if (!shell.isDisposed())
|
||||
// {
|
||||
// return shell;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return null;
|
||||
return this.shell;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.rse.ui.view.ISystemViewInputProvider#setViewer(java.lang.Object)
|
|
@ -13,9 +13,10 @@
|
|||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* Martin Oberhuber (Wind River) - [218659] Make *EventManager, *ChangeManager thread-safe
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.ui.internal.model;
|
||||
package org.eclipse.rse.internal.core.model;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -13,12 +13,12 @@
|
|||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.ui.actions;
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.core.events.ISystemPreferenceChangeEvents;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.internal.core.model.SystemPreferenceChangeEvent;
|
||||
import org.eclipse.rse.internal.ui.SystemResources;
|
||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||
|
@ -33,8 +33,6 @@ import org.eclipse.swt.widgets.Shell;
|
|||
public class SystemPreferenceQualifyConnectionNamesAction extends SystemBaseAction
|
||||
|
||||
{
|
||||
|
||||
private ISystemRegistry sr = null;
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
@ -44,8 +42,7 @@ public class SystemPreferenceQualifyConnectionNamesAction extends SystemBaseActi
|
|||
parent);
|
||||
setSelectionSensitive(false);
|
||||
allowOnMultipleSelection(true);
|
||||
sr = RSECorePlugin.getTheSystemRegistry();
|
||||
setChecked(sr.getQualifiedHostNames());
|
||||
setChecked(RSEUIPlugin.getTheSystemRegistryUI().getQualifiedHostNames());
|
||||
|
||||
setHelp(RSEUIPlugin.HELPPREFIX+"actn0008"); //$NON-NLS-1$
|
||||
}
|
||||
|
@ -57,7 +54,7 @@ public class SystemPreferenceQualifyConnectionNamesAction extends SystemBaseActi
|
|||
public void run()
|
||||
{
|
||||
boolean newState = isChecked();
|
||||
sr.setQualifiedHostNames(newState);
|
||||
RSEUIPlugin.getTheSystemRegistryUI().setQualifiedHostNames(newState);
|
||||
firePreferenceChangeEvent(ISystemPreferenceChangeEvents.EVENT_QUALIFYCONNECTIONNAMES,
|
||||
!newState,newState); // defect 41794
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -16,6 +16,7 @@
|
|||
* Martin Oberhuber (Wind River) - [180562] don't implement ISystemPreferencesConstants
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.ui.propertypages;
|
||||
|
@ -195,14 +196,14 @@ public class RemoteSystemsPreferencePage
|
|||
{
|
||||
boolean ok = super.performOk();
|
||||
SystemPreferencesManager.savePreferences(); // better save to disk, just in case.
|
||||
if (!RSEUIPlugin.getDefault().isSystemRegistryActive())
|
||||
if (!RSECorePlugin.isTheSystemRegistryActive())
|
||||
return ok;
|
||||
if (showFilterPoolsEditor != null)
|
||||
{
|
||||
boolean newValue = showFilterPoolsEditor.getBooleanValue();
|
||||
if (newValue != lastShowFilterPoolsValue)
|
||||
{
|
||||
RSECorePlugin.getTheSystemRegistry().setShowFilterPools(newValue);
|
||||
RSEUIPlugin.getTheSystemRegistryUI().setShowFilterPools(newValue);
|
||||
firePreferenceChangeEvent(ISystemPreferenceChangeEvents.EVENT_SHOWFILTERPOOLS,lastShowFilterPoolsValue,newValue);
|
||||
}
|
||||
lastShowFilterPoolsValue = newValue;
|
||||
|
@ -212,7 +213,7 @@ public class RemoteSystemsPreferencePage
|
|||
boolean newValue = showNewConnectionPromptEditor.getBooleanValue();
|
||||
if (newValue != lastShowNewConnectionPromptValue)
|
||||
{
|
||||
RSECorePlugin.getTheSystemRegistry().setShowNewHostPrompt(newValue);
|
||||
RSEUIPlugin.getTheSystemRegistryUI().setShowNewHostPrompt(newValue);
|
||||
}
|
||||
lastShowNewConnectionPromptValue = newValue;
|
||||
}
|
||||
|
@ -221,7 +222,7 @@ public class RemoteSystemsPreferencePage
|
|||
boolean newValue = qualifyConnectionNamesEditor.getBooleanValue();
|
||||
if (newValue != lastQualifyConnectionNamesValue)
|
||||
{
|
||||
RSECorePlugin.getTheSystemRegistry().setQualifiedHostNames(newValue);
|
||||
RSEUIPlugin.getTheSystemRegistryUI().setQualifiedHostNames(newValue);
|
||||
firePreferenceChangeEvent(ISystemPreferenceChangeEvents.EVENT_QUALIFYCONNECTIONNAMES,lastQualifyConnectionNamesValue,newValue);
|
||||
}
|
||||
lastQualifyConnectionNamesValue = newValue;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2007 IBM Corporation. All rights reserved.
|
||||
* Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -12,6 +12,7 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Kevin Doyle (IBM) - [195537] Move ElementComparer From SystemView to Separate File
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.ui.view;
|
||||
|
@ -20,7 +21,7 @@ import org.eclipse.core.runtime.IAdaptable;
|
|||
import org.eclipse.jface.viewers.IElementComparer;
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.ui.internal.model.SystemRegistry;
|
||||
import org.eclipse.rse.internal.core.model.SystemRegistry;
|
||||
import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
|
||||
|
||||
public class ElementComparer implements IElementComparer
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -25,6 +25,7 @@
|
|||
* Martin Oberhuber (Wind River) - [199585] Fix NPE during testConnectionRemoval unit test
|
||||
* David McKnight (IBM) - [187543] use view filter to only show containers for set input dialog
|
||||
* David McKnight (IBM) - [210229] table refresh needs unique table-specific tooltip-text
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.ui.view;
|
||||
|
@ -71,6 +72,7 @@ import org.eclipse.rse.core.model.ISystemProfile;
|
|||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.core.subsystems.ISystemDragDropAdapter;
|
||||
import org.eclipse.rse.internal.core.model.SystemRegistry;
|
||||
import org.eclipse.rse.internal.ui.SystemPropertyResources;
|
||||
import org.eclipse.rse.internal.ui.SystemResources;
|
||||
import org.eclipse.rse.internal.ui.actions.SystemCommonDeleteAction;
|
||||
|
@ -87,7 +89,6 @@ import org.eclipse.rse.ui.actions.SystemRefreshAction;
|
|||
import org.eclipse.rse.ui.actions.SystemTablePrintAction;
|
||||
import org.eclipse.rse.ui.dialogs.SystemPromptDialog;
|
||||
import org.eclipse.rse.ui.dialogs.SystemSelectAnythingDialog;
|
||||
import org.eclipse.rse.ui.internal.model.SystemRegistry;
|
||||
import org.eclipse.rse.ui.messages.ISystemMessageLine;
|
||||
import org.eclipse.rse.ui.model.ISystemShellProvider;
|
||||
import org.eclipse.rse.ui.view.IRSEViewPart;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -31,6 +31,7 @@
|
|||
* Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread
|
||||
* Martin Oberhuber (Wind River) - [216266] Consider stateless subsystems (supportsSubSystemConnect==false)
|
||||
* David Dykstal (IBM) - [197036] minor refactoring caused by SystemRegistry fix for this bug
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.ui.view;
|
||||
|
@ -234,7 +235,7 @@ public class SystemViewConnectionAdapter
|
|||
public String getText(Object element)
|
||||
{
|
||||
IHost conn = (IHost)element;
|
||||
boolean qualifyNames = RSECorePlugin.getTheSystemRegistry().getQualifiedHostNames();
|
||||
boolean qualifyNames = RSEUIPlugin.getTheSystemRegistryUI().getQualifiedHostNames();
|
||||
if (!qualifyNames)
|
||||
return conn.getAliasName();
|
||||
else
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -29,6 +29,7 @@
|
|||
* David Dykstal (IBM) - [191038] initialize SystemRegistryUI without a log file, it was not used
|
||||
* David McKnight (IBM) - [196838] Don't recreate local after it has been deleted
|
||||
* David Dykstal (IBM) - [197036] formatted the initialize job to be able to read it
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.ui;
|
||||
|
@ -53,10 +54,10 @@ import org.eclipse.rse.core.events.SystemResourceChangeEvent;
|
|||
import org.eclipse.rse.core.model.ISystemProfile;
|
||||
import org.eclipse.rse.core.model.ISystemProfileManager;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.core.model.SystemStartHere;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
|
||||
import org.eclipse.rse.internal.core.model.SystemProfileManager;
|
||||
import org.eclipse.rse.internal.core.model.SystemRegistry;
|
||||
import org.eclipse.rse.internal.ui.RSESystemTypeAdapterFactory;
|
||||
import org.eclipse.rse.internal.ui.SystemResourceListener;
|
||||
import org.eclipse.rse.internal.ui.SystemResources;
|
||||
|
@ -69,7 +70,6 @@ import org.eclipse.rse.persistence.IRSEPersistenceManager;
|
|||
import org.eclipse.rse.services.clientserver.messages.ISystemMessageProvider;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageFile;
|
||||
import org.eclipse.rse.ui.internal.model.SystemRegistry;
|
||||
import org.eclipse.rse.ui.internal.model.SystemRegistryUI;
|
||||
import org.eclipse.rse.ui.model.ISystemRegistryUI;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
@ -89,8 +89,8 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
|
||||
public IStatus run(IProgressMonitor monitor) {
|
||||
//System.err.println("InitRSEJob started"); //$NON-NLS-1$
|
||||
ISystemRegistry registry = getSystemRegistryInternal();
|
||||
SystemStartHere.getSystemProfileManager(); // create folders per profile
|
||||
ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry();
|
||||
RSECorePlugin.getTheSystemProfileManager(); // create folders per profile
|
||||
// add workspace listener for our project
|
||||
IProject remoteSystemsProject = SystemResourceManager.getRemoteSystemsProject(false);
|
||||
SystemResourceListener listener = SystemResourceListener.getListener(remoteSystemsProject);
|
||||
|
@ -105,7 +105,7 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
if (systemType != null) {
|
||||
RSESystemTypeAdapter adapter = (RSESystemTypeAdapter)(systemType.getAdapter(RSESystemTypeAdapter.class));
|
||||
if (adapter != null && adapter.isEnabled(systemType)) {
|
||||
ISystemProfileManager profileManager = SystemProfileManager.getDefault();
|
||||
ISystemProfileManager profileManager = RSECorePlugin.getTheSystemProfileManager();
|
||||
ISystemProfile profile = profileManager.getDefaultPrivateSystemProfile();
|
||||
String userName = System.getProperty("user.name"); //$NON-NLS-1$
|
||||
registry.createLocalHost(profile, SystemResources.TERM_LOCAL, userName);
|
||||
|
@ -130,10 +130,6 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
|
||||
private static SystemMessageFile messageFile = null;
|
||||
private static SystemMessageFile defaultMessageFile = null;
|
||||
|
||||
// private SystemType[] allSystemTypes = null;
|
||||
private SystemRegistryUI _systemRegistryUI = null;
|
||||
private SystemRegistry _systemRegistry = null;
|
||||
|
||||
private Vector viewSuppliers = new Vector();
|
||||
private SystemViewAdapterFactory svaf; // for fastpath access
|
||||
|
@ -439,9 +435,9 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
|
||||
messageFile = getMessageFile("systemmessages.xml"); //$NON-NLS-1$
|
||||
defaultMessageFile = getDefaultMessageFile("systemmessages.xml"); //$NON-NLS-1$
|
||||
|
||||
ISystemRegistry registry = getSystemRegistryInternal();
|
||||
RSECorePlugin.getDefault().setSystemRegistry(registry);
|
||||
|
||||
//Force load the SystemRegistry - TODO Is this really necessary?
|
||||
RSECorePlugin.getTheSystemRegistry();
|
||||
|
||||
IAdapterManager manager = Platform.getAdapterManager();
|
||||
|
||||
|
@ -461,11 +457,8 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
svraf = new SystemTeamViewResourceAdapterFactory();
|
||||
svraf.registerWithManager(manager);
|
||||
|
||||
|
||||
InitRSEJob initJob = new InitRSEJob();
|
||||
initJob.schedule();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -482,39 +475,42 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
*/
|
||||
public void restart()
|
||||
{
|
||||
if (_systemRegistry != null)
|
||||
{
|
||||
// disconnect all active connections
|
||||
disconnectAll(false); // don't save ?
|
||||
// collapse and flush all nodes in all views
|
||||
_systemRegistry.fireEvent(new SystemResourceChangeEvent("dummy", ISystemResourceChangeEvents.EVENT_COLLAPSE_ALL, null)); //$NON-NLS-1$
|
||||
if (RSECorePlugin.isTheSystemRegistryActive()) {
|
||||
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
||||
|
||||
// disconnect all active connections
|
||||
disconnectAll(false); // don't save ?
|
||||
// collapse and flush all nodes in all views
|
||||
sr.fireEvent(new SystemResourceChangeEvent("dummy", ISystemResourceChangeEvents.EVENT_COLLAPSE_ALL, null)); //$NON-NLS-1$
|
||||
|
||||
// allow child classes to override
|
||||
closeViews();
|
||||
|
||||
// clear in-memory settings for all filter pools and subsystems
|
||||
ISubSystemConfigurationProxy[] proxies = getSystemRegistryInternal().getSubSystemConfigurationProxies();
|
||||
if (proxies != null)
|
||||
for (int idx=0; idx < proxies.length; idx++)
|
||||
proxies[idx].reset();
|
||||
// clear in-memory settings for all profiles
|
||||
SystemProfileManager.clearDefault();
|
||||
// allow child classes to override
|
||||
closeViews();
|
||||
|
||||
// clear in-memory settings for all filter pools and subsystems
|
||||
ISubSystemConfigurationProxy[] proxies = sr.getSubSystemConfigurationProxies();
|
||||
if (proxies != null) {
|
||||
for (int idx=0; idx < proxies.length; idx++)
|
||||
proxies[idx].reset();
|
||||
}
|
||||
// clear in-memory settings for all profiles
|
||||
SystemProfileManager.clearDefault();
|
||||
|
||||
// rebuild profiles
|
||||
SystemStartHere.getSystemProfileManager(); // create folders per profile
|
||||
// clear in-memory settings for all connections, then restore from disk
|
||||
_systemRegistry.reset();
|
||||
// restore in-memory settings for all filter pools and subsystems
|
||||
if (proxies != null)
|
||||
for (int idx=0; idx < proxies.length; idx++)
|
||||
proxies[idx].restore();
|
||||
|
||||
// refresh GUIs
|
||||
_systemRegistry.fireEvent(new SystemResourceChangeEvent(_systemRegistry, ISystemResourceChangeEvents.EVENT_REFRESH, null));
|
||||
// rebuild profiles
|
||||
RSECorePlugin.getTheSystemProfileManager(); // create folders per profile
|
||||
// clear in-memory settings for all connections, then restore from disk
|
||||
((SystemRegistry)sr).reset();
|
||||
// restore in-memory settings for all filter pools and subsystems
|
||||
if (proxies != null) {
|
||||
for (int idx=0; idx < proxies.length; idx++)
|
||||
proxies[idx].restore();
|
||||
}
|
||||
|
||||
// refresh GUIs
|
||||
sr.fireEvent(new SystemResourceChangeEvent(sr, ISystemResourceChangeEvents.EVENT_REFRESH, null));
|
||||
|
||||
// allow child classes to override
|
||||
openViews();
|
||||
}
|
||||
// allow child classes to override
|
||||
openViews();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -569,9 +565,10 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
*/
|
||||
protected void disconnectAll(boolean doSave)
|
||||
{
|
||||
if (isSystemRegistryActive())
|
||||
if (RSECorePlugin.isTheSystemRegistryActive())
|
||||
{
|
||||
ISubSystemConfigurationProxy[] proxies = getSystemRegistryInternal().getSubSystemConfigurationProxies();
|
||||
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
||||
ISubSystemConfigurationProxy[] proxies = sr.getSubSystemConfigurationProxies();
|
||||
if (proxies != null)
|
||||
{
|
||||
for (int idx=0; idx < proxies.length; idx++)
|
||||
|
@ -605,86 +602,54 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns true if the SystemRegistry has been instantiated already.
|
||||
* Test if the SystemRegistry has been instantiated already.
|
||||
* Use this when you don't want to start the system registry as a side effect of retrieving it.
|
||||
* @return <code>true</code> if the System Registry has been instantiated already.
|
||||
* @deprecated use {@link RSECorePlugin#isTheSystemRegistryActive()}
|
||||
*/
|
||||
public boolean isSystemRegistryActive()
|
||||
{
|
||||
return (_systemRegistry != null);
|
||||
return RSECorePlugin.isTheSystemRegistryActive();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the persistence manager used for persisting RSE profiles.
|
||||
* @return the persistence manager used for persisting RSE profiles
|
||||
* @deprecated use {@link RSECorePlugin#getThePersistenceManager()}
|
||||
*/
|
||||
public IRSEPersistenceManager getPersistenceManager()
|
||||
{
|
||||
return RSECorePlugin.getThePersistenceManager();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return the SystemRegistry singleton.
|
||||
* Clients should use static @{link getTheSystemRegistry()} instead.
|
||||
*/
|
||||
private SystemRegistry getSystemRegistryInternal()
|
||||
{
|
||||
if (_systemRegistry == null)
|
||||
{
|
||||
String logfilePath = getStateLocation().toOSString();
|
||||
|
||||
_systemRegistry = SystemRegistry.getInstance(logfilePath);
|
||||
|
||||
ISubSystemConfigurationProxy[] proxies = RSECorePlugin.getDefault().getSubSystemConfigurationProxies();
|
||||
if (proxies != null)
|
||||
{
|
||||
_systemRegistry.setSubSystemConfigurationProxies(proxies);
|
||||
}
|
||||
|
||||
}
|
||||
return _systemRegistry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the SystemRegistryUI singleton.
|
||||
* Clients should use static @{link getTheSystemRegistry()} instead.
|
||||
*/
|
||||
private SystemRegistryUI getSystemRegistryUIInternal()
|
||||
{
|
||||
if (_systemRegistryUI == null)
|
||||
{
|
||||
_systemRegistryUI = SystemRegistryUI.getInstance();
|
||||
}
|
||||
return _systemRegistryUI;
|
||||
}
|
||||
|
||||
/**
|
||||
* A static version for convenience
|
||||
* Returns the master registry singleton.
|
||||
* @return the SystemRegistryUI singleton.
|
||||
*/
|
||||
public static ISystemRegistryUI getTheSystemRegistryUI()
|
||||
{
|
||||
return getDefault().getSystemRegistryUIInternal();
|
||||
return SystemRegistryUI.getInstance();
|
||||
}
|
||||
|
||||
/**
|
||||
* A static version for convenience
|
||||
* Returns the master profile manager singleton.
|
||||
* Return the master profile manager singleton.
|
||||
* @return the RSE Profile Manager Singleton.
|
||||
* @deprecated use {@link RSECorePlugin#getTheSystemProfileManager()}
|
||||
*/
|
||||
public static ISystemProfileManager getTheSystemProfileManager()
|
||||
{
|
||||
return SystemProfileManager.getDefault();
|
||||
return RSECorePlugin.getTheSystemProfileManager();
|
||||
}
|
||||
|
||||
/**
|
||||
* A static version for convenience
|
||||
* Check if the SystemRegistry has been instantiated already.
|
||||
* Use this when you don't want to start the system registry as a side effect
|
||||
* of retrieving it.
|
||||
* @return <code>true</code> if the System Registry has been instantiated already.
|
||||
* @deprecated use {@link RSECorePlugin#isTheSystemRegistryActive()}
|
||||
*/
|
||||
public static boolean isTheSystemRegistryActive()
|
||||
{
|
||||
if (inst == null)
|
||||
return false;
|
||||
else
|
||||
return getDefault().isSystemRegistryActive();
|
||||
public static boolean isTheSystemRegistryActive() {
|
||||
return RSECorePlugin.isTheSystemRegistryActive();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2000, 2007 IBM Corporation. All rights reserved.
|
||||
* Copyright (c) 2000, 2008 IBM Corporation. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -14,14 +14,23 @@
|
|||
* David Dykstal (IBM) - moved SystemPreferencesManager to a this package, was in
|
||||
* the org.eclipse.rse.core package of the UI plugin.
|
||||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.ui;
|
||||
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
import org.eclipse.rse.core.IRSEPreferenceNames;
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.core.events.ISystemModelChangeEvent;
|
||||
import org.eclipse.rse.core.events.ISystemModelChangeEvents;
|
||||
import org.eclipse.rse.core.events.ISystemModelChangeListener;
|
||||
import org.eclipse.rse.core.events.ISystemRemoteChangeEvents;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeEvent;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeEvents;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeListener;
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
|
||||
|
@ -49,6 +58,22 @@ public class SystemPreferencesManager {
|
|||
private static boolean showProfilePage; // This is not a persistent preference
|
||||
private static boolean showNewConnectionPrompt; // This is not a persistent preference
|
||||
|
||||
/*
|
||||
* Singleton instance to support listening to model change events
|
||||
*/
|
||||
private static SystemPreferencesManager fInstance = new SystemPreferencesManager();
|
||||
private int fModelChangeListeners = 0;
|
||||
private ISystemModelChangeListener fModelChangeListener = null;
|
||||
|
||||
/*
|
||||
* Private Constructor to discourage instance creation other than by ourselves.
|
||||
*/
|
||||
private SystemPreferencesManager() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Migrate Preferences from UI Preference Store into Core Preference store
|
||||
*/
|
||||
private static void migrateCorePreferences() {
|
||||
String[] keys = {
|
||||
IRSEPreferenceNames.ACTIVEUSERPROFILES,
|
||||
|
@ -80,11 +105,12 @@ public class SystemPreferencesManager {
|
|||
migrateCorePreferences();
|
||||
initDefaultsUI();
|
||||
savePreferences();
|
||||
fInstance.startModelChangeListening();
|
||||
}
|
||||
|
||||
private static void initDefaultsUI() {
|
||||
|
||||
String showProp = System.getProperty("rse.showNewConnectionPrompt");
|
||||
//String showProp = System.getProperty("rse.showNewConnectionPrompt");
|
||||
RSEUIPlugin ui = RSEUIPlugin.getDefault();
|
||||
Preferences store = ui.getPluginPreferences();
|
||||
showNewConnectionPrompt= getBooleanProperty("rse.showNewConnectionPrompt", ISystemPreferencesConstants.DEFAULT_SHOWNEWCONNECTIONPROMPT); //$NON-NLS-1$
|
||||
|
@ -155,15 +181,13 @@ public class SystemPreferencesManager {
|
|||
String[] allConnectionNamesOrder = SystemPreferencesManager.getConnectionNamesOrder();
|
||||
profileName = profileName + "."; //$NON-NLS-1$
|
||||
int profileNameLength = profileName.length();
|
||||
Vector v = new Vector();
|
||||
List l = new ArrayList();
|
||||
for (int idx = 0; idx < allConnectionNamesOrder.length; idx++)
|
||||
if (allConnectionNamesOrder[idx].startsWith(profileName)) {
|
||||
v.addElement(allConnectionNamesOrder[idx].substring(profileNameLength));
|
||||
l.add(allConnectionNamesOrder[idx].substring(profileNameLength));
|
||||
}
|
||||
String[] names = new String[v.size()];
|
||||
for (int idx = 0; idx < names.length; idx++) {
|
||||
names[idx] = (String) v.elementAt(idx);
|
||||
}
|
||||
String[] names = new String[l.size()];
|
||||
l.toArray(names);
|
||||
return names;
|
||||
}
|
||||
|
||||
|
@ -191,6 +215,9 @@ public class SystemPreferencesManager {
|
|||
/**
|
||||
* Sets user's preference for the order of the connection names according to the
|
||||
* list kept in the system registry.
|
||||
* This resets any user-specified ordering of profiles since the SystemRegistry
|
||||
* has no concept of ordered profiles. The hosts inside a profile, though,
|
||||
* will be ordered according to user preference.
|
||||
*/
|
||||
public static void setConnectionNamesOrder() {
|
||||
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
||||
|
@ -231,14 +258,14 @@ public class SystemPreferencesManager {
|
|||
* a restored ordered list of names.
|
||||
*/
|
||||
private static String[] resolveOrderPreferenceVersusReality(String[] reality, String[] ordered) {
|
||||
Vector finalList = new Vector();
|
||||
List finalList = new ArrayList();
|
||||
// step 1: include all names from preferences list which do exist in reality...
|
||||
for (int idx = 0; idx < ordered.length; idx++) {
|
||||
if (SystemPreferencesManager.find(reality, ordered[idx])) finalList.addElement(ordered[idx]);
|
||||
if (SystemPreferencesManager.find(reality, ordered[idx])) finalList.add(ordered[idx]);
|
||||
}
|
||||
// step 2: add all names in reality which do not exist in preferences list...
|
||||
for (int idx = 0; idx < reality.length; idx++) {
|
||||
if (!SystemPreferencesManager.find(ordered, reality[idx])) finalList.addElement(reality[idx]);
|
||||
if (!SystemPreferencesManager.find(ordered, reality[idx])) finalList.add(reality[idx]);
|
||||
}
|
||||
String[] resolved = new String[finalList.size()];
|
||||
finalList.toArray(resolved);
|
||||
|
@ -335,7 +362,7 @@ public class SystemPreferencesManager {
|
|||
store.setValue(ISystemPreferencesConstants.SHOWFILTERPOOLS, show);
|
||||
savePreferences();
|
||||
if (show != prevValue) {
|
||||
RSECorePlugin.getTheSystemRegistry().setShowFilterPools(show);
|
||||
RSEUIPlugin.getTheSystemRegistryUI().setShowFilterPools(show);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -435,10 +462,64 @@ public class SystemPreferencesManager {
|
|||
RSEUIPlugin.getDefault().savePluginPreferences();
|
||||
RSECorePlugin.getDefault().savePluginPreferences();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Private to discourage instance creation.
|
||||
* Start listening to SystemRegistry model change events
|
||||
*/
|
||||
private SystemPreferencesManager() {
|
||||
private void startModelChangeListening() {
|
||||
//TODO Register a listener for shutdown, to stop model change listening
|
||||
boolean alreadyListening;
|
||||
synchronized(this) {
|
||||
alreadyListening = (fModelChangeListeners>0);
|
||||
fModelChangeListeners++;
|
||||
}
|
||||
if (!alreadyListening) {
|
||||
fModelChangeListener = new ModelChangeListener();
|
||||
RSECorePlugin.getTheSystemRegistry().addSystemModelChangeListener(fModelChangeListener);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* A listener for SystemRegistry Model Change events
|
||||
*/
|
||||
private static class ModelChangeListener implements ISystemModelChangeListener, ISystemResourceChangeListener {
|
||||
|
||||
public void systemModelResourceChanged(ISystemModelChangeEvent event) {
|
||||
int rt = event.getResourceType();
|
||||
if (rt==ISystemModelChangeEvents.SYSTEM_RESOURCETYPE_CONNECTION) {
|
||||
switch(event.getEventType()) {
|
||||
case ISystemModelChangeEvents.SYSTEM_RESOURCE_RENAMED:
|
||||
case ISystemModelChangeEvents.SYSTEM_RESOURCE_REMOVED:
|
||||
case ISystemModelChangeEvents.SYSTEM_RESOURCE_ADDED:
|
||||
//TODO Change order of hosts from affected profile only?
|
||||
SystemPreferencesManager.setConnectionNamesOrder();
|
||||
break;
|
||||
}
|
||||
} else if (rt==ISystemModelChangeEvents.SYSTEM_RESOURCETYPE_PROFILE) {
|
||||
switch (event.getEventType()) {
|
||||
case ISystemModelChangeEvents.SYSTEM_RESOURCE_RENAMED:
|
||||
case ISystemModelChangeEvents.SYSTEM_RESOURCE_REMOVED:
|
||||
case ISystemModelChangeEvents.SYSTEM_RESOURCE_CHANGED:
|
||||
//TODO Change order of hosts from affected profile only?
|
||||
SystemPreferencesManager.setConnectionNamesOrder();
|
||||
break;
|
||||
}
|
||||
if (event.getEventType()==ISystemModelChangeEvents.SYSTEM_RESOURCE_RENAMED) {
|
||||
boolean namesQualified = SystemPreferencesManager.getQualifyConnectionNames();
|
||||
RSEUIPlugin.getTheSystemRegistryUI().setQualifiedHostNames(namesQualified); // causes refresh events to be fired
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void systemResourceChanged(ISystemResourceChangeEvent event) {
|
||||
if (event.getType()==ISystemResourceChangeEvents.EVENT_MOVE_MANY
|
||||
&& (event.getSource() instanceof IHost[])
|
||||
) {
|
||||
//TODO Change order of hosts from affected profile only?
|
||||
SystemPreferencesManager.setConnectionNamesOrder();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -16,6 +16,8 @@
|
|||
* David Dykstal (IBM) - [191038] remove getInstance(logFilePath) log file was not used
|
||||
* initialize correctly in getInstance()
|
||||
* Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
|
||||
* Martin Oberhuber (Wind River) - [] Move SystemRegistry impl into Core
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.ui.internal.model;
|
||||
|
||||
|
@ -28,11 +30,17 @@ import org.eclipse.jface.operation.IRunnableContext;
|
|||
import org.eclipse.jface.viewers.StructuredSelection;
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeEvent;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeEvents;
|
||||
import org.eclipse.rse.core.events.ISystemResourceChangeListener;
|
||||
import org.eclipse.rse.core.events.SystemResourceChangeEvent;
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.model.ISystemProfile;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
|
||||
import org.eclipse.rse.internal.core.model.SystemPostableEventNotifier;
|
||||
import org.eclipse.rse.internal.core.model.SystemRegistry;
|
||||
import org.eclipse.rse.internal.ui.view.SystemDNDTransferRunnable;
|
||||
import org.eclipse.rse.internal.ui.view.SystemPerspectiveHelpers;
|
||||
import org.eclipse.rse.internal.ui.view.SystemView;
|
||||
|
@ -41,6 +49,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
|||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.ui.ISystemMessages;
|
||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||
import org.eclipse.rse.ui.SystemPreferencesManager;
|
||||
import org.eclipse.rse.ui.model.ISystemRegistryUI;
|
||||
import org.eclipse.swt.dnd.Clipboard;
|
||||
import org.eclipse.swt.dnd.FileTransfer;
|
||||
|
@ -436,6 +445,85 @@ public class SystemRegistryUI implements ISystemRegistryUI {
|
|||
return scratchpad;
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------
|
||||
// USER PREFERENCE METHODS...
|
||||
// ----------------------------
|
||||
/**
|
||||
* Are connection names to be qualified by profile name?
|
||||
*/
|
||||
public boolean getQualifiedHostNames()
|
||||
{
|
||||
return SystemPreferencesManager.getQualifyConnectionNames();
|
||||
}
|
||||
/**
|
||||
* Set if connection names are to be qualified by profile name
|
||||
*/
|
||||
public void setQualifiedHostNames(boolean set)
|
||||
{
|
||||
SystemPreferencesManager.setQualifyConnectionNames(set);
|
||||
IHost[] conns = registry.getHosts();
|
||||
if (conns != null)
|
||||
{
|
||||
for (int idx = 0; idx < conns.length; idx++)
|
||||
{
|
||||
//FIXME it seems wrong to fire a RENAME event just because a user preference changed.
|
||||
//Showing qualified host names or not should be a view-only setting!
|
||||
registry.fireEvent(new SystemResourceChangeEvent(conns[idx], ISystemResourceChangeEvents.EVENT_RENAME, registry));
|
||||
}
|
||||
}
|
||||
if (SystemPreferencesManager.getShowFilterPools())
|
||||
{
|
||||
registry.fireEvent(new SystemResourceChangeEvent(registry, ISystemResourceChangeEvents.EVENT_REFRESH, registry));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reflect the user changing the preference for showing filter pools.
|
||||
*/
|
||||
public void setShowFilterPools(boolean show)
|
||||
{
|
||||
ISubSystemConfigurationProxy[] proxies = registry.getSubSystemConfigurationProxies();
|
||||
if (proxies != null)
|
||||
{
|
||||
for (int idx = 0; idx < proxies.length; idx++)
|
||||
{
|
||||
if (proxies[idx].isSubSystemConfigurationActive())
|
||||
{
|
||||
ISubSystemConfiguration factory = proxies[idx].getSubSystemConfiguration();
|
||||
if ((factory != null) && factory.supportsFilters())
|
||||
factory.setShowFilterPools(show);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reflect the user changing the preference for showing filter strings.
|
||||
*
|
||||
public void setShowFilterStrings(boolean show)
|
||||
{
|
||||
ISubSystemConfigurationProxy[] proxies = registry.getSubSystemConfigurationProxies();
|
||||
if (proxies != null)
|
||||
{
|
||||
for (int idx = 0; idx < proxies.length; idx++)
|
||||
{
|
||||
if (proxies[idx].isSubSystemConfigurationActive())
|
||||
{
|
||||
SubSystemConfiguration factory = proxies[idx].getSubSystemConfiguration();
|
||||
if ((factory!=null)&&factory.supportsFilters())
|
||||
factory.setShowFilterStrings(show);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
/**
|
||||
* Reflect the user changing the preference for showing new connection prompt
|
||||
*/
|
||||
public void setShowNewHostPrompt(boolean show)
|
||||
{
|
||||
registry.fireEvent(new SystemResourceChangeEvent(this, ISystemResourceChangeEvents.EVENT_REFRESH, null));
|
||||
}
|
||||
|
||||
// ----------------------------
|
||||
// RESOURCE EVENT METHODS...
|
||||
// ----------------------------
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
||||
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||
* This program and the accompanying materials are made available under the terms
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
|
@ -15,6 +15,7 @@
|
|||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||
* Martin Oberhuber (Wind River) - [189123] Prepare ISystemRegistry for move into non-UI
|
||||
* Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.ui.model;
|
||||
|
||||
|
@ -69,6 +70,34 @@ public interface ISystemRegistryUI extends ISystemShellProvider {
|
|||
*/
|
||||
public List getSystemClipboardObjects(int srcType);
|
||||
|
||||
// ----------------------------
|
||||
// USER PREFERENCE METHODS...
|
||||
// ----------------------------
|
||||
/**
|
||||
* Are connection names to be qualified by profile name?
|
||||
*/
|
||||
public boolean getQualifiedHostNames();
|
||||
|
||||
/**
|
||||
* Set if connection names are to be qualified by profile name
|
||||
*/
|
||||
public void setQualifiedHostNames(boolean set);
|
||||
|
||||
/**
|
||||
* Reflect the user changing the preference for showing filter pools.
|
||||
*/
|
||||
public void setShowFilterPools(boolean show);
|
||||
|
||||
/*
|
||||
* Reflect the user changing the preference for showing filter strings.
|
||||
*
|
||||
public void setShowFilterStrings(boolean show);
|
||||
*/
|
||||
/**
|
||||
* Reflect the user changing the preference for showing new connection prompt
|
||||
*/
|
||||
public void setShowNewHostPrompt(boolean show);
|
||||
|
||||
// ----------------------------------
|
||||
// ACTIVE PROGRESS MONITOR METHODS...
|
||||
// ----------------------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue