mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-04 15:45:25 +02:00
[cleanup] Add API "since" Javadoc tags
This commit is contained in:
parent
9bdc0ddc76
commit
c6a5434726
33 changed files with 3153 additions and 2967 deletions
|
@ -20,9 +20,15 @@
|
|||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation. 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,11 +8,14 @@
|
|||
* Kushal Munir (IBM) - Initial API and implementation.
|
||||
* David Dykstal (IBM) - updated with comments, removed keys that are not to be used globally
|
||||
* David Dykstal (IBM) - [197167] adding notification and waiting for RSE model
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.core;
|
||||
|
||||
/**
|
||||
* These constants define the set of preference names that the RSE core uses.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -23,46 +26,56 @@ package org.eclipse.rse.core;
|
|||
public interface IRSEPreferenceNames {
|
||||
|
||||
/**
|
||||
* The key for the value that specifies that queries should be "deferred", that is, run
|
||||
* when needed and in the background, as nodes are asked for their children.
|
||||
* This value is not part of the API.
|
||||
* The key for the value that specifies that queries should be "deferred",
|
||||
* that is, run when needed and in the background, as nodes are asked for
|
||||
* their children. This value is not part of the API.
|
||||
*
|
||||
* @noreference This field is not intended to be referenced by clients.
|
||||
*/
|
||||
public static final String USE_DEFERRED_QUERIES = "useDeferredQueries"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The key for the default system type. Used when a system type is needed but not declared
|
||||
* when creating new connections (hosts) and for password determination.
|
||||
* This value is not part of the API.
|
||||
* The key for the default system type. Used when a system type is needed
|
||||
* but not declared when creating new connections (hosts) and for password
|
||||
* determination. This value is not part of the API.
|
||||
*
|
||||
* @noreference This field is not intended to be referenced by clients.
|
||||
*/
|
||||
public static final String SYSTEMTYPE = "systemtype"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The key for an hash table, encoded as a string, that contains user ids as values
|
||||
* keyed by some key - usually a system type, a connection name, or a combination of
|
||||
* a connection name and subsystem.
|
||||
* This value is not part of the API.
|
||||
* The key for an hash table, encoded as a string, that contains user ids as
|
||||
* values keyed by some key - usually a system type, a connection name, or a
|
||||
* combination of a connection name and subsystem. This value is not part of
|
||||
* the API.
|
||||
*
|
||||
* @noreference This field is not intended to be referenced by clients.
|
||||
*/
|
||||
public static final String USERIDPERKEY = "useridperkey"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The key for the string containing the list of active user profiles in alphabetical order.
|
||||
* As profiles are activated, deactivated, or renamed this string must be modified.
|
||||
* This value is not part of the API.
|
||||
* The key for the string containing the list of active user profiles in
|
||||
* alphabetical order. As profiles are activated, deactivated, or renamed
|
||||
* this string must be modified. This value is not part of the API.
|
||||
*
|
||||
* @noreference This field is not intended to be referenced by clients.
|
||||
*/
|
||||
public static final String ACTIVEUSERPROFILES = "activeuserprofiles"; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* The key of the string containing the id of the default persistence provider.
|
||||
* Value is "DEFAULT_PERSISTENCE_PROVIDER".
|
||||
* This value is part of the API and may be used to customize products.
|
||||
*/
|
||||
public static final String DEFAULT_PERSISTENCE_PROVIDER = "DEFAULT_PERSISTENCE_PROVIDER"; //$NON-NLS-1$
|
||||
|
||||
public static final String DEFAULT_PERSISTENCE_PROVIDER = "DEFAULT_PERSISTENCE_PROVIDER"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The key of the string containing the id of the boolean value to create a local connection.
|
||||
* Value is "CREATE_LOCAL_CONNECTION".
|
||||
* This value is part of the API and may be used to customize products.
|
||||
* The key of the string containing the id of the boolean value to create a
|
||||
* local connection. Value is "CREATE_LOCAL_CONNECTION". This value is part
|
||||
* of the API and may be used to customize products.
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final String CREATE_LOCAL_CONNECTION = "CREATE_LOCAL_CONNECTION"; //$NON-NLS-1$
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
* Martin Oberhuber (Wind River) - [185098] Provide constants for all well-known system types
|
||||
* Martin Oberhuber (Wind River) - [186640] Add IRSESystemType.testProperty()
|
||||
* Martin Oberhuber (Wind River) - [218655][api] Provide SystemType enablement info in non-UI
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core;
|
||||
|
@ -254,14 +255,16 @@ public interface IRSESystemType extends IAdaptable {
|
|||
*
|
||||
* The enabled state is a dynamic property of a system type, compared to the
|
||||
* static configuration by plugin markup. Enablement is a non-UI property,
|
||||
* which can be set by a Product in the Preferences or modified by a user
|
||||
* to hide certain system types.
|
||||
* which can be set by a Product in the Preferences or modified by a user to
|
||||
* hide certain system types.
|
||||
* <p>
|
||||
* Implementers of custom system types (which are registered by a SystemTypeProvider)
|
||||
* can override this method to provide more advanced enabled checks e.g. based on
|
||||
* license availability.
|
||||
* Implementers of custom system types (which are registered by a
|
||||
* SystemTypeProvider) can override this method to provide more advanced
|
||||
* enabled checks e.g. based on license availability.
|
||||
*
|
||||
* @return <code>true</code> if the system type is currently enabled, or <code>false</code> otherwise.
|
||||
* @return <code>true</code> if the system type is currently enabled, or
|
||||
* <code>false</code> otherwise.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public boolean isEnabled();
|
||||
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006 IBM Corporation. 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
|
||||
*
|
||||
* Contributors:
|
||||
* Kushal Munir (IBM) - Initial API and implementation.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.core;
|
||||
|
||||
/**
|
||||
* These constants define the set of properties that the UI expects to
|
||||
* be available via <code>IRSESystemType.getProperty(String)</code>.
|
||||
*
|
||||
* These constants define the set of properties that the UI expects to be
|
||||
* available via <code>IRSESystemType.getProperty(String)</code>.
|
||||
*
|
||||
* @see org.eclipse.rse.core.IRSESystemType#getProperty(String)
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IRSESystemTypeConstants {
|
||||
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2000, 2006 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core;
|
||||
|
||||
/**
|
||||
* Constants for user id management. Used when specifying the scope of a user id when
|
||||
* setting a user id.
|
||||
* Constants for user id management. Used when specifying the scope of a user id
|
||||
* when setting a user id.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IRSEUserIdConstants {
|
||||
|
||||
|
@ -28,7 +30,7 @@ public interface IRSEUserIdConstants {
|
|||
public static final int USERID_LOCATION_NOTSET = 0;
|
||||
|
||||
/**
|
||||
* Value 1. Location of user id is scoped to the connector service inside the host.
|
||||
* Value 1. Location of user id is scoped to the connector service inside the host.
|
||||
*/
|
||||
public static final int USERID_LOCATION_CONNECTORSERVICE = 1;
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
|
@ -15,8 +15,9 @@
|
|||
* - updated to use new RSEPreferencesManager
|
||||
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
||||
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
|
||||
* Martin Oberhuber (Wind River) - [186640] Add IRSESystemType.testProperty()
|
||||
* Martin Oberhuber (Wind River) - [186640] Add IRSESystemType.testProperty()
|
||||
* Martin Oberhuber (Wind River) - [218655][api] Provide SystemType enablement info in non-UI
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core;
|
||||
|
@ -37,10 +38,14 @@ import org.eclipse.rse.internal.core.RSECoreMessages;
|
|||
|
||||
|
||||
/**
|
||||
* PasswordPersistenceManager manages the saving and retreiving of user ID / passwords
|
||||
* to the Eclipse keyring for registered system types.
|
||||
* PasswordPersistenceManager manages the saving and retrieving of user ID /
|
||||
* passwords to the Eclipse keyring for registered system types.
|
||||
*
|
||||
* @author yantzi
|
||||
* @noextend This class is not intended to be subclassed by clients.
|
||||
* @noinstantiate This class is not intended to be instantiated by clients. Use
|
||||
* the {@link #getInstance()} method to get the singleton
|
||||
* instance.
|
||||
*/
|
||||
public class PasswordPersistenceManager {
|
||||
|
||||
|
@ -50,26 +55,26 @@ public class PasswordPersistenceManager {
|
|||
private static final String SERVER_URL = "file://rse"; //$NON-NLS-1$
|
||||
|
||||
private static final String AUTH_SCHEME = ""; // no authorization scheme specified for apis //$NON-NLS-1$
|
||||
|
||||
|
||||
// Add return codes
|
||||
public static final int RC_OK = 0;
|
||||
public static final int RC_ALREADY_EXISTS = 1;
|
||||
public static final int RC_ERROR = -1;
|
||||
|
||||
public static final int RC_ERROR = -1;
|
||||
|
||||
// Default System Type, on a lookup if the specified system type and hostname is not found
|
||||
// then the call will automatically lookup the default system type and hostname
|
||||
public static final IRSESystemType DEFAULT_SYSTEM_TYPE = new DefaultSystemType();
|
||||
|
||||
|
||||
// Default user name
|
||||
public static final String DEFAULT_USER_NAME = "DEFAULT_USER"; //$NON-NLS-1$
|
||||
|
||||
|
||||
// New URL to store password map
|
||||
private String newURL = null;
|
||||
|
||||
|
||||
/*
|
||||
* Singleton instance
|
||||
*/
|
||||
private static PasswordPersistenceManager _instance;
|
||||
private static PasswordPersistenceManager _instance;
|
||||
|
||||
/*
|
||||
* Instance variables
|
||||
|
@ -99,9 +104,9 @@ public class PasswordPersistenceManager {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Inner class used for storing registered system types
|
||||
* Inner class used for storing registered system types
|
||||
*/
|
||||
private class RegisteredSystemType
|
||||
{
|
||||
|
@ -112,8 +117,8 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
_systemType = systemType;
|
||||
_userIDCaseSensitive = caseSensitive;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the system type.
|
||||
* @return the system type.
|
||||
|
@ -129,23 +134,23 @@ public class PasswordPersistenceManager {
|
|||
public boolean isUserIDCaseSensitive() {
|
||||
return _userIDCaseSensitive;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Singleton so private constructor
|
||||
*/
|
||||
private PasswordPersistenceManager(){
|
||||
String userName = System.getProperty("user.name"); //$NON-NLS-1$
|
||||
|
||||
|
||||
if (userName == null) {
|
||||
userName = DEFAULT_USER_NAME;
|
||||
}
|
||||
|
||||
|
||||
newURL = SERVER_URL + userName;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve the singleton isntance of the PasswordPersistenceManger
|
||||
* Retrieve the singleton instance of the PasswordPersistenceManger
|
||||
*/
|
||||
public static final synchronized PasswordPersistenceManager getInstance()
|
||||
{
|
||||
|
@ -166,12 +171,12 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
IRSESystemType[] sysTypes = RSECorePlugin.getTheCoreRegistry().getSystemTypes();
|
||||
systemTypes = new RegisteredSystemType[sysTypes.length];
|
||||
|
||||
|
||||
for (int i = 0; i < sysTypes.length; i++) {
|
||||
systemTypes[i] = new RegisteredSystemType(sysTypes[i], true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Remove the entry from the keyring that matches the systemtype, hostname and
|
||||
* user ID from the SystemSignonInfo parameter.
|
||||
|
@ -179,8 +184,8 @@ public class PasswordPersistenceManager {
|
|||
public void remove(SystemSignonInformation info)
|
||||
{
|
||||
remove(info.getSystemType(), info.getHostname(), info.getUserId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the entry from the keyring that matches the hostname, userid and
|
||||
* system type parameters.
|
||||
|
@ -198,14 +203,14 @@ public class PasswordPersistenceManager {
|
|||
}
|
||||
|
||||
Map passwords = getPasswordMap(systemtype);
|
||||
|
||||
|
||||
if (passwords != null)
|
||||
{
|
||||
if (removePassword(passwords, hostname, userid))
|
||||
{
|
||||
savePasswordMap(systemtype.getId(), passwords);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// yantzi: RSE6.2 check for default system type entry with this hostname and user ID
|
||||
|
@ -215,14 +220,14 @@ public class PasswordPersistenceManager {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if a password entry exists for the specified system type, hostname
|
||||
* and userid.
|
||||
*/
|
||||
public boolean passwordExists(IRSESystemType systemtype, String hostname, String userid)
|
||||
{
|
||||
|
||||
|
||||
return passwordExists(systemtype, hostname, userid, true);
|
||||
}
|
||||
|
||||
|
@ -249,7 +254,7 @@ public class PasswordPersistenceManager {
|
|||
* @param info The signon information to store
|
||||
* @param overwrite Whether to overwrite any existing entry
|
||||
*
|
||||
* @return
|
||||
* @return
|
||||
* RC_OK if the password was successfully stored
|
||||
* RC_ALREADY_EXISTS if the password already exists and overwrite was false
|
||||
*/
|
||||
|
@ -257,7 +262,7 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
return add(info, overwrite, false);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add a new persisted password to the password database. This method assumes
|
||||
* the encrypted password is already stored in the SystemSignonInformation
|
||||
|
@ -267,14 +272,14 @@ public class PasswordPersistenceManager {
|
|||
* @param overwrite Whether to overwrite any existing entry
|
||||
* @param updateDefault Whether or not to update the default entry for the specified hostname / user ID if one exists.
|
||||
*
|
||||
* @return
|
||||
* @return
|
||||
* RC_OK if the password was successfully stored
|
||||
* RC_ALREADY_EXISTS if the password already exists and overwrite was false
|
||||
*/
|
||||
public int add(SystemSignonInformation info, boolean overwrite, boolean updateDefault)
|
||||
{
|
||||
IRSESystemType systemtype = info.getSystemType();
|
||||
|
||||
|
||||
// Convert userid to upper case if required
|
||||
if (!isUserIDCaseSensitive(systemtype))
|
||||
{
|
||||
|
@ -285,13 +290,13 @@ public class PasswordPersistenceManager {
|
|||
String userid = info.getUserId();
|
||||
Map passwords = getPasswordMap(systemtype);
|
||||
String passwordKey = getPasswordKey(hostname, userid);
|
||||
|
||||
|
||||
if (passwords != null)
|
||||
{
|
||||
String password = getPassword(passwords, hostname, userid);
|
||||
|
||||
if (password != null)
|
||||
{
|
||||
{
|
||||
if (!overwrite)
|
||||
{
|
||||
return RC_ALREADY_EXISTS;
|
||||
|
@ -327,36 +332,36 @@ public class PasswordPersistenceManager {
|
|||
else
|
||||
{
|
||||
// password map did not exists yet so create a new one
|
||||
passwords = new HashMap(5);
|
||||
passwords = new HashMap(5);
|
||||
}
|
||||
|
||||
|
||||
passwords.put(passwordKey, info.getPassword());
|
||||
|
||||
savePasswordMap(systemtype.getId(), passwords);
|
||||
|
||||
|
||||
savePasswordMap(systemtype.getId(), passwords);
|
||||
|
||||
return RC_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Retrieve the password map from the keyring for the specified system type
|
||||
*/
|
||||
*/
|
||||
private Map getPasswordMap(IRSESystemType systemType)
|
||||
{
|
||||
Map passwords = null;
|
||||
String systemTypeId = systemType.getId();
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
URL serverURL = new URL(newURL);
|
||||
passwords = Platform.getAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME);
|
||||
|
||||
|
||||
// if no passwords found with new URL, check old URL
|
||||
if (passwords == null) {
|
||||
|
||||
|
||||
URL oldServerURL1 = new URL(SERVER_URL + ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString());
|
||||
passwords = Platform.getAuthorizationInfo(oldServerURL1, systemTypeId, AUTH_SCHEME);
|
||||
|
||||
|
||||
// passwords found, so migrate to using new URL
|
||||
if (passwords != null) {
|
||||
savePasswordMap(systemTypeId, passwords);
|
||||
|
@ -365,10 +370,10 @@ public class PasswordPersistenceManager {
|
|||
else {
|
||||
URL oldServerURL2 = new URL(SERVER_URL);
|
||||
passwords = Platform.getAuthorizationInfo(oldServerURL2, systemTypeId, AUTH_SCHEME);
|
||||
|
||||
|
||||
// passwords found, so migrate to using new URL
|
||||
if (passwords != null) {
|
||||
savePasswordMap(systemTypeId, passwords);
|
||||
savePasswordMap(systemTypeId, passwords);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -376,13 +381,13 @@ public class PasswordPersistenceManager {
|
|||
catch (MalformedURLException e) {
|
||||
RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.getPasswordMap", e); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
return passwords;
|
||||
|
||||
return passwords;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieve the password map from the keyring for the specified system type
|
||||
*/
|
||||
*/
|
||||
private void savePasswordMap(String systemTypeId, Map passwords)
|
||||
{
|
||||
try
|
||||
|
@ -396,84 +401,34 @@ public class PasswordPersistenceManager {
|
|||
}
|
||||
catch (CoreException e) {
|
||||
RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.savePasswordMap", e); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the persisted password for the specified systemtype, hostname and userid.
|
||||
* Find the persisted password for the specified systemtype, hostname and userid.
|
||||
*/
|
||||
public SystemSignonInformation find(IRSESystemType systemtype, String hostname, String userid)
|
||||
{
|
||||
return find(systemtype, hostname, userid, true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private boolean removePassword(Map passwords, String hostname, String userid)
|
||||
{
|
||||
boolean removed = false;
|
||||
String password = null;
|
||||
|
||||
String passwordKey = getPasswordKey(hostname, userid);
|
||||
password =(String) passwords.get(passwordKey);
|
||||
if (password != null)
|
||||
{
|
||||
passwords.remove(passwordKey);
|
||||
removed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
String phostname = hostname.toUpperCase();
|
||||
|
||||
// DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames
|
||||
Iterator keys = passwords.keySet().iterator();
|
||||
while (keys.hasNext() && password == null)
|
||||
{
|
||||
String key = (String)keys.next();
|
||||
if (key.equalsIgnoreCase(passwordKey))
|
||||
{
|
||||
password = (String) passwords.get(key);
|
||||
}
|
||||
else
|
||||
{
|
||||
String khostname = getHostnameFromPasswordKey(key).toUpperCase();
|
||||
String kuid = getUserIdFromPasswordKey(key);
|
||||
if (kuid.equalsIgnoreCase(userid))
|
||||
{
|
||||
// uid matches, check if hosts are the same
|
||||
if (khostname.startsWith(phostname) || phostname.startsWith(khostname))
|
||||
{
|
||||
String qkhost = RSECorePlugin.getQualifiedHostName(khostname);
|
||||
String qphost = RSECorePlugin.getQualifiedHostName(phostname);
|
||||
if (qkhost.equals(qphost))
|
||||
{
|
||||
password = (String)passwords.get(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (password != null)
|
||||
{
|
||||
passwords.remove(key);
|
||||
removed = true;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
String passwordKey = getPasswordKey(hostname, userid);
|
||||
password =(String) passwords.get(passwordKey);
|
||||
if (password != null)
|
||||
{
|
||||
passwords.remove(passwordKey);
|
||||
removed = true;
|
||||
}
|
||||
return removed;
|
||||
else
|
||||
{
|
||||
String phostname = hostname.toUpperCase();
|
||||
|
||||
}
|
||||
|
||||
private String getPassword(Map passwords, String hostname, String userid)
|
||||
{
|
||||
String password = null;
|
||||
|
||||
String passwordKey = getPasswordKey(hostname, userid);
|
||||
password =(String) passwords.get(passwordKey);
|
||||
if (password != null)
|
||||
return password;
|
||||
|
||||
String phostname = hostname.toUpperCase();
|
||||
|
||||
// DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames
|
||||
Iterator keys = passwords.keySet().iterator();
|
||||
while (keys.hasNext() && password == null)
|
||||
|
@ -501,15 +456,65 @@ public class PasswordPersistenceManager {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (password != null)
|
||||
{
|
||||
passwords.remove(key);
|
||||
removed = true;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return removed;
|
||||
|
||||
}
|
||||
|
||||
private String getPassword(Map passwords, String hostname, String userid)
|
||||
{
|
||||
String password = null;
|
||||
|
||||
String passwordKey = getPasswordKey(hostname, userid);
|
||||
password =(String) passwords.get(passwordKey);
|
||||
if (password != null)
|
||||
return password;
|
||||
|
||||
String phostname = hostname.toUpperCase();
|
||||
|
||||
// DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames
|
||||
Iterator keys = passwords.keySet().iterator();
|
||||
while (keys.hasNext() && password == null)
|
||||
{
|
||||
String key = (String)keys.next();
|
||||
if (key.equalsIgnoreCase(passwordKey))
|
||||
{
|
||||
password = (String) passwords.get(key);
|
||||
}
|
||||
else
|
||||
{
|
||||
String khostname = getHostnameFromPasswordKey(key).toUpperCase();
|
||||
String kuid = getUserIdFromPasswordKey(key);
|
||||
if (kuid.equalsIgnoreCase(userid))
|
||||
{
|
||||
// uid matches, check if hosts are the same
|
||||
if (khostname.startsWith(phostname) || phostname.startsWith(khostname))
|
||||
{
|
||||
String qkhost = RSECorePlugin.getQualifiedHostName(khostname);
|
||||
String qphost = RSECorePlugin.getQualifiedHostName(phostname);
|
||||
if (qkhost.equals(qphost))
|
||||
{
|
||||
password = (String)passwords.get(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return password;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Find the persisted password for the specified systemtype, hostname and userid.
|
||||
*
|
||||
*
|
||||
* @param systemtype The system type to check for.
|
||||
* @param hname The hostname to check for.
|
||||
* @param userid The user ID to check for.
|
||||
|
@ -525,7 +530,7 @@ public class PasswordPersistenceManager {
|
|||
}
|
||||
|
||||
Map passwords = getPasswordMap(systemtype);
|
||||
|
||||
|
||||
if (passwords != null)
|
||||
{
|
||||
String password = getPassword(passwords, hostname, userid);
|
||||
|
@ -534,20 +539,20 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
return new SystemSignonInformation(hostname, userid, password, systemtype);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// yantzi: RSE6.2 check for default system type entry with this hostname and user ID
|
||||
if (checkDefault && !DEFAULT_SYSTEM_TYPE.equals(systemtype))
|
||||
{
|
||||
return find(DEFAULT_SYSTEM_TYPE, hostname, userid, false);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Helper class for building the key to lookup the password for a specific
|
||||
* userid and hostname in the Map
|
||||
* userid and hostname in the Map
|
||||
*/
|
||||
private String getPasswordKey(String hname, String userid)
|
||||
{
|
||||
|
@ -557,19 +562,19 @@ public class PasswordPersistenceManager {
|
|||
buffer.append(userid);
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
|
||||
private static String getHostnameFromPasswordKey(String passwordKey)
|
||||
{
|
||||
int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$
|
||||
return passwordKey.substring(0,sepIndex);
|
||||
}
|
||||
|
||||
|
||||
private static String getUserIdFromPasswordKey(String passwordKey)
|
||||
{
|
||||
int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$
|
||||
return passwordKey.substring(sepIndex + 2, passwordKey.length());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Helper method for determining if system type uses case sensitive user IDs
|
||||
*/
|
||||
|
@ -577,41 +582,41 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
// First find the correct provider
|
||||
for (int i = 0; i < systemTypes.length; i++)
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
if (systemTypes[i].getSystemType().equals(systemType))
|
||||
{
|
||||
return systemTypes[i].isUserIDCaseSensitive();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Not found: Default system type is case sensitive
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the list of registered system types
|
||||
*/
|
||||
*/
|
||||
public IRSESystemType[] getRegisteredSystemTypes()
|
||||
{
|
||||
// yantzi: artemis 6.2, added default system type to list
|
||||
IRSESystemType[] types = new IRSESystemType[systemTypes.length + 1];
|
||||
|
||||
|
||||
types[0] = DEFAULT_SYSTEM_TYPE;
|
||||
|
||||
|
||||
for (int i = 0; i < systemTypes.length; i++)
|
||||
{
|
||||
types[i + 1] = systemTypes[i].getSystemType();
|
||||
}
|
||||
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve a list of the stored user IDs.
|
||||
*
|
||||
* @return List A list of the stored user IDs as SystemSignonInformation instances
|
||||
* without the saved passwords.
|
||||
* without the saved passwords.
|
||||
*/
|
||||
public List getSavedUserIDs()
|
||||
{
|
||||
|
@ -619,7 +624,7 @@ public class PasswordPersistenceManager {
|
|||
Map passwords;
|
||||
String key;
|
||||
int separator;
|
||||
|
||||
|
||||
for (int i = 0; i < systemTypes.length; i++)
|
||||
{
|
||||
passwords = getPasswordMap(systemTypes[i].getSystemType());
|
||||
|
@ -630,13 +635,13 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
key = (String) keys.next();
|
||||
separator = key.indexOf("//"); //$NON-NLS-1$
|
||||
savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname
|
||||
key.substring(separator + 2), // userid
|
||||
systemTypes[i].getSystemType())); // system type
|
||||
savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname
|
||||
key.substring(separator + 2), // userid
|
||||
systemTypes[i].getSystemType())); // system type
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// yantzi: RSE 6.2 Get DEFAULT system types too
|
||||
passwords = getPasswordMap(DEFAULT_SYSTEM_TYPE);
|
||||
if (passwords != null)
|
||||
|
@ -646,12 +651,12 @@ public class PasswordPersistenceManager {
|
|||
{
|
||||
key = (String) keys.next();
|
||||
separator = key.indexOf("//"); //$NON-NLS-1$
|
||||
savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname
|
||||
key.substring(separator + 2), // userid
|
||||
DEFAULT_SYSTEM_TYPE)); // system type
|
||||
savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname
|
||||
key.substring(separator + 2), // userid
|
||||
DEFAULT_SYSTEM_TYPE)); // system type
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return savedUserIDs;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
* Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
* David Dykstal (IBM) - [197167] adding notification and waiting for RSE model
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.core;
|
||||
|
||||
|
@ -39,8 +40,8 @@ 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.RSEInitJob;
|
||||
import org.eclipse.rse.internal.core.RSECoreRegistry;
|
||||
import org.eclipse.rse.internal.core.RSEInitJob;
|
||||
import org.eclipse.rse.internal.core.model.SystemProfileManager;
|
||||
import org.eclipse.rse.internal.core.model.SystemRegistry;
|
||||
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxy;
|
||||
|
@ -53,17 +54,22 @@ import org.osgi.framework.Bundle;
|
|||
import org.osgi.framework.BundleContext;
|
||||
|
||||
/**
|
||||
* RSECorePlugin provides the activation for the RSE core and acts as the primary
|
||||
* registry for logging, persistence, and the main RSE service registries.
|
||||
* It should not be extended by other classes.
|
||||
* RSECorePlugin provides the activation for the RSE core and acts as the
|
||||
* primary registry for logging, persistence, and the main RSE service
|
||||
* registries.
|
||||
*
|
||||
* @noextend This class is not intended to be subclassed by clients.
|
||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||
*/
|
||||
public class RSECorePlugin extends Plugin {
|
||||
|
||||
/**
|
||||
* The plugin id for this plugin. Value "org.eclipse.rse.core".
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final String PLUGIN_ID = "org.eclipse.rse.core"; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* Current release as a number (multiplied by 100). E.g. 300 is for release 3.0.0
|
||||
*/
|
||||
|
@ -75,29 +81,32 @@ public class RSECorePlugin extends Plugin {
|
|||
public static final String CURRENT_RELEASE_NAME = "2.0.0"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* Value 0.
|
||||
* Used in isInitComplete(int) which will return true if all phases of
|
||||
* initialization are complete.
|
||||
* Clients must not assume any particular ordering
|
||||
* among phases based on the value.
|
||||
* Initialization phase constant, value 0. Used in
|
||||
* {@link #isInitComplete(int)} which will return true if all phases of
|
||||
* initialization are complete. Clients must not assume any particular
|
||||
* ordering among phases based on the value.
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final int INIT_ALL = 0;
|
||||
|
||||
|
||||
/**
|
||||
* Value 1.
|
||||
* Used in isInitComplete(int) which will return true if the model phase of the
|
||||
* initialization is complete.
|
||||
* Clients must not assume any particular ordering
|
||||
* among phases based on the value.
|
||||
* Initialization phase constant, value 1. Used in
|
||||
* {@link #isInitComplete(int)} which will return true if the model phase of
|
||||
* the initialization is complete. Clients must not assume any particular
|
||||
* ordering among phases based on the value.
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final int INIT_MODEL = 1;
|
||||
|
||||
|
||||
/**
|
||||
* Value 2.
|
||||
* Used in isInitComplete(int) which will return true if the initializer phase of the
|
||||
* initialization is complete.
|
||||
* Clients must not assume any particular ordering
|
||||
* among phases based on the value.
|
||||
* Initialization phase constant, value 2. Used in
|
||||
* {@link #isInitComplete(int)} which will return true if the initializer
|
||||
* phase of the initialization is complete. Clients must not assume any
|
||||
* particular ordering among phases based on the value.
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final int INIT_INITIALIZER = 2;
|
||||
|
||||
|
@ -106,7 +115,7 @@ public class RSECorePlugin extends Plugin {
|
|||
private ISystemRegistry _systemRegistry = null;
|
||||
private IRSEPersistenceManager _persistenceManager = null;
|
||||
private ISubSystemConfigurationProxy[] _subsystemConfigurations = null;
|
||||
|
||||
|
||||
/**
|
||||
* Returns the singleton instance of RSECorePlugin.
|
||||
* @return the singleton instance.
|
||||
|
@ -114,115 +123,133 @@ public class RSECorePlugin extends Plugin {
|
|||
public static RSECorePlugin getDefault() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Waits until the RSE model has been fully restored from its persistent form. Should be used
|
||||
* before accessing pieces of the model.
|
||||
* Waits until the RSE model has been fully restored from its persistent
|
||||
* form. Should be used before accessing pieces of the model.
|
||||
*
|
||||
* @return an IStatus indicating how the initialization ended.
|
||||
* @throws InterruptedException if this wait was interrupted for some reason.
|
||||
* @throws InterruptedException if this wait was interrupted for some
|
||||
* reason.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static IStatus waitForInitCompletion() throws InterruptedException {
|
||||
return RSEInitJob.getInstance().waitForCompletion();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Waits until the RSE has completed a specific phase of its initialization.
|
||||
*
|
||||
* @param phase the phase to wait for completion.
|
||||
* @throws InterruptedException if this wait was interrupted for some reason.
|
||||
* @throws InterruptedException if this wait was interrupted for some
|
||||
* reason.
|
||||
* @throws IllegalArgumentException if the phase is undefined.
|
||||
* @see #INIT_ALL
|
||||
* @see #INIT_INITIALIZER
|
||||
* @see #INIT_MODEL
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static void waitForInitCompletion(int phase) throws InterruptedException {
|
||||
RSEInitJob.getInstance().waitForCompletion(phase);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check whether the initialization of the RSE model is complete for a given
|
||||
* phase.
|
||||
*
|
||||
* @param phase the phase identifier.
|
||||
* @return true if initialization of the RSE model is complete for that phase.
|
||||
* It will return true if the
|
||||
* initialization for that phase has completed regardless its status of that completion.
|
||||
* @return <code>true</code> if the initialization for the given phase has
|
||||
* completed regardless of its status of that completion.
|
||||
* @throws IllegalArgumentException if the phase is undefined.
|
||||
* @see #INIT_ALL
|
||||
* @see #INIT_INITIALIZER
|
||||
* @see #INIT_MODEL
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static boolean isInitComplete(int phase) {
|
||||
return RSEInitJob.getInstance().isComplete(phase);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds a new listener to the set of listeners to be notified when initialization phases complete.
|
||||
* If the listener is added after the phase has completed it will not be invoked.
|
||||
* If the listener is already in the set it will not be added again.
|
||||
* Listeners may be notified in any order.
|
||||
* Adds a new listener to the set of listeners to be notified when
|
||||
* initialization phases complete. If the listener is added after the phase
|
||||
* has completed it will not be invoked. If the listener is already in the
|
||||
* set it will not be added again. Listeners may be notified in any order.
|
||||
*
|
||||
* @param listener the listener to be added
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static void addInitListener(IRSEInitListener listener) {
|
||||
RSEInitJob.getInstance().addInitListener(listener);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Removes a listener to the set of listeners to be notified when phases complete.
|
||||
* If the listener is not in the set this does nothing.
|
||||
* Removes a listener to the set of listeners to be notified when phases
|
||||
* complete. If the listener is not in the set this does nothing.
|
||||
*
|
||||
* @param listener the listener to be removed
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static void removeInitListener(IRSEInitListener listener) {
|
||||
RSEInitJob.getInstance().removeInitListener(listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* A static convenience method - fully equivalent to
|
||||
* <code>RSECorePlugin.getDefault().getRegistry()</code>.
|
||||
* @return the RSE Core Registry.
|
||||
*/
|
||||
public static IRSECoreRegistry getTheCoreRegistry() {
|
||||
return getDefault().getCoreRegistry();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* 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.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
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();
|
||||
}
|
||||
/**
|
||||
* 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.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static boolean isTheSystemRegistryActive()
|
||||
{
|
||||
if (plugin == null) {
|
||||
return false;
|
||||
}
|
||||
return getDefault().isSystemRegistryActive();
|
||||
}
|
||||
|
||||
/**
|
||||
* A static convenience method - fully equivalent to
|
||||
* 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.
|
||||
* and components used in RSE.
|
||||
* @return the RSE System Registry.
|
||||
*/
|
||||
public static ISystemRegistry getTheSystemRegistry() {
|
||||
return getDefault().getSystemRegistry();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return the IP host name of this machine
|
||||
*/
|
||||
|
@ -304,36 +331,36 @@ public class RSECorePlugin extends Plugin {
|
|||
return _persistenceManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the SystemRegistry singleton.
|
||||
* Clients should use static @{link getTheSystemRegistry()} instead.
|
||||
* 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the SystemRegistry singleton.
|
||||
* Clients should use static @{link getTheSystemRegistry()} instead.
|
||||
* @return the RSE system registry
|
||||
*/
|
||||
public ISystemRegistry getSystemRegistry() {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -349,12 +376,12 @@ public class RSECorePlugin extends Plugin {
|
|||
public IRSECoreRegistry getCoreRegistry() {
|
||||
return RSECoreRegistry.getInstance();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns an instance of the logger being used by the core. All core services, or extensions to
|
||||
* core services, should use this logger to log any messages. The RSE logger provides run-time
|
||||
* Returns an instance of the logger being used by the core. All core services, or extensions to
|
||||
* core services, should use this logger to log any messages. The RSE logger provides run-time
|
||||
* filtering according to user preference and uses the platform's logging capabilities. RSE services
|
||||
* should use this logger rather than a platform logger. The logger is defined at plugin start and
|
||||
* should use this logger rather than a platform logger. The logger is defined at plugin start and
|
||||
* should always be available.
|
||||
* @return the instance of System#Logger used by the core RSE
|
||||
*/
|
||||
|
@ -362,7 +389,7 @@ public class RSECorePlugin extends Plugin {
|
|||
if (logger == null) logger = LoggerFactory.getLogger(this);
|
||||
return logger;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Log an unexpected exception that occurs during the functioning of this class.
|
||||
* @param t the exception to log
|
||||
|
@ -378,68 +405,68 @@ public class RSECorePlugin extends Plugin {
|
|||
{
|
||||
// Get reference to the plug-in registry
|
||||
IExtensionRegistry registry = Platform.getExtensionRegistry();
|
||||
|
||||
|
||||
// Get configured extenders
|
||||
IConfigurationElement[] systemTypeExtensions = registry.getConfigurationElementsFor("org.eclipse.rse.core", "keystoreProviders"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
for (int i = 0; i < systemTypeExtensions.length; i++)
|
||||
|
||||
for (int i = 0; i < systemTypeExtensions.length; i++)
|
||||
{
|
||||
// get the name space of the declaring extension
|
||||
String nameSpace = systemTypeExtensions[i].getDeclaringExtension().getNamespaceIdentifier();
|
||||
String keystoreProviderType = systemTypeExtensions[i].getAttribute("class"); //$NON-NLS-1$
|
||||
|
||||
String nameSpace = systemTypeExtensions[i].getDeclaringExtension().getNamespaceIdentifier();
|
||||
String keystoreProviderType = systemTypeExtensions[i].getAttribute("class"); //$NON-NLS-1$
|
||||
|
||||
// use the name space to get the bundle
|
||||
Bundle bundle = Platform.getBundle(nameSpace);
|
||||
if (bundle.getState() != Bundle.UNINSTALLED)
|
||||
{
|
||||
SystemKeystoreProviderManager.getInstance().registerKeystoreProvider(bundle, keystoreProviderType);
|
||||
}
|
||||
Bundle bundle = Platform.getBundle(nameSpace);
|
||||
if (bundle.getState() != Bundle.UNINSTALLED)
|
||||
{
|
||||
SystemKeystoreProviderManager.getInstance().registerKeystoreProvider(bundle, keystoreProviderType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all elements that extend the org.eclipse.rse.core.subsystemConfigurations extension point
|
||||
*/
|
||||
private IConfigurationElement[] getSubSystemConfigurationPlugins()
|
||||
{
|
||||
// Get reference to the plug-in registry
|
||||
IExtensionRegistry registry = Platform.getExtensionRegistry();
|
||||
// Get configured extenders
|
||||
IConfigurationElement[] subsystemConfigurationExtensions =
|
||||
registry.getConfigurationElementsFor("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
/**
|
||||
* Return all elements that extend the org.eclipse.rse.core.subsystemConfigurations extension point
|
||||
*/
|
||||
private IConfigurationElement[] getSubSystemConfigurationPlugins()
|
||||
{
|
||||
// Get reference to the plug-in registry
|
||||
IExtensionRegistry registry = Platform.getExtensionRegistry();
|
||||
// Get configured extenders
|
||||
IConfigurationElement[] subsystemConfigurationExtensions =
|
||||
registry.getConfigurationElementsFor("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
return subsystemConfigurationExtensions;
|
||||
}
|
||||
return subsystemConfigurationExtensions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array of SubSystemConfigurationProxy objects.
|
||||
* These represent all extensions to our subsystemConfigurations extension point.
|
||||
*/
|
||||
public ISubSystemConfigurationProxy[] getSubSystemConfigurationProxies()
|
||||
{
|
||||
if (_subsystemConfigurations != null) // added by PSC
|
||||
return _subsystemConfigurations;
|
||||
/**
|
||||
* Return an array of SubSystemConfigurationProxy objects.
|
||||
* These represent all extensions to our subsystemConfigurations extension point.
|
||||
*/
|
||||
public ISubSystemConfigurationProxy[] getSubSystemConfigurationProxies()
|
||||
{
|
||||
if (_subsystemConfigurations != null) // added by PSC
|
||||
return _subsystemConfigurations;
|
||||
|
||||
IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins();
|
||||
if (factoryPlugins != null)
|
||||
{
|
||||
List l = new ArrayList();
|
||||
for (int idx=0; idx<factoryPlugins.length; idx++)
|
||||
{
|
||||
SubSystemConfigurationProxy ssf =
|
||||
new SubSystemConfigurationProxy(factoryPlugins[idx]);
|
||||
|
||||
l.add(ssf);
|
||||
}
|
||||
ISubSystemConfigurationProxy[] newProxies = (ISubSystemConfigurationProxy[])l.toArray(new ISubSystemConfigurationProxy[l.size()]);
|
||||
//[149280][165674]: Sort proxies by priority then ID in order to
|
||||
//get deterministic results on all getSubSystemConfiguration*() queries
|
||||
Arrays.sort(newProxies, new SubSystemConfigurationProxyComparator());
|
||||
_subsystemConfigurations = newProxies;
|
||||
}
|
||||
|
||||
return _subsystemConfigurations;
|
||||
}
|
||||
IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins();
|
||||
if (factoryPlugins != null)
|
||||
{
|
||||
List l = new ArrayList();
|
||||
for (int idx=0; idx<factoryPlugins.length; idx++)
|
||||
{
|
||||
SubSystemConfigurationProxy ssf =
|
||||
new SubSystemConfigurationProxy(factoryPlugins[idx]);
|
||||
|
||||
l.add(ssf);
|
||||
}
|
||||
ISubSystemConfigurationProxy[] newProxies = (ISubSystemConfigurationProxy[])l.toArray(new ISubSystemConfigurationProxy[l.size()]);
|
||||
//[149280][165674]: Sort proxies by priority then ID in order to
|
||||
//get deterministic results on all getSubSystemConfiguration*() queries
|
||||
Arrays.sort(newProxies, new SubSystemConfigurationProxyComparator());
|
||||
_subsystemConfigurations = newProxies;
|
||||
}
|
||||
|
||||
return _subsystemConfigurations;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2007 IBM Corporation and others. 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
|
||||
|
@ -9,6 +9,7 @@
|
|||
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
||||
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
|
||||
* David Dykstal (IBM) - [197167] adding notification and waiting for RSE model
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.core;
|
||||
|
||||
|
@ -21,6 +22,12 @@ import java.util.TreeSet;
|
|||
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
|
||||
/**
|
||||
* Preferences Manager utility class.
|
||||
*
|
||||
* @noextend This class is not intended to be subclassed by clients.
|
||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||
*/
|
||||
public class RSEPreferencesManager {
|
||||
|
||||
/**
|
||||
|
@ -45,7 +52,7 @@ public class RSEPreferencesManager {
|
|||
private static final String DEFAULT_ACTIVEUSERPROFILES = "Team"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* @return the Hashtable where the key is a string identifying a particular object, and
|
||||
* @return the Hashtable where the key is a string identifying a particular object, and
|
||||
* the value is the user ID for that object.
|
||||
* @see #setUserId(String, String)
|
||||
*/
|
||||
|
@ -87,7 +94,7 @@ public class RSEPreferencesManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* Clears the user ID for the given key.
|
||||
* Clears the user ID for the given key.
|
||||
* @param key the key for the user id.
|
||||
* @see #setUserId(String, String)
|
||||
*/
|
||||
|
@ -104,8 +111,8 @@ public class RSEPreferencesManager {
|
|||
* The key typically designates a scope for this userid so that a hierarchy
|
||||
* of user ids can be maintained for inheritance.
|
||||
* For example, hosts have greater scope than subsystems.
|
||||
* A key would typically be <profile-name>.<host-name>,
|
||||
* or <profile-name>.<host-type>,
|
||||
* A key would typically be <profile-name>.<host-name>,
|
||||
* or <profile-name>.<host-type>,
|
||||
* or <profile-name>.<host-name>.<subsystem-name>.
|
||||
* @param key the key used to find the userId
|
||||
* @param userId the userId to retrieve by this key.
|
||||
|
@ -331,7 +338,7 @@ public class RSEPreferencesManager {
|
|||
store.setDefault(IRSEPreferenceNames.USE_DEFERRED_QUERIES, RSEPreferencesManager.DEFAULT_USE_DEFERRED_QUERIES);
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Save the preference store.
|
||||
*/
|
||||
|
@ -342,7 +349,7 @@ public class RSEPreferencesManager {
|
|||
/**
|
||||
* @return The name of the default private system profile. This
|
||||
* is typically the short name of the host machine or the name of the
|
||||
* user account.
|
||||
* user account.
|
||||
*/
|
||||
public static String getDefaultPrivateSystemProfileName() {
|
||||
String name = RSECorePlugin.getLocalMachineName();
|
||||
|
@ -390,9 +397,10 @@ public class RSEPreferencesManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* Make a single string out of an array of strings. A semi-colon is
|
||||
* used as a delimiter between the separate values. No value in the
|
||||
* array can contain a semi-colon.
|
||||
* Make a single string out of an array of strings. A semicolon is used as a
|
||||
* delimiter between the separate values. No value in the array can contain
|
||||
* a semicolon.
|
||||
*
|
||||
* @param values the array of strings to condense into a single one
|
||||
* @return the condensed string
|
||||
*/
|
||||
|
@ -410,7 +418,7 @@ public class RSEPreferencesManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* Parse out list of multiple values into a string array per value.
|
||||
* Parse out list of multiple values into a string array per value.
|
||||
* This is the inverse of the {@link #makeString(String[])} operation.
|
||||
* @param allvalues the string holding the condensed value
|
||||
* @return the reconstituted array of strings.
|
||||
|
@ -422,10 +430,11 @@ public class RSEPreferencesManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* Parse out list of key-value pairs into a hashtable. This is the inverse of the
|
||||
* {@link SystemPreferencesManager#makeString(Hashtable)} operation.
|
||||
* @param allValues the string containing the key-value pairs. If empty or null returns
|
||||
* and empty Hashtable.
|
||||
* Parse out list of key-value pairs into a Hashtable. This is the inverse
|
||||
* of the {@link SystemPreferencesManager#makeString(Hashtable)} operation.
|
||||
*
|
||||
* @param allValues the string containing the key-value pairs. If empty or
|
||||
* null returns and empty Hashtable.
|
||||
* @return the reconstituted Hashtable
|
||||
*/
|
||||
private static Hashtable parseString(String allValues) {
|
||||
|
@ -447,9 +456,14 @@ public class RSEPreferencesManager {
|
|||
}
|
||||
return keyValues;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return the boolean value indicating whether or not to create a local connection on a fresh workspace.
|
||||
* Get the Preference setting whether the local connection should be created
|
||||
* by default or not.
|
||||
*
|
||||
* @return the boolean value indicating whether or not to create a local
|
||||
* connection on a fresh workspace.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static boolean getCreateLocalConnection() {
|
||||
Preferences prefs = RSECorePlugin.getDefault().getPluginPreferences();
|
||||
|
@ -458,7 +472,7 @@ public class RSEPreferencesManager {
|
|||
}
|
||||
|
||||
/*
|
||||
* Having this method private disables instance creation.
|
||||
* Having this method private disables instance creation.
|
||||
*/
|
||||
private RSEPreferencesManager() {
|
||||
}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* David Dykstal (IBM) - [186589] Move User Actions events to the user actions plugin
|
||||
* David Dykstal (IBM) - [186589] Move User Actions events to the user actions plugin
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.events;
|
||||
|
@ -21,13 +22,15 @@ package org.eclipse.rse.core.events;
|
|||
* The event IDs sent when local resources in the RSE model change.
|
||||
* You should monitor for these events in your view if you display any of the resource types listed here.
|
||||
* <p>
|
||||
* To monitor, implement interface {@link org.eclipse.rse.core.events.ISystemModelChangeListener} and
|
||||
* To monitor, implement interface {@link org.eclipse.rse.core.events.ISystemModelChangeListener} and
|
||||
* call {@link org.eclipse.rse.core.model.ISystemRegistry#addSystemModelChangeListener(ISystemModelChangeListener)}
|
||||
* and in your dispose method, call {@link org.eclipse.rse.core.model.ISystemRegistry#removeSystemModelChangeListener(ISystemModelChangeListener)}.
|
||||
* <p>
|
||||
* If you are interesting in firing model change events, see
|
||||
* If you are interesting in firing model change events, see
|
||||
* {@link org.eclipse.rse.core.model.ISystemRegistry#fireModelChangeEvent(int, int, Object, String)}.
|
||||
* These events will typically be signalled in an implementation of ISystemRegistry.
|
||||
* These events will typically be signaled in an implementation of ISystemRegistry.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ISystemModelChangeEvents {
|
||||
|
||||
|
@ -82,21 +85,21 @@ public interface ISystemModelChangeEvents {
|
|||
*/
|
||||
public static final int SYSTEM_RESOURCETYPE_FILTERPOOLREF = 16;
|
||||
/**
|
||||
* Resource Type: filter
|
||||
* Resource Type: filter
|
||||
*/
|
||||
public static final int SYSTEM_RESOURCETYPE_FILTER = 32;
|
||||
// /**
|
||||
// * Resource Type: user action
|
||||
// */
|
||||
// public static final int SYSTEM_RESOURCETYPE_USERACTION = 128;
|
||||
// /**
|
||||
// * Resource Type: named type, which are used in user actions
|
||||
// */
|
||||
// public static final int SYSTEM_RESOURCETYPE_NAMEDTYPE = 256;
|
||||
// /**
|
||||
// * Resource Type: compile command
|
||||
// */
|
||||
// public static final int SYSTEM_RESOURCETYPE_COMPILECMD = 512;
|
||||
// /**
|
||||
// * Resource Type: user action
|
||||
// */
|
||||
// public static final int SYSTEM_RESOURCETYPE_USERACTION = 128;
|
||||
// /**
|
||||
// * Resource Type: named type, which are used in user actions
|
||||
// */
|
||||
// public static final int SYSTEM_RESOURCETYPE_NAMEDTYPE = 256;
|
||||
// /**
|
||||
// * Resource Type: compile command
|
||||
// */
|
||||
// public static final int SYSTEM_RESOURCETYPE_COMPILECMD = 512;
|
||||
/**
|
||||
* Resource Type: ALL. Used with SYSTEM_RESOURCE_ALL_RELOADED
|
||||
*/
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.events;
|
||||
|
||||
/**
|
||||
* Interface of event ID constants for preferences changed
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ISystemPreferenceChangeEvents {
|
||||
/**
|
||||
|
|
|
@ -1,122 +1,140 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* David McKnight (IBM) - [207100] Events for after a resource is downloaded and uploaded
|
||||
* David McKnight (IBM) - [207100] Events for after a resource is downloaded and uploaded
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.events;
|
||||
|
||||
/**
|
||||
* The event IDs sent when remote resources in the model change
|
||||
* These IDs are used when creating ISystemRemoteChangeEvent objects.
|
||||
* The event IDs sent when remote resources in the model change These IDs are
|
||||
* used when creating ISystemRemoteChangeEvent objects.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ISystemRemoteChangeEvents
|
||||
public interface ISystemRemoteChangeEvents
|
||||
{
|
||||
/**
|
||||
* Event Type: a remote resource was added
|
||||
*
|
||||
* The event stores the following event parameters:
|
||||
* <ul>
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
|
||||
* or a List of absolute names each of which would be given by calling getAbsoluteName on it's remote adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute name, if that is known. If it is non-null, this will aid in refreshing occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* limited to subsystems of the same parent factory, and to connections with the same hostname as the subsystem's connection.
|
||||
* <li>oldName - on a rename operation, this is the absolute name of the resource prior to the rename
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* This saves sending a separate event to reveal and select the new created resource on a create event, for example.
|
||||
* </ul>
|
||||
*/
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_CREATED = 1;
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_CREATED = 1;
|
||||
|
||||
/**
|
||||
* Event Type: a remote resource was removed
|
||||
*
|
||||
* The event stores the following event parameters:
|
||||
* <ul>
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
|
||||
* or a List of absolute names each of which would be given by calling getAbsoluteName on it's remote adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute name, if that is known. If it is non-null, this will aid in refreshing occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* limited to subsystems of the same parent factory, and to connections with the same hostname as the subsystem's connection.
|
||||
* <li>oldName - on a rename operation, this is the absolute name of the resource prior to the rename
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* This saves sending a separate event to reveal and select the new created resource on a create event, for example.
|
||||
* </ul>
|
||||
*/
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_DELETED = 2;
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_DELETED = 2;
|
||||
|
||||
/**
|
||||
* Event Type: a remote resource was changed
|
||||
*
|
||||
* The event stores the following event parameters:
|
||||
* <ul>
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
|
||||
* or a List of absolute names each of which would be given by calling getAbsoluteName on it's remote adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute name, if that is known. If it is non-null, this will aid in refreshing occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* limited to subsystems of the same parent factory, and to connections with the same hostname as the subsystem's connection.
|
||||
* <li>oldName - on a rename operation, this is the absolute name of the resource prior to the rename
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* This saves sending a separate event to reveal and select the new created resource on a create event, for example.
|
||||
* </ul>
|
||||
*/
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_CHANGED = 4;
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_CHANGED = 4;
|
||||
|
||||
/**
|
||||
* Event Type: a remote resource was renamed
|
||||
*
|
||||
* The event stores the following event parameters:
|
||||
* <ul>
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
|
||||
* or a List of absolute names each of which would be given by calling getAbsoluteName on it's remote adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute name, if that is known. If it is non-null, this will aid in refreshing occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* limited to subsystems of the same parent factory, and to connections with the same hostname as the subsystem's connection.
|
||||
* <li>oldName - on a rename operation, this is the absolute name of the resource prior to the rename
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* <li>originatingViewer - optional. If set, this gives the viewer a clue that it should select the affected resource after refreshing its parent.
|
||||
* This saves sending a separate event to reveal and select the new created resource on a create event, for example.
|
||||
* </ul>
|
||||
*/
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_RENAMED = 8;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Event Type: a remote resource was uploaded
|
||||
*
|
||||
* The event stores the following event parameters:
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute name, if that is known. If it is non-null, this will aid in refreshing occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* limited to subsystems of the same parent factory, and to connections with the same hostname as the subsystem's connection.
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the
|
||||
* resource as would be given by calling getAbsoluteName on its remote
|
||||
* adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute
|
||||
* name, if that is known. If it is non-null, this will aid in refreshing
|
||||
* occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This
|
||||
* allows the search for impacts to be limited to subsystems of the same
|
||||
* parent factory, and to connections with the same hostname as the
|
||||
* subsystem's connection.
|
||||
* </ul>
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_UPLOADED = 20;
|
||||
|
||||
|
||||
/**
|
||||
* Event Type: a remote resource was downloaded
|
||||
*
|
||||
* The event stores the following event parameters:
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute name, if that is known. If it is non-null, this will aid in refreshing occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This allows the search for impacts to be
|
||||
* limited to subsystems of the same parent factory, and to connections with the same hostname as the subsystem's connection.
|
||||
* <ul>
|
||||
* <li>resource - the remote resource object, or absolute name of the
|
||||
* resource as would be given by calling getAbsoluteName on its remote
|
||||
* adapter
|
||||
* <li>resourceParent - the remote resource's parent object, or absolute
|
||||
* name, if that is known. If it is non-null, this will aid in refreshing
|
||||
* occurrences of that parent.
|
||||
* <li>subsystem - the subsystem which contains this remote resource. This
|
||||
* allows the search for impacts to be limited to subsystems of the same
|
||||
* parent factory, and to connections with the same hostname as the
|
||||
* subsystem's connection.
|
||||
* </ul>
|
||||
*
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public static final int SYSTEM_REMOTE_RESOURCE_DOWNLOADED = 24;
|
||||
|
||||
|
||||
}
|
|
@ -1,25 +1,28 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.events;
|
||||
|
||||
import org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier;
|
||||
|
||||
|
||||
/**
|
||||
* Interface of event ID constants
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ISystemResourceChangeEvents
|
||||
{
|
||||
|
@ -27,26 +30,26 @@ public interface ISystemResourceChangeEvents
|
|||
* The event is specifically a filter reference add (filter added)
|
||||
* An ISystemFilter is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_ADD_FILTER_REFERENCE = 10;
|
||||
public static final int EVENT_ADD_FILTER_REFERENCE = 10;
|
||||
/**
|
||||
* The event is specifically a filter reference rename (filter renamed)
|
||||
* An ISystemFilter is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_RENAME_FILTER_REFERENCE = 15;
|
||||
public static final int EVENT_RENAME_FILTER_REFERENCE = 15;
|
||||
/**
|
||||
* The event is specifically a filter reference delete (filter deleted)
|
||||
* An ISystemFilter is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_DELETE_FILTER_REFERENCE = 20;
|
||||
public static final int EVENT_DELETE_FILTER_REFERENCE = 20;
|
||||
/**
|
||||
* The event is specifically a filter reference change (filter strings changes)
|
||||
* An ISystemFilter is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_CHANGE_FILTER_REFERENCE = 25;
|
||||
|
||||
|
||||
/**
|
||||
* The event is specifically a filter reference move (filters reordered)
|
||||
* An array of ISystemFilter[] is the expected multi-source
|
||||
* An array of ISystemFilter[] is the expected multi-source
|
||||
* parameter. The source is the first item in that array.
|
||||
*/
|
||||
public static final int EVENT_MOVE_FILTER_REFERENCES = 30;
|
||||
|
@ -55,23 +58,23 @@ public interface ISystemResourceChangeEvents
|
|||
* The event is specifically a filter string reference add (filterstring added)
|
||||
* An ISystemFilterString is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_ADD_FILTERSTRING_REFERENCE = 41;
|
||||
|
||||
public static final int EVENT_ADD_FILTERSTRING_REFERENCE = 41;
|
||||
|
||||
/**
|
||||
* The event is specifically a filter string reference delete (filterstring deleted)
|
||||
* An ISystemFilterString is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_DELETE_FILTERSTRING_REFERENCE = 42;
|
||||
|
||||
public static final int EVENT_DELETE_FILTERSTRING_REFERENCE = 42;
|
||||
|
||||
/**
|
||||
* The event is specifically a filter string reference change (filterstring changed)
|
||||
* An ISystemFilterString is expected as a parameter of this event
|
||||
*/
|
||||
public static final int EVENT_CHANGE_FILTERSTRING_REFERENCE = 43;
|
||||
|
||||
|
||||
/**
|
||||
* The event is specifically a filter string reference move (filterstrings reordered)
|
||||
* An array of ISystemFilterString[] is the expected multi-source
|
||||
* An array of ISystemFilterString[] is the expected multi-source
|
||||
* parameter. The source is the first item in that array.
|
||||
*/
|
||||
public static final int EVENT_MOVE_FILTERSTRING_REFERENCES = 44;
|
||||
|
@ -81,12 +84,12 @@ public interface ISystemResourceChangeEvents
|
|||
* Any RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_ADD = 50;
|
||||
|
||||
|
||||
/**
|
||||
* The event is a multi-resource add.
|
||||
* An array of RSE objects (i.e. Object[]) is the multi-source
|
||||
* parameter (the source is the first item in that array) and a parent
|
||||
* RSE object is expected.
|
||||
* An array of RSE objects (i.e. Object[]) is the multi-source
|
||||
* parameter (the source is the first item in that array) and a parent
|
||||
* RSE object is expected.
|
||||
*/
|
||||
public static final int EVENT_ADD_MANY = 51;
|
||||
|
||||
|
@ -102,35 +105,35 @@ public interface ISystemResourceChangeEvents
|
|||
* The expected parameters are an RSE object and the selected object
|
||||
*/
|
||||
public static final int EVENT_REVEAL_AND_SELECT = 52;
|
||||
|
||||
|
||||
/**
|
||||
* The event is a single resource deletion.
|
||||
* An RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_DELETE = 55;
|
||||
public static final int EVENT_DELETE = 55;
|
||||
|
||||
/**
|
||||
* The event is a multiple resource deletion.
|
||||
* An array of RSE objects (i.e. Object[]) is the expected multi-source
|
||||
* The event is a multiple resource deletion.
|
||||
* An array of RSE objects (i.e. Object[]) is the expected multi-source
|
||||
* parameter. The source is the first item in that array.
|
||||
*/
|
||||
public static final int EVENT_DELETE_MANY = 60;
|
||||
public static final int EVENT_DELETE_MANY = 60;
|
||||
|
||||
/**
|
||||
* The event is a resource rename.
|
||||
* An RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_RENAME = 65;
|
||||
public static final int EVENT_RENAME = 65;
|
||||
|
||||
/**
|
||||
* The event is a multiple resource move within the same children set
|
||||
* An array of RSE objects (i.e. Object[]) is the multi-source
|
||||
* parameter (the source is the first item in that array) and a parent
|
||||
* RSE object is expected.
|
||||
* An array of RSE objects (i.e. Object[]) is the multi-source
|
||||
* parameter (the source is the first item in that array) and a parent
|
||||
* RSE object is expected.
|
||||
*/
|
||||
public static final int EVENT_MOVE_MANY = 75;
|
||||
|
||||
/**
|
||||
/**
|
||||
* The event is an icon change event
|
||||
* A source RSE object and it's parent RSE object are the expected parameters
|
||||
*/
|
||||
|
@ -149,7 +152,7 @@ public interface ISystemResourceChangeEvents
|
|||
|
||||
/**
|
||||
* Refresh the items currently selected in the SystemView.
|
||||
*
|
||||
*
|
||||
* All expanded sub-nodes are re-queried for their children, unexpanded nodes
|
||||
* lose their children cache. After refreshing, selection of the currently selected
|
||||
* elements is restored if possible (in case an absoluteName is available).
|
||||
|
@ -177,7 +180,7 @@ public interface ISystemResourceChangeEvents
|
|||
public static final int EVENT_REFRESH_SELECTED_PARENT = 84;
|
||||
|
||||
/**
|
||||
* Refresh the filter under which the first item currently selected in the
|
||||
* Refresh the filter under which the first item currently selected in the
|
||||
* SystemView is found.
|
||||
*
|
||||
* From the filter level, all expanded sub-nodes are re-queried
|
||||
|
@ -192,21 +195,21 @@ public interface ISystemResourceChangeEvents
|
|||
public static final int EVENT_REFRESH_SELECTED_FILTER = 135;
|
||||
|
||||
/**
|
||||
* Refresh a remote object in the SystemView, given either the remote
|
||||
* Refresh a remote object in the SystemView, given either the remote
|
||||
* object or a string that will match on getAbsoluteName, and optionally
|
||||
* (re)select a list of objects after refreshing.
|
||||
*
|
||||
* An object is considered remote if it has an adapter that implements
|
||||
* {@link ISystemViewElementAdapter} where the adapter returns true for
|
||||
* the isRemote(Object) call. This method refreshes all occurrences of
|
||||
* the remote object, even under multiple filters. The tricky part about
|
||||
* remote objects is their actual memory object changes on each refresh,
|
||||
* so to find one in the tree we must use something more permanent: hence
|
||||
* the use of getAbsoluteName to find it.
|
||||
* {@link ISystemViewElementAdapter} where the adapter returns true for
|
||||
* the isRemote(Object) call. This method refreshes all occurrences of
|
||||
* the remote object, even under multiple filters. The tricky part about
|
||||
* remote objects is their actual memory object changes on each refresh,
|
||||
* so to find one in the tree we must use something more permanent: hence
|
||||
* the use of getAbsoluteName to find it.
|
||||
* <p>
|
||||
* You can optionally pass a child remote object, or string, or Vector of
|
||||
* objects or strings, in the "parent" parameter of the event, and it/they
|
||||
* will be selected after the refresh. When passing a string, it must be
|
||||
* will be selected after the refresh. When passing a string, it must be
|
||||
* the result of {@link IRemoteObjectIdentifier#getAbsoluteName(Object)}
|
||||
* on the adapter.
|
||||
*
|
||||
|
@ -219,7 +222,7 @@ public interface ISystemResourceChangeEvents
|
|||
* A source RSE object and it's parent RSE object are the expected parameters
|
||||
*/
|
||||
public static final int EVENT_PROPERTY_CHANGE = 86;
|
||||
|
||||
|
||||
/**
|
||||
* The event is a request to update the property sheet of whatever is currently selected.
|
||||
* A source RSE object and it's parent RSE object are the expected parameters
|
||||
|
@ -232,31 +235,31 @@ public interface ISystemResourceChangeEvents
|
|||
* be collapsed)
|
||||
* A source RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_MUST_COLLAPSE = 90;
|
||||
|
||||
public static final int EVENT_MUST_COLLAPSE = 90;
|
||||
|
||||
/**
|
||||
* The event is a full collapse of the RSE tree
|
||||
* Pass "false" for the src value to prevent the memory flush, else
|
||||
* pass any dummy value for the src to prevent crash, but it is ignored
|
||||
*/
|
||||
public static final int EVENT_COLLAPSE_ALL = 91;
|
||||
|
||||
public static final int EVENT_COLLAPSE_ALL = 91;
|
||||
|
||||
/**
|
||||
* The event is a collapse of the selected elements in the tree
|
||||
* Pass any dummy value for the src to prevent crash, but it is ignored
|
||||
*/
|
||||
public static final int EVENT_COLLAPSE_SELECTED = 92;
|
||||
|
||||
|
||||
/**
|
||||
* The event is an expand of the selected elements in the tree
|
||||
* Pass any dummy value for the src to prevent crash, but it is ignored
|
||||
*/
|
||||
public static final int EVENT_EXPAND_SELECTED = 93;
|
||||
|
||||
|
||||
/**
|
||||
* The event is a generic notification that the children have changed
|
||||
* and must be refreshed.
|
||||
* A source RSE object and (optionally) it's parent RSE object are the
|
||||
* A source RSE object and (optionally) it's parent RSE object are the
|
||||
* expected parameters
|
||||
*/
|
||||
public static final int EVENT_CHANGE_CHILDREN = 95;
|
||||
|
@ -274,7 +277,7 @@ public interface ISystemResourceChangeEvents
|
|||
* objects or strings. When passing a string, it must be the result of
|
||||
* {@link IRemoteObjectIdentifier#getAbsoluteName(Object)}
|
||||
* on the adapter of the object.
|
||||
* The "parent" parameter can optionally hold a model object that is
|
||||
* The "parent" parameter can optionally hold a model object that is
|
||||
* the parent of the objects to be refreshed, in order to optimize searches.
|
||||
*/
|
||||
public static final int EVENT_SELECT_REMOTE = 101;
|
||||
|
@ -290,7 +293,7 @@ public interface ISystemResourceChangeEvents
|
|||
* A source RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_COMMAND_RUN = 110;
|
||||
|
||||
|
||||
/**
|
||||
* The event is to log a message from a command that has been run
|
||||
* A source RSE object and it's parent RSE object are the expected parameters
|
||||
|
@ -298,14 +301,14 @@ public interface ISystemResourceChangeEvents
|
|||
public static final int EVENT_COMMAND_MESSAGE = 115;
|
||||
|
||||
/**
|
||||
* The event is to replace the children (similar to EVENT_ADD_MANY), it will
|
||||
* The event is to replace the children (similar to EVENT_ADD_MANY), it will
|
||||
* expand also
|
||||
* An array of RSE objects (i.e. Object[]) is the multi-source
|
||||
* parameter (the source is the first item in that array) and a parent
|
||||
* RSE object is expected.
|
||||
* An array of RSE objects (i.e. Object[]) is the multi-source
|
||||
* parameter (the source is the first item in that array) and a parent
|
||||
* RSE object is expected.
|
||||
*/
|
||||
public static final int EVENT_REPLACE_CHILDREN = 120;
|
||||
|
||||
|
||||
/**
|
||||
* The event is to log a command that has been run
|
||||
* @deprecated
|
||||
|
@ -325,28 +328,28 @@ public interface ISystemResourceChangeEvents
|
|||
* @deprecated use EVENT_COMMAND_SHELL_FINISHED
|
||||
*/
|
||||
public static final int EVENT_COMMAND_FINISHED = 140;
|
||||
|
||||
|
||||
/**
|
||||
* The event is to update the remote shell view when a command is finished
|
||||
* A source RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_COMMAND_SHELL_FINISHED = 140;
|
||||
|
||||
|
||||
/**
|
||||
* The event is to indicate that a shell has been removed
|
||||
* A source RSE object is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_COMMAND_SHELL_REMOVED = 141;
|
||||
|
||||
|
||||
/**
|
||||
* The event is to update the search view when a search is finished
|
||||
* A IHostSearchResultConfiguration is the expected parameter
|
||||
*/
|
||||
public static final int EVENT_SEARCH_FINISHED = 150;
|
||||
|
||||
/**
|
||||
* Predefined event object for a property sheet update.
|
||||
*/
|
||||
public static final ISystemResourceChangeEvent PROPERTYSHEET_UPDATE_EVENT =
|
||||
new SystemResourceChangeEvent("dummy",EVENT_PROPERTYSHEET_UPDATE,null); //$NON-NLS-1$
|
||||
/**
|
||||
* Predefined event object for a property sheet update.
|
||||
*/
|
||||
public static final ISystemResourceChangeEvent PROPERTYSHEET_UPDATE_EVENT =
|
||||
new SystemResourceChangeEvent("dummy",EVENT_PROPERTYSHEET_UPDATE,null); //$NON-NLS-1$
|
||||
}
|
|
@ -7,12 +7,13 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - cleanup format and javadoc
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.filters;
|
||||
|
@ -23,8 +24,8 @@ import org.eclipse.rse.core.references.IRSEReferencedObject;
|
|||
/**
|
||||
* A filter consists of filter strings and may be contained in a filter pool.
|
||||
* Filter pools are referenced by subsystems.
|
||||
* Subsystems are responsible for interpreting the filters. Filters, in and
|
||||
* of themselves, provide no interpretation of themselves when applied
|
||||
* Subsystems are responsible for interpreting the filters. Filters, in and
|
||||
* of themselves, provide no interpretation of themselves when applied
|
||||
* to the resources managed by a subsystem.
|
||||
*/
|
||||
|
||||
|
@ -33,7 +34,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Returns the value of the '<em><b>Name</b></em>' attribute.
|
||||
* <p>
|
||||
* This is the name of the filter. It may be present in the user interface and is also
|
||||
* This is the name of the filter. It may be present in the user interface and is also
|
||||
* used to refer to the filter when it is persisted.
|
||||
* </p>
|
||||
* @return the value of the '<em>Name</em>' attribute.
|
||||
|
@ -43,7 +44,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
|
||||
/**
|
||||
* Sets the value of the '{@link org.eclipse.rse.core.filters.ISystemFilter#getName <em>Name</em>}' attribute.
|
||||
* This is the name of the filter. It may be present in the user interface and is also
|
||||
* This is the name of the filter. It may be present in the user interface and is also
|
||||
* used to refer to the filter when it is persisted.
|
||||
* @param value the new value of the '<em>Name</em>' attribute.
|
||||
* @see #getName()
|
||||
|
@ -53,7 +54,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Returns the value of the '<em><b>Type</b></em>' attribute.
|
||||
* <p>
|
||||
* Filters may be further typed for use by subsystems. The type is also uninterpreted by the
|
||||
* Filters may be further typed for use by subsystems. The type is also uninterpreted by the
|
||||
* filter. The type may be used to select a parser/interpreter for the filter strings.
|
||||
* </p>
|
||||
* @return the value of the '<em>Type</em>' attribute.
|
||||
|
@ -63,7 +64,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
|
||||
/**
|
||||
* Sets the value of the '{@link org.eclipse.rse.core.filters.ISystemFilter#getType <em>Type</em>}' attribute.
|
||||
* Filters may be further typed for use by subsystems. The type is also uninterpreted by the
|
||||
* Filters may be further typed for use by subsystems. The type is also uninterpreted by the
|
||||
* filter. The type may be used to select a parser/interpreter for the filter strings.
|
||||
* @param value the new value of the '<em>Type</em>' attribute.
|
||||
* @see #getType()
|
||||
|
@ -74,7 +75,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
* Returns the value of the '<em><b>Supports Nested Filters</b></em>' attribute.
|
||||
* <p>
|
||||
* Specifies whether filters may be nested or not. If nested the intent is to apply this filter
|
||||
* to the results of the parent filter - further restricting the resources selected by the
|
||||
* to the results of the parent filter - further restricting the resources selected by the
|
||||
* parent filter. However, it is up to the subsystem to interpret exactly what "nesting" means.
|
||||
* </p>
|
||||
* @return the value of the '<em>Supports Nested Filters</em>' attribute.
|
||||
|
@ -86,7 +87,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
* Sets the value of the '{@link org.eclipse.rse.core.filters.ISystemFilter#isSupportsNestedFilters <em>Supports Nested Filters</em>}' attribute.
|
||||
* <p>
|
||||
* Specifies whether filters may be nested or not. If nested the intent is to apply this filter
|
||||
* to the results of the parent filter - further restricting the resources selected by the
|
||||
* to the results of the parent filter - further restricting the resources selected by the
|
||||
* parent filter. However, it is up to the subsystem to interpret exactly what "nesting" means.
|
||||
* </p>
|
||||
* @param value the new value of the '<em>Supports Nested Filters</em>' attribute.
|
||||
|
@ -220,10 +221,10 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Returns the value of the '<em><b>Promptable</b></em>' attribute.
|
||||
* <p>
|
||||
* An attribute that may be used by the subystems when interpreting the filter.
|
||||
* An attribute that may be used by the subystems when interpreting the filter.
|
||||
* Typically used to indicate whether or not some sort of prompting is to occur when the
|
||||
* filter is used. Typically used when applying a filter in the UI to indicate
|
||||
* the start of a wizard or dialog. It may also have an effect on whether
|
||||
* the start of a wizard or dialog. It may also have an effect on whether
|
||||
* the state of the filter is saved when the workbench is shut down.
|
||||
* </p>
|
||||
* @return the value of the '<em>Promptable</em>' attribute.
|
||||
|
@ -234,10 +235,10 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Sets the value of the '{@link org.eclipse.rse.core.filters.ISystemFilter#isPromptable <em>Promptable</em>}' attribute.
|
||||
* <p>
|
||||
* An attribute that may be used by the subystems when interpreting the filter.
|
||||
* An attribute that may be used by the subystems when interpreting the filter.
|
||||
* Typically used to indicate whether or not some sort of prompting is to occur when the
|
||||
* filter is used. Typically used when applying a filter in the UI to indicate
|
||||
* the start of a wizard or dialog. It may also have an effect on whether
|
||||
* the start of a wizard or dialog. It may also have an effect on whether
|
||||
* the state of the filter is saved when the workbench is shut down.
|
||||
* </p>
|
||||
* @param value the new value of the '<em>Promptable</em>' attribute.
|
||||
|
@ -366,7 +367,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Returns the value of the '<em><b>Release</b></em>' attribute.
|
||||
* <p>
|
||||
* This is an attribute specifying the release level of the
|
||||
* This is an attribute specifying the release level of the
|
||||
* filter. This will be persisted in the filter definition and
|
||||
* can be used to migrate the internal form of the filter.
|
||||
* </p>
|
||||
|
@ -378,7 +379,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Sets the value of the '{@link org.eclipse.rse.core.filters.ISystemFilter#getRelease <em>Release</em>}' attribute.
|
||||
* <p>
|
||||
* This is an attribute specifying the release level of the
|
||||
* This is an attribute specifying the release level of the
|
||||
* filter. This will be persisted in the filter definition and
|
||||
* can be used to migrate the internal form of the filter.
|
||||
* </p>
|
||||
|
@ -390,8 +391,8 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Returns the value of the '<em><b>Single Filter String Only</b></em>' attribute.
|
||||
* <p>
|
||||
* This attribute specifies that the filter may contain only a single
|
||||
* filter string. Used by a filter manager to ensure that the
|
||||
* This attribute specifies that the filter may contain only a single
|
||||
* filter string. Used by a filter manager to ensure that the
|
||||
* filter contains only one string. May, alternatively, be enforced
|
||||
* by the filter implementation.
|
||||
* </p><p>
|
||||
|
@ -408,12 +409,12 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
/**
|
||||
* Sets the value of the '{@link org.eclipse.rse.core.filters.ISystemFilter#isSingleFilterStringOnly <em>Single Filter String Only</em>}' attribute.
|
||||
* <p>
|
||||
* This attribute specifies that the filter may contain only a single
|
||||
* filter string. Used by a filter manager to ensure that the
|
||||
* This attribute specifies that the filter may contain only a single
|
||||
* filter string. Used by a filter manager to ensure that the
|
||||
* filter contains only one string. May, alternatively, be enforced
|
||||
* by the filter implementation.
|
||||
* </p><p>
|
||||
* This causes the attribute to be set for this filter, ignoring the value
|
||||
* This causes the attribute to be set for this filter, ignoring the value
|
||||
* specified for the parent filter pool.
|
||||
* </p>
|
||||
* @param value the new value of the '<em>Single Filter String Only</em>' attribute.
|
||||
|
@ -443,14 +444,17 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
public boolean isSetSingleFilterStringOnly();
|
||||
|
||||
/**
|
||||
* Returns the value of the '<em><b>Nested Filters</b></em>' containment reference list.
|
||||
* The list contents are of type {@link org.eclipse.rse.core.filters.ISystemFilter}.
|
||||
* It is bidirectional and its opposite is '{@link org.eclipse.rse.core.filters.ISystemFilter#getParentFilter <em>Parent Filter</em>}'.
|
||||
* Returns the value of the '<em><b>Nested Filters</b></em>'
|
||||
* containment reference list. It is bidirectional and its opposite is '{@link org.eclipse.rse.core.filters.ISystemFilter#getParentFilter <em>Parent Filter</em>}'.
|
||||
* <p>
|
||||
* If this filter can contain child filters this will return the list of children.
|
||||
* If this filter can contain child filters this will return the list of
|
||||
* children.
|
||||
* </p>
|
||||
* @return the value of the '<em>Nested Filters</em>' containment reference list.
|
||||
*
|
||||
* @return the value of the '<em>Nested Filters</em>' containment
|
||||
* reference list.
|
||||
* @see org.eclipse.rse.core.filters.ISystemFilter#getParentFilter
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter[] getNestedFilters();
|
||||
|
||||
|
@ -458,7 +462,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
* Returns the value of the '<em><b>Parent Filter</b></em>' container reference.
|
||||
* It is bidirectional and its opposite is '{@link org.eclipse.rse.core.filters.ISystemFilter#getNestedFilters <em>Nested Filters</em>}'.
|
||||
* <p>
|
||||
* If this filter can be nested inside another this will return the parent filter. Will be
|
||||
* If this filter can be nested inside another this will return the parent filter. Will be
|
||||
* null if there is no parent.
|
||||
* </p>
|
||||
* @return the value of the '<em>Parent Filter</em>' container reference.
|
||||
|
@ -476,9 +480,12 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
public void setParentFilter(ISystemFilter value);
|
||||
|
||||
/**
|
||||
* Returns the value of the '<em><b>Strings</b></em>' containment reference list.
|
||||
* The list contents are of type {@link org.eclipse.rse.core.filters.ISystemFilterString}.
|
||||
* @return the value of the '<em>Strings</em>' containment reference list.
|
||||
* Returns the value of the '<em><b>Strings</b></em>' containment
|
||||
* reference list.
|
||||
*
|
||||
* @return the value of the '<em>Strings</em>' containment reference
|
||||
* list.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilterString[] getStrings();
|
||||
|
||||
|
@ -583,7 +590,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
* in this manager or another manager. Will do nothing if the filter string is not
|
||||
* originally contained in this filter.
|
||||
* @param targetFilter the filter to which to copy the filter string
|
||||
* @param oldFilterString the filter string to copy
|
||||
* @param oldFilterString the filter string to copy
|
||||
*/
|
||||
public ISystemFilterString copySystemFilterString(ISystemFilter targetFilter, ISystemFilterString oldFilterString);
|
||||
|
||||
|
@ -593,7 +600,7 @@ public interface ISystemFilter extends IRSEReferencedObject, ISystemFilterContai
|
|||
public boolean isNested();
|
||||
|
||||
/**
|
||||
* @return true if this a transient or simple filter that is not intended to be
|
||||
* @return true if this a transient or simple filter that is not intended to be
|
||||
* saved or part of the filter framework. It will have no manager or provider.
|
||||
*/
|
||||
public boolean isTransient();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2002, 2007 IBM Corporation and others.
|
||||
* 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
|
||||
|
@ -7,12 +7,12 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
package org.eclipse.rse.core.filters;
|
||||
|
||||
|
@ -29,18 +29,23 @@ public interface ISystemFilterContainer extends IRSEPersistableContainer {
|
|||
public ISystemFilterPoolManager getSystemFilterPoolManager();
|
||||
|
||||
/**
|
||||
* @return The value of the StringsCaseSensitive attribute
|
||||
* Are filters in this filter container case sensitive?
|
||||
* If not set locally, queries the parent filter pool manager's atttribute.
|
||||
* @return The value of the StringsCaseSensitive attribute Are filters in
|
||||
* this filter container case sensitive? If not set locally, queries
|
||||
* the parent filter pool manager's attribute.
|
||||
*/
|
||||
public boolean areStringsCaseSensitive();
|
||||
|
||||
/**
|
||||
* Adds a new system filter to this container (SystemFilterPool or SystemFilter) and
|
||||
* populates it with the filter strings created from the strings provided.
|
||||
* Does nothing if this filter already exists in this container.
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* Adds a new system filter to this container (SystemFilterPool or
|
||||
* SystemFilter) and populates it with the filter strings created from the
|
||||
* strings provided. Does nothing if this filter already exists in this
|
||||
* container.
|
||||
*
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(String aliasName, String[] filterStrings);
|
||||
|
||||
|
@ -52,8 +57,11 @@ public interface ISystemFilterContainer extends IRSEPersistableContainer {
|
|||
public boolean addSystemFilter(ISystemFilter filter);
|
||||
|
||||
/**
|
||||
* @return Vector of String objects: the names of existing filters in this container.
|
||||
* Typically used by name validators for New and Rename actions to verify new name is unique.
|
||||
* Get the names of existing filters in this container. Typically used by
|
||||
* name validators for New and Rename actions to verify new name is unique.
|
||||
*
|
||||
* @return String array of the names of existing filters in this container.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public String[] getSystemFilterNames();
|
||||
|
||||
|
@ -80,14 +88,14 @@ public interface ISystemFilterContainer extends IRSEPersistableContainer {
|
|||
public int getSystemFilterCount();
|
||||
|
||||
/**
|
||||
* Removes a given filter from the list. Will do nothing if the specified filter
|
||||
* Removes a given filter from the list. Will do nothing if the specified filter
|
||||
* is not in this filter container.
|
||||
* @param filter SystemFilter object to remove
|
||||
*/
|
||||
public void deleteSystemFilter(ISystemFilter filter);
|
||||
|
||||
/**
|
||||
* Renames a given filter in the list. The new name is assumed to be valid.
|
||||
* Renames a given filter in the list. The new name is assumed to be valid.
|
||||
* Will perform the rename whether or not the filter is contained in this
|
||||
* container.
|
||||
* @param filter SystemFilter object to rename
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - cleanup - format and javadoc
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.filters;
|
||||
|
@ -59,7 +60,7 @@ public interface ISystemFilterPool extends IRSEPersistableReferencedObject, ISys
|
|||
public ISystemFilterPoolManager getSystemFilterPoolManager();
|
||||
|
||||
/**
|
||||
* Set a data object to be associated with this filter pool. This data is uninterpreted by this
|
||||
* Set a data object to be associated with this filter pool. This data is uninterpreted by this
|
||||
* filter pool.
|
||||
* @param data the data object
|
||||
*/
|
||||
|
@ -101,7 +102,7 @@ public interface ISystemFilterPool extends IRSEPersistableReferencedObject, ISys
|
|||
/**
|
||||
* Order filters according to the names in the list. Typically used to enforce
|
||||
* a particular ordering in the filter list. If a name appears in this list and
|
||||
* does not name a filter it is ignored. If there are filters in this pool that
|
||||
* does not name a filter it is ignored. If there are filters in this pool that
|
||||
* are not named in this list their order in the pool is undefined.
|
||||
* @param names the names of the filters in this pool in the order they should be returned.
|
||||
*/
|
||||
|
@ -168,7 +169,7 @@ public interface ISystemFilterPool extends IRSEPersistableReferencedObject, ISys
|
|||
public void setDefault(boolean value);
|
||||
|
||||
/**
|
||||
* Sets the attribute for this filter pool that determines whether strings of
|
||||
* Sets the attribute for this filter pool that determines whether strings of
|
||||
* filters contained in this pool are case sensitive or not. If not set
|
||||
* this attribute is inherited from the containing filter pool manager.
|
||||
* @param value The new value of the StringsCaseSensitive attribute
|
||||
|
@ -187,7 +188,10 @@ public interface ISystemFilterPool extends IRSEPersistableReferencedObject, ISys
|
|||
public boolean isSetStringsCaseSensitive();
|
||||
|
||||
/**
|
||||
* Return the filters in this pool.
|
||||
*
|
||||
* @return An array of filters in this pool
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter[] getFilters();
|
||||
|
||||
|
@ -291,5 +295,5 @@ public interface ISystemFilterPool extends IRSEPersistableReferencedObject, ISys
|
|||
* @see #isNonRenamable()
|
||||
*/
|
||||
public void setNonRenamable(boolean value);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -7,14 +7,15 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - [197036] All filter pools created on clean workspace
|
||||
* cleaned javadoc for renameSystemFilterPool
|
||||
* David Dykstal (IBM) - [222270] clean up interfaces in org.eclipse.rse.core.filters
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.filters;
|
||||
|
@ -30,6 +31,8 @@ import org.eclipse.rse.core.model.ISystemProfile;
|
|||
* Further, this is the front door for working with filters too. By forcing all
|
||||
* filter related activity through a single point like this, we can ensure that
|
||||
* all changes are saved to disk, and events are fired properly.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
||||
// ---------------------------------
|
||||
|
@ -155,7 +158,7 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
public ISystemFilterPool createSystemFilterPool(String name, boolean isDeletable) throws Exception;
|
||||
|
||||
/**
|
||||
* Delete a given filter pool. Dependending on the save policy, the
|
||||
* Delete a given filter pool. Dependending on the save policy, the
|
||||
* appropriate file or folder on disk will also be deleted.
|
||||
* <p>
|
||||
* Does the following:
|
||||
|
@ -235,7 +238,7 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
* <ul>
|
||||
* <li>Performs a {@link #copySystemFilterPool(ISystemFilterPoolManager, ISystemFilterPool, String) copySystemFilterPool} operation.
|
||||
* <li>If copy is successful, updates all references to reference the new copy.
|
||||
* <li>If copy is successful, deletes original filter pool in this manager
|
||||
* <li>If copy is successful, deletes original filter pool in this manager
|
||||
* <li>If this final delete fails, deletes the copied version and restore original references
|
||||
* <li>Asks target manager to save to disk
|
||||
* <li>Saves this manager to disk
|
||||
|
@ -252,88 +255,120 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
// FILTER METHODS
|
||||
// ---------------------------------
|
||||
/**
|
||||
* Creates a new system filter within the given filter container (either a filter pool, or
|
||||
* a filter). This creates the filter, and then saves the filter pool.
|
||||
* <p>Calls back to provider to inform of the event (filterEventFilterCreated)
|
||||
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* Creates a new system filter within the given filter container (either a
|
||||
* filter pool, or a filter). This creates the filter, and then saves the
|
||||
* filter pool.
|
||||
* <p>
|
||||
* Calls back to provider to inform of the event (filterEventFilterCreated)
|
||||
*
|
||||
* @param parent The parent which is either a SystemFilterPool or a
|
||||
* SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings) throws Exception;
|
||||
|
||||
/**
|
||||
* Creates a new system filter within the given filter container (either a filter pool, or
|
||||
* a filter). This creates the filter, and then saves the filter pool.
|
||||
* <p>Calls back to provider to inform of the event (filterEventFilterCreated)
|
||||
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* Creates a new system filter within the given filter container (either a
|
||||
* filter pool, or a filter). This creates the filter, and then saves the
|
||||
* filter pool.
|
||||
* <p>
|
||||
* Calls back to provider to inform of the event (filterEventFilterCreated)
|
||||
*
|
||||
* @param parent The parent which is either a SystemFilterPool or a
|
||||
* SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings) throws Exception;
|
||||
|
||||
/**
|
||||
* Creates a new system filter that is typed.
|
||||
* Same as {@link #createSystemFilter(ISystemFilterContainer, String, String[])} but
|
||||
* takes a filter type as an additional parameter.
|
||||
* Creates a new system filter that is typed. Same as
|
||||
* {@link #createSystemFilter(ISystemFilterContainer, String, String[])} but
|
||||
* takes a filter type as an additional parameter.
|
||||
* <p>
|
||||
* A filter's type is an arbitrary string that is not interpreted or used by the base framework. This
|
||||
* is for use entirely by tools who wish to support multiple types of filters and be able to launch unique
|
||||
* actions per type, say.
|
||||
* A filter's type is an arbitrary string that is not interpreted or used by
|
||||
* the base framework. This is for use entirely by tools who wish to support
|
||||
* multiple types of filters and be able to launch unique actions per type,
|
||||
* say.
|
||||
*
|
||||
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* @param parent The parent which is either a SystemFilterPool or a
|
||||
* SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @param type The type of this filter
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings, String type) throws Exception;
|
||||
|
||||
/**
|
||||
* Creates a new system filter that is typed.
|
||||
* Same as {@link #createSystemFilter(ISystemFilterContainer, String, String[])} but
|
||||
* takes a filter type as an additional parameter.
|
||||
* Creates a new system filter that is typed. Same as
|
||||
* {@link #createSystemFilter(ISystemFilterContainer, String, String[])} but
|
||||
* takes a filter type as an additional parameter.
|
||||
* <p>
|
||||
* A filter's type is an arbitrary string that is not interpreted or used by the base framework. This
|
||||
* is for use entirely by tools who wish to support multiple types of filters and be able to launch unique
|
||||
* actions per type, say.
|
||||
* A filter's type is an arbitrary string that is not interpreted or used by
|
||||
* the base framework. This is for use entirely by tools who wish to support
|
||||
* multiple types of filters and be able to launch unique actions per type,
|
||||
* say.
|
||||
*
|
||||
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* @param parent The parent which is either a SystemFilterPool or a
|
||||
* SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @param type The type of this filter
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings, String type) throws Exception;
|
||||
|
||||
/**
|
||||
* Creates a new system filter that is typed and promptable
|
||||
* Same as {@link #createSystemFilter(ISystemFilterContainer, String ,String[], String)} but
|
||||
* takes a boolean indicating if it is promptable.
|
||||
* Creates a new system filter that is typed and promptable Same as
|
||||
* {@link #createSystemFilter(ISystemFilterContainer, String ,String[], String)}
|
||||
* but takes a boolean indicating if it is promptable.
|
||||
* <p>
|
||||
* A promptable filter is one in which the user is prompted for information at expand time.
|
||||
* There is no base filter framework support for this, but tools can query this attribute and
|
||||
* do their own thing at expand time.
|
||||
* A promptable filter is one in which the user is prompted for information
|
||||
* at expand time. There is no base filter framework support for this, but
|
||||
* tools can query this attribute and do their own thing at expand time.
|
||||
*
|
||||
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* @param parent The parent which is either a SystemFilterPool or a
|
||||
* SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @param type The type of this filter
|
||||
* @param promptable Pass true if this is a promptable filter
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings, String type, boolean promptable) throws Exception;
|
||||
|
||||
/**
|
||||
* Creates a new system filter that is typed and promptable
|
||||
* Same as {@link #createSystemFilter(ISystemFilterContainer, String ,String[], String)} but
|
||||
* takes a boolean indicating if it is promptable.
|
||||
* Creates a new system filter that is typed and promptable Same as
|
||||
* {@link #createSystemFilter(ISystemFilterContainer, String ,String[], String)}
|
||||
* but takes a boolean indicating if it is promptable.
|
||||
* <p>
|
||||
* A promptable filter is one in which the user is prompted for information at expand time.
|
||||
* There is no base filter framework support for this, but tools can query this attribute and
|
||||
* do their own thing at expand time.
|
||||
* A promptable filter is one in which the user is prompted for information
|
||||
* at expand time. There is no base filter framework support for this, but
|
||||
* tools can query this attribute and do their own thing at expand time.
|
||||
*
|
||||
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this pool.
|
||||
* @param filterStrings The list of String objects that represent the filter strings.
|
||||
* @param parent The parent which is either a SystemFilterPool or a
|
||||
* SystemFilter
|
||||
* @param aliasName The name to give the new filter. Must be unique for this
|
||||
* pool.
|
||||
* @param filterStrings The list of String objects that represent the filter
|
||||
* strings.
|
||||
* @param type The type of this filter
|
||||
* @param promptable Pass true if this is a promptable filter
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings, String type, boolean promptable) throws Exception;
|
||||
|
||||
|
@ -350,7 +385,7 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
public boolean deleteSystemFilter(ISystemFilter filter) throws Exception;
|
||||
|
||||
/**
|
||||
* Renames a filter. This is better than filter.setName(String newName) as it
|
||||
* Renames a filter. This is better than filter.setName(String newName) as it
|
||||
* saves the parent pool to disk.
|
||||
* <p>
|
||||
* Does the following:
|
||||
|
@ -404,7 +439,7 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
|
||||
/**
|
||||
* Move existing filters a given number of positions in the same container.
|
||||
* If the delta is negative, they are all moved up by the given amount. If
|
||||
* If the delta is negative, they are all moved up by the given amount. If
|
||||
* positive, they are all moved down by the given amount.<p>
|
||||
* <p>
|
||||
* Does the following:
|
||||
|
@ -524,7 +559,7 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
|
||||
/**
|
||||
* Move existing filter strings a given number of positions in the same filter
|
||||
* If the delta is negative, they are all moved up by the given amount. If
|
||||
* If the delta is negative, they are all moved up by the given amount. If
|
||||
* positive, they are all moved down by the given amount.<p>
|
||||
* <p>
|
||||
* Does the following:
|
||||
|
@ -546,31 +581,31 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
|
|||
public void suspendCallbacks(boolean suspend);
|
||||
|
||||
/**
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @return The value of the SupportsNestedFilters attribute
|
||||
*/
|
||||
boolean isSupportsNestedFilters();
|
||||
|
||||
/**
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @param value The new value of the StringsCaseSensitive attribute
|
||||
*/
|
||||
void setStringsCaseSensitive(boolean value);
|
||||
|
||||
/**
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @return The value of the SupportsDuplicateFilterStrings attribute
|
||||
*/
|
||||
boolean isSupportsDuplicateFilterStrings();
|
||||
|
||||
/**
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* Unsets the SupportsDuplicateFilterStrings attribute
|
||||
*/
|
||||
void unsetSupportsDuplicateFilterStrings();
|
||||
|
||||
/**
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @return <b>true</b> if the SupportsDuplicateFilterStrings attribute has been set
|
||||
*/
|
||||
boolean isSetSupportsDuplicateFilterStrings();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2002, 2007 IBM Corporation and others.
|
||||
* 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
|
||||
|
@ -7,8 +7,8 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
|
@ -26,9 +26,6 @@ import org.eclipse.rse.core.subsystems.ISubSystem;
|
|||
* offering convenience versions of the parent methods that are typed to the
|
||||
* classes in the filters framework.
|
||||
*/
|
||||
/**
|
||||
* @lastgen interface SystemFilterPoolReferenceManager extends SystemPersistableReferenceManager {}
|
||||
*/
|
||||
public interface ISystemFilterPoolReferenceManager extends IRSEBasePersistableReferenceManager {
|
||||
/**
|
||||
* Get the object which instantiated this instance of the filter pool reference manager.
|
||||
|
@ -54,7 +51,7 @@ public interface ISystemFilterPoolReferenceManager extends IRSEBasePersistableRe
|
|||
/*
|
||||
* Set the managers of the master list of filter pools, from which
|
||||
* objects in this list reference.
|
||||
* NOW DELETED SO THAT WE DYNAMICALLY QUERY THIS LIST FROM THE
|
||||
* NOW DELETED SO THAT WE DYNAMICALLY QUERY THIS LIST FROM THE
|
||||
* ASSOCIATED SYSTEMFILTERPOOLMANAGER PROVIDER, SO IT IS ALWAYS UP
|
||||
* TO DATE. psc.
|
||||
*/
|
||||
|
@ -124,7 +121,7 @@ public interface ISystemFilterPoolReferenceManager extends IRSEBasePersistableRe
|
|||
public void setSystemFilterPoolReferences(ISystemFilterPoolReference[] filterPoolReferences, boolean deReference);
|
||||
|
||||
/**
|
||||
* Add a filter pool referencing object to the list.
|
||||
* Add a filter pool referencing object to the list.
|
||||
* @return the new count of referencing objects
|
||||
*/
|
||||
public int addSystemFilterPoolReference(ISystemFilterPoolReference filterPoolReference);
|
||||
|
@ -160,7 +157,7 @@ public interface ISystemFilterPoolReferenceManager extends IRSEBasePersistableRe
|
|||
|
||||
/**
|
||||
* Move existing filter pool references a given number of positions.
|
||||
* If the delta is negative, they are all moved up by the given amount. If
|
||||
* If the delta is negative, they are all moved up by the given amount. If
|
||||
* positive, they are all moved down by the given amount.<p>
|
||||
* <p> Calls back to inform provider
|
||||
* @param filterPoolRefs Array of SystemFilterPoolReferences to move.
|
||||
|
@ -243,14 +240,14 @@ public interface ISystemFilterPoolReferenceManager extends IRSEBasePersistableRe
|
|||
|
||||
/**
|
||||
* Given a filter reference, return its position within this reference manager
|
||||
* when you think of all filter references from all filter pool references as
|
||||
* when you think of all filter references from all filter pool references as
|
||||
* being concatenated
|
||||
*/
|
||||
public int getSystemFilterReferencePosition(ISystemFilterReference filterRef);
|
||||
|
||||
/**
|
||||
* Given a filter, return its position within this reference manager
|
||||
* when you think of all filter references from all filter pool references as
|
||||
* when you think of all filter references from all filter pool references as
|
||||
* being concatenated
|
||||
*/
|
||||
public int getSystemFilterReferencePosition(ISubSystem subSystem, ISystemFilter filter);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2005, 2007 IBM Corporation and others.
|
||||
* Copyright (c) 2005, 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
|
||||
|
@ -7,6 +7,7 @@
|
|||
*
|
||||
* Contributors:
|
||||
* IBM Corporation - initial API and implementation
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
package org.eclipse.rse.core.filters;
|
||||
|
||||
|
@ -16,7 +17,7 @@ import org.eclipse.rse.logging.Logger;
|
|||
public interface ISystemFilterStartHere {
|
||||
|
||||
/**
|
||||
* Factory to create a filter pool manager, when you do NOT want it to worry about
|
||||
* Factory to create a filter pool manager, when you do NOT want it to worry about
|
||||
* saving and restoring the filter data to disk. Rather, you will save and restore
|
||||
* yourself.
|
||||
* @param logger A logging object into which to log errors as they happen in the framework
|
||||
|
@ -27,23 +28,27 @@ public interface ISystemFilterStartHere {
|
|||
* @param name the name of the filter pool manager. Not currently used but you may
|
||||
* find a use for it.
|
||||
* @param allowNestedFilters true if filters inside filter pools in this manager are
|
||||
* to allow nested filters. This is the default, but can be overridden at the
|
||||
* to allow nested filters. This is the default, but can be overridden at the
|
||||
* individual filter pool level.
|
||||
*/
|
||||
public ISystemFilterPoolManager createSystemFilterPoolManager(ISystemProfile profile, Logger logger, ISystemFilterPoolManagerProvider caller, String name, boolean allowNestedFilters);
|
||||
|
||||
/**
|
||||
* Create a SystemFilterPoolReferenceManager instance, when you do NOT want it
|
||||
* to be saved and restored to its own file. Rather, you will save and restore it
|
||||
* yourself.
|
||||
* Create a SystemFilterPoolReferenceManager instance, when you do NOT want
|
||||
* it to be saved and restored to its own file. Rather, you will save and
|
||||
* restore it yourself.
|
||||
*
|
||||
* @param caller Objects which instantiate this class should implement the
|
||||
* SystemFilterPoolReferenceManagerProvider interface, and pass "this" for this parameter.
|
||||
* Given any filter framework object, it is possible to retrieve the caller's
|
||||
* object via the getProvider method call.
|
||||
* @param relatedPoolMgrProvider The creator of the managers that own the master list of filter pools that
|
||||
* this manager will contain references to.
|
||||
* @param name the name of the filter pool reference manager. This is not currently
|
||||
* used, but you may find a use for it.
|
||||
* SystemFilterPoolReferenceManagerProvider interface, and pass
|
||||
* "this" for this parameter. Given any filter framework object,
|
||||
* it is possible to retrieve the caller's object via the
|
||||
* getProvider method call.
|
||||
* @param relatedPoolMgrProvider The creator of the managers that own the
|
||||
* master list of filter pools that this manager will contain
|
||||
* references to.
|
||||
* @param name the name of the filter pool reference manager. This is not
|
||||
* currently used, but you may find a use for it.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilterPoolReferenceManager createSystemFilterPoolReferenceManager(ISystemFilterPoolReferenceManagerProvider caller, ISystemFilterPoolManagerProvider relatedPoolMgrProvider,
|
||||
String name);
|
||||
|
|
|
@ -7,13 +7,14 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - [197036] added commitSystemProfile operation to interface
|
||||
* David Dykstal (IBM) - [202630] getDefaultPrivateProfile() and ensureDefaultPrivateProfile() are inconsistent
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.model;
|
||||
|
@ -21,10 +22,12 @@ package org.eclipse.rse.core.model;
|
|||
import org.eclipse.core.runtime.IStatus;
|
||||
|
||||
/**
|
||||
* Manages a list of SystemProfile objects. System profiles
|
||||
* should be created, deleted, restored, activated, and deactivated though
|
||||
* this interface if event processing is not desired. If events are necessary
|
||||
* then the system registry should be used.
|
||||
* Manages a list of SystemProfile objects. System profiles should be created,
|
||||
* deleted, restored, activated, and deactivated though this interface if event
|
||||
* processing is not desired. If events are necessary then the system registry
|
||||
* should be used.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ISystemProfileManager {
|
||||
|
||||
|
@ -101,7 +104,7 @@ public interface ISystemProfileManager {
|
|||
/**
|
||||
* Delete the given profile. The default private profile cannot be deleted and such a request will be ignored.
|
||||
* @param profile the name of the profile to delete.
|
||||
* @param persist true if the deletion is meant to be persisted as well, false if the deletion is just in the
|
||||
* @param persist true if the deletion is meant to be persisted as well, false if the deletion is just in the
|
||||
* model.
|
||||
*/
|
||||
public void deleteSystemProfile(ISystemProfile profile, boolean persist);
|
||||
|
@ -113,11 +116,13 @@ public interface ISystemProfileManager {
|
|||
* @return the new profile
|
||||
*/
|
||||
public ISystemProfile cloneSystemProfile(ISystemProfile profile, String newName);
|
||||
|
||||
|
||||
/**
|
||||
* Commit a system profile
|
||||
*
|
||||
* @param profile the profile to commit
|
||||
* @return a status object indicating the result of the commit
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public IStatus commitSystemProfile(ISystemProfile profile);
|
||||
|
||||
|
@ -131,8 +136,8 @@ public interface ISystemProfileManager {
|
|||
|
||||
/**
|
||||
* Adds a system profile to this profile manager.
|
||||
* @param profile The system profile to add.
|
||||
* @param profile The system profile to add.
|
||||
*/
|
||||
public void addSystemProfile(ISystemProfile profile);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
* David Dykstal (IBM) - [217556] remove service subsystem types
|
||||
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
|
||||
* David Dykstal (IBM) - [202630] getDefaultPrivateProfile() and ensureDefaultPrivateProfile() are inconsistent
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.model;
|
||||
|
@ -102,24 +103,34 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
|
|||
|
||||
/**
|
||||
* Return all subsystem configurations which support the given system type.
|
||||
* If the type is null, returns all subsystem confgurations.
|
||||
* Fully equivalent to getSubSystemConfigurationsBySystemType(systemType, filterDuplicates, <code>true</code>)
|
||||
* which is preferred since we do not want to load subsystem configurations unless necessary.
|
||||
* If the type is null, returns all subsystem configurations. Fully
|
||||
* equivalent to getSubSystemConfigurationsBySystemType(systemType,
|
||||
* filterDuplicates, <code>true</code>) which is preferred since we do
|
||||
* not want to load subsystem configurations unless necessary.
|
||||
*
|
||||
* @param systemType system type to filter
|
||||
* @param filterDuplicates if true and the subsystem configuration uses services then return only one
|
||||
* subsystem configuration that supports this service. Which configuration is returned is undefined.
|
||||
* @param filterDuplicates if true and the subsystem configuration uses
|
||||
* services then return only one subsystem configuration that
|
||||
* supports this service. Which configuration is returned is
|
||||
* undefined.
|
||||
* @return an array of subsystem configurations meeting the criteria
|
||||
*/
|
||||
public ISubSystemConfiguration[] getSubSystemConfigurationsBySystemType(IRSESystemType systemType, boolean filterDuplicates);
|
||||
|
||||
/**
|
||||
* Return all subsystem configurations which support the given system type.
|
||||
* If the type is null, returns all subsystem confgurations.
|
||||
* If the type is null, returns all subsystem configurations.
|
||||
*
|
||||
* @param systemType system type to filter
|
||||
* @param filterDuplicates if true and the subsystem configuration uses services then return only one
|
||||
* subsystem configuration that supports this service. Which configuration is returned is undefined.
|
||||
* @param activate if true activate the respective configurations if not already active, if false return only those that are already active.
|
||||
* @param filterDuplicates if true and the subsystem configuration uses
|
||||
* services then return only one subsystem configuration that
|
||||
* supports this service. Which configuration is returned is
|
||||
* undefined.
|
||||
* @param activate if true activate the respective configurations if not
|
||||
* already active, if false return only those that are already
|
||||
* active.
|
||||
* @return an array of subsystem configurations meeting the criteria
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISubSystemConfiguration[] getSubSystemConfigurationsBySystemType(IRSESystemType systemType, boolean filterDuplicates, boolean activate);
|
||||
|
||||
|
@ -496,22 +507,28 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
|
|||
public IHost createHost(IRSESystemType systemType, String connectionName, String hostAddress, String description) throws Exception;
|
||||
|
||||
/**
|
||||
* Create a host object. The resulting host object is added to the list of existing host objects
|
||||
* in the specified profile.
|
||||
* Create a host object. The resulting host object is added to the list of
|
||||
* existing host objects in the specified profile.
|
||||
* <ul>
|
||||
* <li>creates and saves a new host within the given profile
|
||||
* <li>optionally creates subsystem instances
|
||||
* <li>fires an ISystemResourceChangeEvent event of type EVENT_ADD to all registered listeners
|
||||
* <li>fires an ISystemResourceChangeEvent event of type EVENT_ADD to all
|
||||
* registered listeners
|
||||
* </ul>
|
||||
* <p>
|
||||
* @param profileName Name of the system profile to which the host is to be added.
|
||||
*
|
||||
* @param profileName Name of the system profile to which the host is to be
|
||||
* added.
|
||||
* @param systemType system type of the new host.
|
||||
* @param hostName unique host name within the profile.
|
||||
* @param hostAddress ip name of host.
|
||||
* @param description optional description of the connection. May be null.
|
||||
* @param createSubSystems <code>true</code> to create subsystems for the host, <code>false</code> otherwise.
|
||||
* @return IHost object, or null if it failed to create. This is typically because the hostName is not unique. Call getLastException() if necessary.
|
||||
* @since 3.0
|
||||
* @param createSubSystems <code>true</code> to create subsystems for the
|
||||
* host, <code>false</code> otherwise.
|
||||
* @return IHost object, or null if it failed to create. This is typically
|
||||
* because the hostName is not unique. Call getLastException() if
|
||||
* necessary.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public IHost createHost(String profileName, IRSESystemType systemType, String hostName, String hostAddress, String description, boolean createSubSystems) throws Exception;
|
||||
|
||||
|
@ -735,13 +752,17 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
|
|||
public void addSystemRemoteChangeListener(ISystemRemoteChangeListener l);
|
||||
|
||||
/**
|
||||
* De-Register your interest in being told when a remote resource is changed.
|
||||
* Unregister your interest in being told when a remote resource is changed.
|
||||
*/
|
||||
public void removeSystemRemoteChangeListener(ISystemRemoteChangeListener l);
|
||||
|
||||
|
||||
/**
|
||||
* Query if the ISystemRemoteChangeListener is already listening for SystemRemoteChange events
|
||||
* Query if the ISystemRemoteChangeListener is already listening for
|
||||
* SystemRemoteChange events.
|
||||
*
|
||||
* @param l the listener instance to check
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public boolean isRegisteredSystemRemoteChangeListener(ISystemRemoteChangeListener l);
|
||||
|
||||
|
@ -792,7 +813,7 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
|
|||
public void addSystemPreferenceChangeListener(ISystemPreferenceChangeListener l);
|
||||
|
||||
/**
|
||||
* De-Register your interest in being told when a system preference changes
|
||||
* Unregister your interest in being told when a system preference changes
|
||||
*/
|
||||
public void removeSystemPreferenceChangeListener(ISystemPreferenceChangeListener l);
|
||||
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - 168977: refactoring IConnectorService
|
||||
* Martin Oberhuber (Wind River) - [175262] IHost.getSystemType() should return IRSESystemType
|
||||
* Martin Oberhuber (Wind River) - [185750] Remove IConnectorService.getHostType()
|
||||
* Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect()
|
||||
* Martin Oberhuber (Wind River) - [185750] Remove IConnectorService.getHostType()
|
||||
* Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect()
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
@ -25,23 +26,27 @@ import org.eclipse.rse.core.model.IRSEModelObject;
|
|||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
|
||||
/**
|
||||
* A connector service provides the means of establishing a connection from
|
||||
* a subsystem (or a number of subsystems) to a target system (a host).
|
||||
* A connector service provides the means of establishing a connection from a
|
||||
* subsystem (or a number of subsystems) to a target system (a host).
|
||||
* <p>
|
||||
* A connector service manages a live connection to a remote system, with
|
||||
* operations for connecting and disconnecting, and storing information
|
||||
* typically cached from a subsystem: credentials (such as a userId/password),
|
||||
* port, etc.
|
||||
* <p>
|
||||
* The SubSystem interface includes a method, getConnectorService(),
|
||||
* which returns an instance of an object that implements this interface
|
||||
* for that subsystem.
|
||||
* The SubSystem interface includes a method, getConnectorService(), which
|
||||
* returns an instance of an object that implements this interface for that
|
||||
* subsystem.
|
||||
* <p>
|
||||
* A single connector service object can be unique to a subsystem instance, but
|
||||
* it can also be shared across multiple subsystems in a single host if those
|
||||
* subsystems share a physical connection to the remote system.
|
||||
* This sharing is done using implementers of {@link IConnectorServiceManager}
|
||||
* which are returned by another getter method in SubSystem.
|
||||
* subsystems share a physical connection to the remote system. This sharing is
|
||||
* done using implementers of {@link IConnectorServiceManager} which are
|
||||
* returned by another getter method in SubSystem.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
* Clients should subclass {@link AbstractConnectorService}
|
||||
* instead.
|
||||
*/
|
||||
public interface IConnectorService extends IRSEModelObject {
|
||||
|
||||
|
@ -121,7 +126,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
|
||||
/**
|
||||
* Sets the host used by this connector service.
|
||||
* @param host
|
||||
* @param host
|
||||
*/
|
||||
public void setHost(IHost host);
|
||||
|
||||
|
@ -150,13 +155,13 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
public void setPort(int port);
|
||||
|
||||
/**
|
||||
* @return true if this connector service will attempt to
|
||||
* @return true if this connector service will attempt to
|
||||
* use SSL when establishing its connection.
|
||||
*/
|
||||
public boolean isUsingSSL();
|
||||
|
||||
/**
|
||||
* @param flag true if the connector service should attempt to use SSL when
|
||||
* @param flag true if the connector service should attempt to use SSL when
|
||||
* establishing the connection.
|
||||
*/
|
||||
public void setIsUsingSSL(boolean flag);
|
||||
|
@ -170,7 +175,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
|
||||
/**
|
||||
* Determines if this connector service understand the concept of a password.
|
||||
* @return true if the connector service can use a password,
|
||||
* @return true if the connector service can use a password,
|
||||
* false if a password is irrelevant.
|
||||
*/
|
||||
public boolean supportsPassword();
|
||||
|
@ -195,7 +200,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
public void saveUserId();
|
||||
|
||||
/**
|
||||
* Causes the persisted (default) user id known to this
|
||||
* Causes the persisted (default) user id known to this
|
||||
* connector service, if any, to be forgotten.
|
||||
*/
|
||||
public void removeUserId();
|
||||
|
@ -210,25 +215,25 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
* @param propagate true if this password should be propagated to related connector services.
|
||||
*/
|
||||
public void setPassword(String matchingUserId, String password, boolean persist, boolean propagate);
|
||||
|
||||
|
||||
/**
|
||||
* Causes the password known to this connector service, if any, to be
|
||||
* Causes the password known to this connector service, if any, to be
|
||||
* persisted.
|
||||
*/
|
||||
public void savePassword();
|
||||
|
||||
|
||||
/**
|
||||
* Causes the persisted password known to this connector service, if any, to
|
||||
* Causes the persisted password known to this connector service, if any, to
|
||||
* be forgotten.
|
||||
*/
|
||||
public void removePassword();
|
||||
|
||||
|
||||
/**
|
||||
* Clear password held by this service and optionally
|
||||
* clear its persistent form.
|
||||
* Called when user uses the property dialog to
|
||||
* change his userId.
|
||||
* @param persist if true, clears the persistent form of the password
|
||||
* Clear password held by this service and optionally
|
||||
* clear its persistent form.
|
||||
* Called when user uses the property dialog to
|
||||
* change his userId.
|
||||
* @param persist if true, clears the persistent form of the password
|
||||
* @param propagate true if this password should be cleared in related connector services.
|
||||
*/
|
||||
public void clearPassword(boolean persist, boolean propagate);
|
||||
|
@ -268,7 +273,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
* Implementations may retain a remembered credentials or
|
||||
* use this acquire the credentials using some implementation defined means.
|
||||
* <p>
|
||||
* Throws InterruptedException if acquisition of the
|
||||
* Throws InterruptedException if acquisition of the
|
||||
* credentials is canceled or is being suppressed.
|
||||
* @param refresh if true will force the connector service to discard
|
||||
* any remembered value and reacquire the credentials.
|
||||
|
@ -285,9 +290,9 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
* Causes {@link #acquireCredentials(boolean)} to immediately
|
||||
* throw an InterruptedException.
|
||||
* <p>
|
||||
* The intent is to allow tool writers to prevent multiple
|
||||
* The intent is to allow tool writers to prevent multiple
|
||||
* attempts to acquire credentials during a set period of time.
|
||||
* <b>It is the responsibility of the caller to set this value
|
||||
* <b>It is the responsibility of the caller to set this value
|
||||
* back to false when the tool no longer needs to suppress
|
||||
* acquisition credentials.</b>
|
||||
*
|
||||
|
@ -315,7 +320,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
* called for this server launch type, then it is enabled by default.
|
||||
* @param subsystem the subystem for which this may be enabled.
|
||||
* @param serverLaunchType the type to check for enabledment.
|
||||
* @return true if the connector service supports server launching and
|
||||
* @return true if the connector service supports server launching and
|
||||
* this launch type is enabled.
|
||||
* @see org.eclipse.rse.core.subsystems.ServerLaunchType
|
||||
*/
|
||||
|
@ -334,7 +339,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
/**
|
||||
* Set the properties for the remote server launcher
|
||||
* This is an object containing
|
||||
* properties used to launch a remote server that
|
||||
* properties used to launch a remote server that
|
||||
* communicates with this client.
|
||||
* @param value the new value of the '<em>Remote Server Launcher</em>' containment reference.
|
||||
*/
|
||||
|
@ -349,7 +354,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
* @return true if the connector service supports the concept of remote
|
||||
* server launch properties.
|
||||
* This will always return false {@link #supportsRemoteServerLaunching()}
|
||||
* is false.
|
||||
* is false.
|
||||
*/
|
||||
boolean supportsServerLaunchProperties();
|
||||
|
||||
|
@ -358,7 +363,7 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
* server launching.
|
||||
*/
|
||||
boolean supportsRemoteServerLaunching();
|
||||
|
||||
|
||||
/**
|
||||
* @return the server launcher. Will be null unless
|
||||
* {@link #supportsRemoteServerLaunching()} is true.
|
||||
|
@ -367,14 +372,14 @@ public interface IConnectorService extends IRSEModelObject {
|
|||
|
||||
/**
|
||||
* Test if this connector service requires a password.
|
||||
* @return true if this connector service supports passwords and
|
||||
* @return true if this connector service supports passwords and
|
||||
* requires a password to connect to its target system.
|
||||
*/
|
||||
boolean requiresPassword();
|
||||
|
||||
/**
|
||||
* Test if this connector service requires a user id.
|
||||
* @return true if this connector service understands the concept of a
|
||||
* @return true if this connector service understands the concept of a
|
||||
* user id and requires one to connect to its target system.
|
||||
*/
|
||||
boolean requiresUserId();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others.
|
||||
* 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
|
||||
|
@ -7,18 +7,25 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
|
||||
/**
|
||||
* Connector Service Manager Interface.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
* Clients should subclass {@link AbstractConnectorServiceManager}
|
||||
* instead.
|
||||
*/
|
||||
public interface IConnectorServiceManager {
|
||||
IConnectorService getConnectorService(IHost host, Class commonSSinterface);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2007 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
|
@ -14,10 +14,10 @@
|
|||
package org.eclipse.rse.core.subsystems;
|
||||
|
||||
/**
|
||||
* A delegating connector service forwards all requests for infomation
|
||||
* to another connector service.
|
||||
* A delegating connector service forwards all requests for information to
|
||||
* another connector service.
|
||||
*/
|
||||
public interface IDelegatingConnectorService extends IConnectorService
|
||||
public interface IDelegatingConnectorService extends IConnectorService
|
||||
{
|
||||
/**
|
||||
* @return the connector service that this connector service will
|
||||
|
|
|
@ -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
|
||||
|
@ -7,24 +7,26 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
||||
/**
|
||||
* Constants used in the remote file system support
|
||||
* Constants used in the remote file system support.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IFileConstants {
|
||||
|
||||
// ---------------------------------------
|
||||
// UNIX FILE SYSTEM ATTRIBUTE CONSTANTS...
|
||||
// ---------------------------------------
|
||||
// ---------------------------------------
|
||||
/**
|
||||
* Unix-style folder-name separator as a string: "/"
|
||||
*/
|
||||
|
@ -48,7 +50,7 @@ public interface IFileConstants {
|
|||
|
||||
// ------------------------------------------
|
||||
// WINDOWS FILE SYSTEM ATTRIBUTE CONSTANTS...
|
||||
// ------------------------------------------
|
||||
// ------------------------------------------
|
||||
/**
|
||||
* Windows-style folder-name separator as a string: "\"
|
||||
*/
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [182454] improve getAbsoluteName() documentation
|
||||
* David McKnight (IBM) - [211472] [api][breaking] IRemoteObjectResolver.getObjectWithAbsoluteName() needs a progress monitor
|
||||
* David McKnight (IBM) - [211472] [api][breaking] IRemoteObjectResolver.getObjectWithAbsoluteName() needs a progress monitor
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
@ -32,65 +33,73 @@ public interface IRemoteObjectResolver {
|
|||
* Return the remote object that corresponds to the specified unique ID.
|
||||
* <p>
|
||||
* This must be implemented by subsystems in order to find remote objects
|
||||
* for drag and drop, clipboard, and other object retrieval mechanisms
|
||||
* in support of remote objects. It is the functional opposite of
|
||||
* for drag and drop, clipboard, and other object retrieval mechanisms in
|
||||
* support of remote objects. It is the functional opposite of
|
||||
* {@link IRemoteObjectIdentifier#getAbsoluteName(Object)}.
|
||||
* </p><p>
|
||||
* Because each subsystem maintains it's own objects, it is the
|
||||
* responsibility of the subsystem to determine how an ID (or key)
|
||||
* for a given object maps to the real object. Subsystems also need
|
||||
* to ensure that objects of different type (such as filters, actual
|
||||
* resources or error messages) all have different IDs. See
|
||||
* {@link IRemoteObjectIdentifier#getAbsoluteName(Object)} for an
|
||||
* example.
|
||||
* </p><p>
|
||||
* In case a cached copy of remote object is available locally,
|
||||
* this method will <strong>not</strong> contact the remote side
|
||||
* in order to check whether the cached copy is up-to-date.
|
||||
* Clients are responsible themselves for refreshing the remote
|
||||
* object when they think it is necessary.
|
||||
* </p><p>
|
||||
* In case a cached local copy is not available, the remote system
|
||||
* may be contacted to retrieve the remote object. In this case,
|
||||
* this call may be a long-running operation and may throw an
|
||||
* exception. Note, however, that since keys used as IDs are
|
||||
* generated by a remote object adapter that implements
|
||||
* {@link IRemoteObjectIdentifier}, a cached copy of the remote
|
||||
* object will typically be in memory from generating the key.
|
||||
* A notable exception to this case is when the system view is
|
||||
* restored to its previous state during startup.
|
||||
* </p>
|
||||
* <p><strong>Uniqueness and Multiple Contexts</strong><br/>
|
||||
* The RSE SystemView allows the same remote object to be displayed
|
||||
* in multiple different contexts, i.e. under multiple different
|
||||
* filters. In this case, each occurrence of the same object must
|
||||
* return the same absolute name. For the reverse mapping, however,
|
||||
* this method may return only one context object even though
|
||||
* multiple different ones are shown in the SystemView.
|
||||
* <p>
|
||||
* Because each subsystem maintains it's own objects, it is the
|
||||
* responsibility of the subsystem to determine how an ID (or key) for a
|
||||
* given object maps to the real object. Subsystems also need to ensure that
|
||||
* objects of different type (such as filters, actual resources or error
|
||||
* messages) all have different IDs. See
|
||||
* {@link IRemoteObjectIdentifier#getAbsoluteName(Object)} for an example.
|
||||
* </p>
|
||||
* <p>
|
||||
* In case a cached copy of remote object is available locally, this method
|
||||
* will <strong>not</strong> contact the remote side in order to check
|
||||
* whether the cached copy is up-to-date. Clients are responsible themselves
|
||||
* for refreshing the remote object when they think it is necessary.
|
||||
* </p>
|
||||
* <p>
|
||||
* In case a cached local copy is not available, the remote system may be
|
||||
* contacted to retrieve the remote object. In this case, this call may be a
|
||||
* long-running operation and may throw an exception. Note, however, that
|
||||
* since keys used as IDs are generated by a remote object adapter that
|
||||
* implements {@link IRemoteObjectIdentifier}, a cached copy of the remote
|
||||
* object will typically be in memory from generating the key. A notable
|
||||
* exception to this case is when the system view is restored to its
|
||||
* previous state during startup.
|
||||
* </p>
|
||||
* <p>
|
||||
* <strong>Uniqueness and Multiple Contexts</strong><br/> The RSE
|
||||
* SystemView allows the same remote object to be displayed in multiple
|
||||
* different contexts, i.e. under multiple different filters. In this case,
|
||||
* each occurrence of the same object must return the same absolute name.
|
||||
* For the reverse mapping, however, this method may return only one context
|
||||
* object even though multiple different ones are shown in the SystemView.
|
||||
* </p>
|
||||
*
|
||||
* @see IRemoteObjectIdentifier#getAbsoluteName(Object)
|
||||
*
|
||||
* @param key the unique id of the remote object.
|
||||
* Must not be <code>null</code>.
|
||||
* @param key the unique id of the remote object. Must not be
|
||||
* <code>null</code>.
|
||||
* @param monitor the progress monitor
|
||||
* @return the remote object instance, or <code>null</code> if no
|
||||
* object is found with the given id.
|
||||
* @throws Exception in case an error occurs contacting the remote
|
||||
* system while retrieving the requested remote object.
|
||||
* Extenders are encouraged to throw {@link SystemMessageException}
|
||||
* in order to support good user feedback in case of errors.
|
||||
* Since exceptions should only occur while retrieving new
|
||||
* remote objects during startup, clients are typically allowed
|
||||
* to ignore these exceptions and treat them as if the remote
|
||||
* object were simply not there.
|
||||
* @return the remote object instance, or <code>null</code> if no object
|
||||
* is found with the given id.
|
||||
* @throws Exception in case an error occurs contacting the remote system
|
||||
* while retrieving the requested remote object. Extenders are
|
||||
* encouraged to throw {@link SystemMessageException} in order
|
||||
* to support good user feedback in case of errors. Since
|
||||
* exceptions should only occur while retrieving new remote
|
||||
* objects during startup, clients are typically allowed to
|
||||
* ignore these exceptions and treat them as if the remote
|
||||
* object were simply not there.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public Object getObjectWithAbsoluteName(String key, IProgressMonitor monitor) throws Exception;
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated - use getObjectwithAbsoluteName(String key, IProgressMonitor monitor)
|
||||
* @param key
|
||||
* @return
|
||||
* @throws Exception
|
||||
* Return the remote object that corresponds to the specified unique ID.
|
||||
*
|
||||
* @param key the unique id of the remote object. Must not be
|
||||
* <code>null</code>.
|
||||
* @return the remote object instance, or <code>null</code> if no object
|
||||
* is found with the given id.
|
||||
* @throws Exception in case an error occurs contacting the remote system
|
||||
* while retrieving the requested remote object.
|
||||
* @deprecated - use getObjectwithAbsoluteName(String key, IProgressMonitor
|
||||
* monitor)
|
||||
*/
|
||||
public Object getObjectWithAbsoluteName(String key) throws Exception;
|
||||
}
|
|
@ -1,22 +1,23 @@
|
|||
/********************************************************************************
|
||||
* 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - [182454] improve getAbsoluteName() documentation
|
||||
* Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
|
||||
* Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect()
|
||||
* David McKnight (IBM) - [207095] Implicit connect needs to run in the same job as caller
|
||||
* David McKnight (IBM) - [186363] get rid of obsolete calls to ISubSystem.connect()
|
||||
* Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect()
|
||||
* David McKnight (IBM) - [207095] Implicit connect needs to run in the same job as caller
|
||||
* David McKnight (IBM) - [186363] get rid of obsolete calls to ISubSystem.connect()
|
||||
* David Dykstal (IBM) - [217556] remove service subsystem types
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
@ -38,12 +39,16 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
|||
/**
|
||||
* Interface implemented by SubSystem objects.
|
||||
*
|
||||
* While connections contain information to identify a particular remote
|
||||
* system, it is the subsystem objects within a connection that contain
|
||||
* information unique to a particular tool for that remote system, such as
|
||||
* the port the tool uses and the user ID for making the connection.
|
||||
* There are a set of default properties, but these can be extended by
|
||||
* subsystem providers, by extending SubSystem.
|
||||
* While connections contain information to identify a particular remote system,
|
||||
* it is the subsystem objects within a connection that contain information
|
||||
* unique to a particular tool for that remote system, such as the port the tool
|
||||
* uses and the user ID for making the connection. There are a set of default
|
||||
* properties, but these can be extended by subsystem providers, by extending
|
||||
* SubSystem.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
* Clients must extend the abstract <code>SubSystem</code> class
|
||||
* instead.
|
||||
*/
|
||||
public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, IRemoteObjectResolver, ISchedulingRule, IRSEModelObject {
|
||||
// -------------------------------------
|
||||
|
@ -66,7 +71,8 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
|
||||
/**
|
||||
* Set the connector service for this subsystem
|
||||
* @param connectorService
|
||||
*
|
||||
* @param connectorService connector service object to set
|
||||
*/
|
||||
public void setConnectorService(IConnectorService connectorService);
|
||||
|
||||
|
@ -82,7 +88,7 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
public IHost getHost();
|
||||
|
||||
/**
|
||||
* Called on each subsystem associated with a particular {@link IConnectorService} after it connects.
|
||||
* Called on each subsystem associated with a particular {@link IConnectorService} after it connects.
|
||||
* @param monitor A progress monitor supporting progress reporting and cancellation.
|
||||
*/
|
||||
public void initializeSubSystem(IProgressMonitor monitor);
|
||||
|
@ -133,17 +139,24 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
public void deletingConnection();
|
||||
|
||||
/**
|
||||
* This is a helper method you can call when performing actions that must be certain there
|
||||
* is a connection. If there is no connection it will attempt to connect, and if that fails
|
||||
* will throw a SystemMessageException you can easily display to the user by using a method
|
||||
* in it.
|
||||
* Check if the subsystem is connected, and connect if it's not.
|
||||
*
|
||||
* This is a convenience method which first checks whether the subsystem is
|
||||
* already connected. If not, it automatically checks if it's running on the
|
||||
* dispatch thread or not, and calls the right <code>connect()</code>
|
||||
* method as appropriate. It also performs some exception parsing,
|
||||
* converting Exceptions from connect() into SystemMessageException that can
|
||||
* be displayed to the user by using a method in it.
|
||||
*
|
||||
* @throws SystemMessageException in case of an error connecting
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public void checkIsConnected(IProgressMonitor monitor) throws SystemMessageException;
|
||||
|
||||
// ---------------------------------------------------
|
||||
// Methods for business partners to add their own
|
||||
// Methods for business partners to add their own
|
||||
// persisted attributes to the subsystem object...
|
||||
// ---------------------------------------------------
|
||||
// ---------------------------------------------------
|
||||
|
||||
/**
|
||||
* For business partners defining their own subsystems.
|
||||
|
@ -153,7 +166,7 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
* <li>Vendor name. This name should uniquely differentiate one
|
||||
* vendor's attributes from anothers.
|
||||
* <li>Attribute name. The name of the attribute to set.
|
||||
* <li>attribute value. The value to give the named attribute. It must
|
||||
* <li>attribute value. The value to give the named attribute. It must
|
||||
* be resolved into a string to use this. Eg, for boolean use
|
||||
* something like "true" or "false". To clear the attribute
|
||||
* value pass null for the value.
|
||||
|
@ -242,8 +255,8 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
|
||||
/**
|
||||
* Return true if the given filter lists the contents of the given remote object.
|
||||
* For example, if given a folder, return true if any of the filter strings in this filter
|
||||
* lists the contents of that folder. Used in impact analysis when a remote object is
|
||||
* For example, if given a folder, return true if any of the filter strings in this filter
|
||||
* lists the contents of that folder. Used in impact analysis when a remote object is
|
||||
* created, deleted, renamed, copied or moved, so as to establish which filters need to be
|
||||
* refreshed or collapsed (if the folder is deleted, say).
|
||||
* <p>
|
||||
|
@ -254,20 +267,20 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
/**
|
||||
* Return true if the given filter string lists the contents of the given remote object.
|
||||
* For example, if given a folder, return true if the given filter string
|
||||
* lists the contents of that folder. Used in impact analysis when a remote object is
|
||||
* lists the contents of that folder. Used in impact analysis when a remote object is
|
||||
* created, deleted, renamed, copied or moved, so as to establish which filters need to be
|
||||
* refreshed or collapsed (if the folder is deleted, say).
|
||||
*/
|
||||
public boolean doesFilterStringListContentsOf(ISystemFilterString filterString, String remoteObjectAbsoluteName);
|
||||
|
||||
/**
|
||||
* Return true if the given remote object name will pass the filtering criteria for any of
|
||||
* Return true if the given remote object name will pass the filtering criteria for any of
|
||||
* the filter strings in this filter.
|
||||
*/
|
||||
public boolean doesFilterMatch(ISystemFilter filter, String remoteObjectAbsoluteName);
|
||||
|
||||
/**
|
||||
* Return true if the given remote object name will pass the filtering criteria for the
|
||||
* Return true if the given remote object name will pass the filtering criteria for the
|
||||
* given filter string in this filter.
|
||||
*/
|
||||
public boolean doesFilterStringMatch(String filterString, String remoteObjectAbsoluteName, boolean caseSensitive);
|
||||
|
@ -334,11 +347,11 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
public boolean supportsCaching();
|
||||
|
||||
/**
|
||||
* Return the CacheManager for this subsystem. If the SubSystem returns true for
|
||||
* Return the CacheManager for this subsystem. If the SubSystem returns true for
|
||||
* supportsCaching() then it must return a valid CacheManager, otherwise it is free
|
||||
* to return null.
|
||||
*
|
||||
* @see #supportsCaching()
|
||||
* @see #supportsCaching()
|
||||
*/
|
||||
public ICacheManager getCacheManager();
|
||||
|
||||
|
@ -363,7 +376,7 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
*/
|
||||
public boolean isOffline();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Synchronously connect to the remote system.
|
||||
*
|
||||
|
@ -384,16 +397,16 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
public void connect(IProgressMonitor monitor, boolean forcePrompt) throws Exception;
|
||||
|
||||
/**
|
||||
* Asynchronously connect to the remote system, optionally forcing a signon prompt
|
||||
* Asynchronously connect to the remote system, optionally forcing a signon prompt
|
||||
* even if the password is cached in memory or on disk.
|
||||
* <p/>
|
||||
* This method must be called on the UI Thread! An Eclipse background job with a
|
||||
* progress monitor will be created automatically. If the optional callback is
|
||||
* <p/>
|
||||
* This method must be called on the UI Thread! An Eclipse background job with a
|
||||
* progress monitor will be created automatically. If the optional callback is
|
||||
* given, it will be called when the connect is complete.
|
||||
* You do not need to override this, as it does the progress monitor reporting
|
||||
* You do not need to override this, as it does the progress monitor reporting
|
||||
* for you.
|
||||
* <p/>
|
||||
* Override internalConnect if you want, but by default it calls
|
||||
* Override internalConnect if you want, but by default it calls
|
||||
* <code>getConnectorService().connect(IProgressMonitor)</code>.
|
||||
*
|
||||
* @param forcePrompt forces the prompt dialog even if the password is in mem
|
||||
|
@ -560,7 +573,7 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
* Return true if this subsystem is to be hidden so it doesn't show in the Remote Systems
|
||||
* view when a connection is expanded. If so, this subsystem is for programmatic use only,
|
||||
* or is exposed in alternative view. Such is the case for command subsystems, for example.
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @return The value of the Hidden attribute
|
||||
*/
|
||||
boolean isHidden();
|
||||
|
@ -570,26 +583,26 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
* Specify true if this subsystem is to be hidden so it doesn't show in the Remote Systems
|
||||
* view when a connection is expanded. If so, this subsystem is for programmatic use only,
|
||||
* or is exposed in alternative view. Such is the case for command subsystems, for example.
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @param value The new value of the Hidden attribute
|
||||
*/
|
||||
void setHidden(boolean value);
|
||||
|
||||
/**
|
||||
* <i>Generated persistent property method</i><br>
|
||||
* Return the object that manages the list of
|
||||
* Return the object that manages the list of
|
||||
* filter pools referenced by this subsystem.
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @return The FilterPoolReferenceManager reference
|
||||
*/
|
||||
ISystemFilterPoolReferenceManager getFilterPoolReferenceManager();
|
||||
|
||||
/**
|
||||
* <i>Generated persistent property method</i><br>
|
||||
* Set the object that manages the list of
|
||||
* Set the object that manages the list of
|
||||
* filter pools referenced by this subsystem. This is called by the subsystem factory
|
||||
* when creating or restoring subsystems.
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @generated This field/method will be replaced during code generation
|
||||
* @param l The new value of the FilterPoolReferenceManager reference
|
||||
*/
|
||||
void setFilterPoolReferenceManager(ISystemFilterPoolReferenceManager value);
|
||||
|
@ -601,41 +614,52 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
* @return An object representing the parent
|
||||
*/
|
||||
Object getTargetForFilter(ISystemFilterReference filterRef);
|
||||
|
||||
|
||||
/**
|
||||
* Returns the interface type (i.e. a Class object that is an Interface) of a service subsystem.
|
||||
* @return the service interface on which this service subsystem is implemented. If this
|
||||
* subsystem is not a service subsystem it must return null.
|
||||
* Returns the interface type (i.e. a Class object that is an Interface) of
|
||||
* a service subsystem.
|
||||
*
|
||||
* @return the service interface on which this service subsystem is
|
||||
* implemented. If this subsystem is not a service subsystem it must
|
||||
* return <code>null</code>.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public Class getServiceType();
|
||||
|
||||
/**
|
||||
* Requests a service subsystem to switch to a new configuration. If the configuration
|
||||
* is compatible with this subsystem then it must disconnect, possibly reset its
|
||||
* filter pool references, and request new services and parameters from its new configuration.
|
||||
* It must also answer true to {@link #canSwitchTo(ISubSystemConfiguration)}.
|
||||
* If the configuration is not compatible with this subsystem then this must do nothing and must answer
|
||||
* false to {@link #canSwitchTo(ISubSystemConfiguration)}.
|
||||
* Requests a service subsystem to switch to a new configuration. If the
|
||||
* configuration is compatible with this subsystem then it must disconnect,
|
||||
* possibly reset its filter pool references, and request new services and
|
||||
* parameters from its new configuration. It must also answer true to
|
||||
* {@link #canSwitchTo(ISubSystemConfiguration)}. If the configuration is
|
||||
* not compatible with this subsystem then this must do nothing and must
|
||||
* answer false to {@link #canSwitchTo(ISubSystemConfiguration)}.
|
||||
*
|
||||
* @param configuration the configuration to which to switch.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public void switchServiceFactory(ISubSystemConfiguration configuration);
|
||||
|
||||
|
||||
/**
|
||||
* Determine is this subsystem is compatible with this specified configuration.
|
||||
* Determine is this subsystem is compatible with this specified
|
||||
* configuration.
|
||||
*
|
||||
* @param configuration the configuration which may be switched to
|
||||
* @return true if the subsystem can switch to this configuration, false otherwise.
|
||||
* Subsystems which are not service subsystems must return false.
|
||||
* @return true if the subsystem can switch to this configuration, false
|
||||
* otherwise. Subsystems which are not service subsystems must
|
||||
* return false.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public boolean canSwitchTo(ISubSystemConfiguration configuration);
|
||||
|
||||
|
||||
|
||||
|
||||
//// -------------------------------------
|
||||
// // GUI methods
|
||||
// // GUI methods
|
||||
// // -------------------------------------
|
||||
// /**
|
||||
// * Return the single property page to show in the tabbed notebook for the
|
||||
// * for SubSystem property of the parent Connection. Return null if no
|
||||
// * for SubSystem property of the parent Connection. Return null if no
|
||||
// * page is to be contributed for this. You are limited to a single page,
|
||||
// * so you may have to compress. It is recommended you prompt for the port
|
||||
// * if applicable since the common base subsystem property page is not shown
|
||||
|
|
|
@ -17,7 +17,8 @@
|
|||
* Martin Oberhuber (Wind River) - [189123] Move renameSubSystemProfile() from UI to Core
|
||||
* David Dykstal (IBM) - [197036] change signature of getFilterPoolManager method to be able to control the creation of filter pools
|
||||
* David Dykstal (IBM) - [217556] remove service subsystem types
|
||||
* Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI
|
||||
* Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
@ -38,8 +39,8 @@ import org.eclipse.rse.services.IService;
|
|||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
* Subsystem configuration implementations must subclass
|
||||
* SubSystemConfiguration rather than implementing this interface
|
||||
* directly.
|
||||
* <code>SubSystemConfiguration</code> rather than implementing
|
||||
* this interface directly.
|
||||
*/
|
||||
public interface ISubSystemConfiguration extends ISystemFilterPoolManagerProvider, IRSEPersistableContainer {
|
||||
// ---------------------------------
|
||||
|
@ -397,39 +398,55 @@ public interface ISubSystemConfiguration extends ISystemFilterPoolManagerProvide
|
|||
public IConnectorService getConnectorService(IHost host);
|
||||
|
||||
/**
|
||||
* Sets the connector service for a particular host.
|
||||
* This is usually mangaged by a connector service manager known
|
||||
* to this configuration.
|
||||
* This must be implemented by service subsystem configurations.
|
||||
* Service subsystems allow a connector service to be changed.
|
||||
* Set the connector service for a particular host. This is usually managed
|
||||
* by a connector service manager known to this configuration. This must be
|
||||
* implemented by service subsystem configurations. Service subsystems allow
|
||||
* a connector service to be changed.
|
||||
*
|
||||
* @param host the host for which to set this connector service.
|
||||
* @param connectorService the connector service associated with this host.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public void setConnectorService(IHost host, IConnectorService connectorService);
|
||||
|
||||
/**
|
||||
* Get the service type associated with this subsystem configuration.
|
||||
* If the configuration is not a service subsystem configuration it must return null, otherwise
|
||||
* it must return the interface class that the underlying service layer implements.
|
||||
* @return an interface class that is implemented by the service layer used by subsystems that have this configuration.
|
||||
* Get the service type associated with this subsystem configuration. If the
|
||||
* configuration is not a service subsystem configuration it must return
|
||||
* <code>null</code>, otherwise it must return the interface class that
|
||||
* the underlying service layer implements.
|
||||
*
|
||||
* @return an interface class that is implemented by the service layer used
|
||||
* by subsystems that have this configuration, or <code>null</code>
|
||||
* if this is not a service subsystem configuration.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public Class getServiceType();
|
||||
|
||||
/**
|
||||
* Get the implementation type of the service associated with this subsystem configuration.
|
||||
* If the configuration is not a service subsystem configuration then this must return null, otherwise
|
||||
* it must return the class that implements the interface specified in {@link #getServiceType()}.
|
||||
* @return an implementation class that implements the interface specified in {@link #getServiceType()}.
|
||||
* Get the implementation type of the service associated with this subsystem
|
||||
* configuration. If the configuration is not a service subsystem
|
||||
* configuration then this must return <code>null</code>, otherwise it
|
||||
* must return the class that implements the interface specified in
|
||||
* {@link #getServiceType()}.
|
||||
*
|
||||
* @return an implementation class that implements the interface specified
|
||||
* in {@link #getServiceType()}, or <code>null</code> if this is
|
||||
* not a service subsystem configuration.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public Class getServiceImplType();
|
||||
|
||||
/**
|
||||
* Get the actual service associated with a particular host.
|
||||
* If the configuration is not a service subsystem this must return null.
|
||||
* Otherwise this must return the particular instance of the class returned by {@link #getServiceImplType()}
|
||||
* that is associated with this host instance.
|
||||
* Get the actual service associated with a particular host. If the
|
||||
* configuration is not a service subsystem this must return null. Otherwise
|
||||
* this must return the particular instance of the class returned by
|
||||
* {@link #getServiceImplType()} that is associated with this host instance.
|
||||
*
|
||||
* @param host The host for which to retrieve the service.
|
||||
* @return The instance of {@link IService} which is associated with this host.
|
||||
* @return The instance of {@link IService} which is associated with this
|
||||
* host, or <code>null</code> if this is not a service subsystem
|
||||
* configuration.
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public IService getService(IHost host);
|
||||
|
||||
|
@ -522,20 +539,24 @@ public interface ISubSystemConfiguration extends ISystemFilterPoolManagerProvide
|
|||
// FILTER POOL METHODS...
|
||||
// ---------------------------------
|
||||
/**
|
||||
* A subsystem configuration has a filter pool manager for each profile.
|
||||
* Get the filter pool manager for the given profile.
|
||||
* Get the filter pool manager for the given profile. A subsystem
|
||||
* configuration has a filter pool manager for each profile.
|
||||
*
|
||||
* @param profile The system profile for which to get the manager.
|
||||
* @param force if true then create the default filters for this subsystem configuration in this profile. This should only be
|
||||
* done during initial subsystem creation, not during subsystem restore.
|
||||
* @param force if true then create the default filters for this subsystem
|
||||
* configuration in this profile. This should only be done during
|
||||
* initial subsystem creation, not during subsystem restore.
|
||||
* @return a filter pool manager
|
||||
* @since org.eclipse.rse.core 3.0
|
||||
*/
|
||||
public ISystemFilterPoolManager getFilterPoolManager(ISystemProfile profile, boolean force);
|
||||
|
||||
/**
|
||||
* A subsystem configuration has a filter pool manager for each profile.
|
||||
* Get the filter pool manager for the given profile.
|
||||
* Do not force the creation of default filter pools.
|
||||
* Fully equivalent to getFilterPoolManager(profile, false).
|
||||
* Get the filter pool manager for the given profile. A subsystem
|
||||
* configuration has a filter pool manager for each profile. Do not force
|
||||
* the creation of default filter pools. Fully equivalent to
|
||||
* getFilterPoolManager(profile, false).
|
||||
*
|
||||
* @param profile The system profile for which to get the manager.
|
||||
* @return a filter pool manager
|
||||
*/
|
||||
|
|
|
@ -1,52 +1,55 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation. 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - 168977: refactoring IConnectorService and ServerLauncher hierarchies
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
||||
/**
|
||||
* This interface defines constants for the Remote Server Launcher.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface RemoteServerLauncherConstants
|
||||
public interface RemoteServerLauncherConstants
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Default daemon port, 4075.
|
||||
* Default daemon port, 4075.
|
||||
*/
|
||||
public static final int DEFAULT_DAEMON_PORT = 4075;
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* Default REXEC port, 512.
|
||||
*/
|
||||
public static final int DEFAULT_REXEC_PORT = 512;
|
||||
|
||||
|
||||
/**
|
||||
* Default REXEC path, "/opt/rseserver/".
|
||||
*/
|
||||
public static final String DEFAULT_REXEC_PATH = "/opt/rseserver/"; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* Linux REXEC script command, "perl ./server.pl".
|
||||
*/
|
||||
public static final String LINUX_REXEC_SCRIPT = "sh -c \"PATH=/opt/j2sdk1.4.2/bin:$PATH; export PATH; perl ./server.pl\""; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* Unix REXEC script command, "./server.sh".
|
||||
*/
|
||||
public static final String UNIX_REXEC_SCRIPT = "sh -c \"PATH=/opt/j2sdk1.4.2/bin:$PATH; export PATH; sh server.sh\""; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* Default REXEC script command. TIt is equivalent to <code>LINUX_REXEC_SCRIPT</code>.
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2004, 2007 IBM Corporation and others.
|
||||
* Copyright (c) 2004, 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
|
||||
|
@ -7,12 +7,12 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
@ -20,188 +20,126 @@ package org.eclipse.rse.core.subsystems;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Server Launch Type Enum type.
|
||||
*
|
||||
* @noextend This class is not intended to be subclassed by clients.
|
||||
* @noinstantiate This class is not intended to be instantiated by clients. Use
|
||||
* the {@link #get(int)} or {@link #get(String)} factory methods
|
||||
* instead.
|
||||
*/
|
||||
public final class ServerLaunchType {
|
||||
/**
|
||||
* The '<em><b>Daemon</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to be launched by calling a daemon that is listening on a port.
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>Daemon</b></em>' literal value (value 0). The server
|
||||
* code is to be launched by calling a daemon that is listening on a port.
|
||||
*
|
||||
* @see #DAEMON_LITERAL
|
||||
* @model name="Daemon"
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int DAEMON = 0;
|
||||
|
||||
/**
|
||||
* The '<em><b>Rexec</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to be launched using REXEC
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>Rexec</b></em>' literal value (value 1). The server code
|
||||
* is to be launched using REXEC
|
||||
*
|
||||
* @see #REXEC_LITERAL
|
||||
* @model name="Rexec"
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int REXEC = 1;
|
||||
|
||||
/**
|
||||
* The '<em><b>Running</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to already running, and doesn't need to be launched.
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>Running</b></em>' literal value (value 2). The server
|
||||
* code is to already running, and doesn't need to be launched.
|
||||
*
|
||||
* @see #RUNNING_LITERAL
|
||||
* @model name="Running"
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int RUNNING = 2;
|
||||
|
||||
/**
|
||||
* The '<em><b>Telnet</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to be launched using TELNET.
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>Telnet</b></em>' literal value (value 3). The server
|
||||
* code is to be launched using TELNET.
|
||||
*
|
||||
* @see #TELNET_LITERAL
|
||||
* @model name="Telnet"
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int TELNET = 3;
|
||||
|
||||
/**
|
||||
* The '<em><b>SSH</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to be launched using SSH.
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>SSH</b></em>' literal value (value 4). The server code
|
||||
* is to be launched using SSH.
|
||||
*
|
||||
* @see #SSH_LITERAL
|
||||
* @model
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int SSH = 4;
|
||||
|
||||
/**
|
||||
* The '<em><b>FTP</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to be launched using FTP
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>FTP</b></em>' literal value (value 5). The server code
|
||||
* is to be launched using FTP
|
||||
*
|
||||
* @see #FTP_LITERAL
|
||||
* @model
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int FTP = 5;
|
||||
|
||||
/**
|
||||
* The '<em><b>HTTP</b></em>' literal value.
|
||||
* <!-- begin-user-doc -->
|
||||
* The server code is to be launched using HTTP
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>HTTP</b></em>' literal value (value 6). The server code
|
||||
* is to be launched using HTTP
|
||||
*
|
||||
* @see #HTTP_LITERAL
|
||||
* @model
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final int HTTP = 6;
|
||||
|
||||
/**
|
||||
* The '<em><b>Daemon</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* The server code is to be launched by calling a daemon that is listening on a port.
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* @see #DAEMON
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType DAEMON_LITERAL = new ServerLaunchType(DAEMON, "Daemon"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The '<em><b>Rexec</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* The server code is to be launched using REXEC
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>Rexec</b></em>' literal object. The server code is to be
|
||||
* launched using REXEC.
|
||||
*
|
||||
* @see #REXEC
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType REXEC_LITERAL = new ServerLaunchType(REXEC, "Rexec"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The '<em><b>Running</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* The server code is to already running, and doesn't need to be launched.
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* @see #RUNNING
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType RUNNING_LITERAL = new ServerLaunchType(RUNNING, "Running"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The '<em><b>Telnet</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* The server code is to be launched using TELNET.
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* @see #TELNET
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType TELNET_LITERAL = new ServerLaunchType(TELNET, "Telnet"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The '<em><b>SSH</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* If the meaning of '<em><b>SSH</b></em>' literal object isn't clear,
|
||||
* there really should be more of a description here...
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* @see #SSH
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType SSH_LITERAL = new ServerLaunchType(SSH, "SSH"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The '<em><b>FTP</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* The server code is to be launched using FTP
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>FTP</b></em>' literal object. The server code is to be
|
||||
* launched using FTP.
|
||||
*
|
||||
* @see #FTP
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType FTP_LITERAL = new ServerLaunchType(FTP, "FTP"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The '<em><b>HTTP</b></em>' literal object.
|
||||
* <!-- begin-user-doc -->
|
||||
* <p>
|
||||
* The server code is to be launched using HTTP
|
||||
* </p>
|
||||
* <!-- end-user-doc -->
|
||||
* The '<em><b>HTTP</b></em>' literal object. The server code is to be
|
||||
* launched using HTTP.
|
||||
*
|
||||
* @see #HTTP
|
||||
* @generated
|
||||
* @ordered
|
||||
*/
|
||||
public static final ServerLaunchType HTTP_LITERAL = new ServerLaunchType(HTTP, "HTTP"); //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* An array of all the '<em><b>Server Launch Type</b></em>' enumerators.
|
||||
* <!-- begin-user-doc -->
|
||||
* <!-- end-user-doc -->
|
||||
* @generated
|
||||
*/
|
||||
private static final ServerLaunchType[] VALUES_ARRAY = new ServerLaunchType[] { DAEMON_LITERAL, REXEC_LITERAL, RUNNING_LITERAL, TELNET_LITERAL, SSH_LITERAL, FTP_LITERAL, HTTP_LITERAL, };
|
||||
|
||||
|
@ -210,17 +148,11 @@ public final class ServerLaunchType {
|
|||
|
||||
/**
|
||||
* A public read-only list of all the '<em><b>Server Launch Type</b></em>' enumerators.
|
||||
* <!-- begin-user-doc -->
|
||||
* <!-- end-user-doc -->
|
||||
* @generated
|
||||
*/
|
||||
public static final List VALUES = Arrays.asList(VALUES_ARRAY);
|
||||
|
||||
/**
|
||||
* Returns the '<em><b>Server Launch Type</b></em>' literal with the specified name.
|
||||
* <!-- begin-user-doc -->
|
||||
* <!-- end-user-doc -->
|
||||
* @generated
|
||||
*/
|
||||
public static ServerLaunchType get(String name) {
|
||||
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
|
||||
|
@ -234,9 +166,6 @@ public final class ServerLaunchType {
|
|||
|
||||
/**
|
||||
* Returns the '<em><b>Server Launch Type</b></em>' literal with the specified value.
|
||||
* <!-- begin-user-doc -->
|
||||
* <!-- end-user-doc -->
|
||||
* @generated
|
||||
*/
|
||||
public static ServerLaunchType get(int value) {
|
||||
switch (value) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others.
|
||||
* 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
|
||||
|
@ -7,12 +7,12 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.core.subsystems;
|
||||
|
@ -26,89 +26,88 @@ import org.eclipse.rse.core.filters.ISystemFilterReference;
|
|||
import org.eclipse.rse.core.model.ISystemProfile;
|
||||
|
||||
/**
|
||||
* Static helper methods
|
||||
* Static helper methods for subsystems.
|
||||
*
|
||||
* @noextend This class is not intended to be subclassed by clients.
|
||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||
*/
|
||||
public class SubSystemHelpers
|
||||
public class SubSystemHelpers
|
||||
{
|
||||
|
||||
/**
|
||||
* Give a filter pool reference, return parent subsystem
|
||||
* Returns this: <pre><code>(SubSystem)poolReference.getProvider()</pre></code>.
|
||||
*/
|
||||
public static ISubSystem getParentSubSystem(ISystemFilterPoolReference poolReference)
|
||||
{
|
||||
return (ISubSystem)poolReference.getProvider();
|
||||
}
|
||||
/**
|
||||
* Give a filter pool reference, return parent subsystem
|
||||
* Returns this: <pre><code>(SubSystem)poolReference.getProvider()</pre></code>.
|
||||
*/
|
||||
public static ISubSystem getParentSubSystem(ISystemFilterPoolReference poolReference)
|
||||
{
|
||||
return (ISubSystem)poolReference.getProvider();
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter pool, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterPool pool)
|
||||
{
|
||||
return (ISubSystemConfiguration)pool.getProvider();
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilter filter)
|
||||
{
|
||||
return (ISubSystemConfiguration)filter.getProvider();
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter pool or filter, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterContainer container)
|
||||
{
|
||||
if (container instanceof ISystemFilterPool)
|
||||
return getParentSubSystemConfiguration((ISystemFilterPool)container);
|
||||
else
|
||||
return getParentSubSystemConfiguration((ISystemFilter)container);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Give a filter pool reference, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterPoolReference poolRef)
|
||||
{
|
||||
ISystemFilterPool pool = poolRef.getReferencedFilterPool();
|
||||
if (pool != null)
|
||||
return getParentSubSystemConfiguration(pool);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter reference, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterReference filterRef)
|
||||
{
|
||||
ISystemFilter filter = filterRef.getReferencedFilter();
|
||||
if (filter != null)
|
||||
return getParentSubSystemConfiguration(filter);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter pool, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterPool pool)
|
||||
{
|
||||
return (ISubSystemConfiguration)pool.getProvider();
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilter filter)
|
||||
{
|
||||
return (ISubSystemConfiguration)filter.getProvider();
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter pool or filter, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterContainer container)
|
||||
{
|
||||
if (container instanceof ISystemFilterPool)
|
||||
return getParentSubSystemConfiguration((ISystemFilterPool)container);
|
||||
else
|
||||
return getParentSubSystemConfiguration((ISystemFilter)container);
|
||||
}
|
||||
/**
|
||||
* Give a filter pool, return its parent filter pool manager
|
||||
*/
|
||||
public static ISystemFilterPoolManager getParentSystemFilterPoolManager(ISystemFilterPool pool)
|
||||
{
|
||||
return pool.getSystemFilterPoolManager();
|
||||
}
|
||||
/**
|
||||
* Give a filter pool, return its parent profile
|
||||
*/
|
||||
public static ISystemProfile getParentSystemProfile(ISystemFilterPool pool)
|
||||
{
|
||||
return getParentSubSystemConfiguration(pool).getSystemProfile(pool);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Give a filter pool reference, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterPoolReference poolRef)
|
||||
{
|
||||
ISystemFilterPool pool = poolRef.getReferencedFilterPool();
|
||||
if (pool != null)
|
||||
return getParentSubSystemConfiguration(pool);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter reference, return parent subsystem factory
|
||||
*/
|
||||
public static ISubSystemConfiguration getParentSubSystemConfiguration(ISystemFilterReference filterRef)
|
||||
{
|
||||
ISystemFilter filter = filterRef.getReferencedFilter();
|
||||
if (filter != null)
|
||||
return getParentSubSystemConfiguration(filter);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a filter pool, return its parent filter pool manager
|
||||
*/
|
||||
public static ISystemFilterPoolManager getParentSystemFilterPoolManager(ISystemFilterPool pool)
|
||||
{
|
||||
return pool.getSystemFilterPoolManager();
|
||||
}
|
||||
/**
|
||||
* Give a filter pool, return its parent profile
|
||||
*/
|
||||
public static ISystemProfile getParentSystemProfile(ISystemFilterPool pool)
|
||||
{
|
||||
return getParentSubSystemConfiguration(pool).getSystemProfile(pool);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2002, 2007 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
|
||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
|
@ -20,24 +20,26 @@ package org.eclipse.rse.internal.core;
|
|||
|
||||
/**
|
||||
* Constants related to project and folder names.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface SystemResourceConstants
|
||||
public interface SystemResourceConstants
|
||||
{
|
||||
|
||||
public static final String RESOURCE_PROJECT_NAME = "RemoteSystemsConnections"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_TEMPFILES_PROJECT_NAME= "RemoteSystemsTempFiles"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_CONNECTIONS_FOLDER_NAME = "Connections"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_FILTERS_FOLDER_NAME = "Filters"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_TYPE_FILTERS_FOLDER_NAME = "TypeFilters"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_USERACTIONS_FOLDER_NAME = "UserActions"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_COMPILECOMMANDS_FOLDER_NAME = "CompileCommands"; //$NON-NLS-1$
|
||||
|
||||
|
||||
|
||||
public static final String RESOURCE_PROJECT_NAME = "RemoteSystemsConnections"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_TEMPFILES_PROJECT_NAME= "RemoteSystemsTempFiles"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_CONNECTIONS_FOLDER_NAME = "Connections"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_FILTERS_FOLDER_NAME = "Filters"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_TYPE_FILTERS_FOLDER_NAME = "TypeFilters"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_USERACTIONS_FOLDER_NAME = "UserActions"; //$NON-NLS-1$
|
||||
public static final String RESOURCE_COMPILECOMMANDS_FOLDER_NAME = "CompileCommands"; //$NON-NLS-1$
|
||||
|
||||
|
||||
// yantzi: artemis 6.0, offline messages
|
||||
public static final String MSG_OFFLINE_CANT_CONNECT = "RSEC3001"; //$NON-NLS-1$
|
||||
// Connection doesn't exist
|
||||
public static final String MSG_CONNECTION_DELETED = "RSEF5011"; //$NON-NLS-1$
|
||||
|
||||
|
||||
public static final String MSG_LOADING_PROFILE_SHOULDBE_ACTIVATED = "RSEG1068"; //$NON-NLS-1$
|
||||
public static final String MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED = "RSEG1069"; //$NON-NLS-1$
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006, 2007 IBM Corporation and others.
|
||||
* 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
|
||||
|
@ -7,16 +7,21 @@
|
|||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.persistence.dom;
|
||||
|
||||
/**
|
||||
* Constants used in RSE DOMs.
|
||||
*
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IRSEDOMConstants {
|
||||
// node types
|
||||
public static final String TYPE_PROFILE = "Profile"; //$NON-NLS-1$
|
||||
|
@ -45,7 +50,7 @@ public interface IRSEDOMConstants {
|
|||
public static final String ATTRIBUTE_TYPE = "type"; //$NON-NLS-1$
|
||||
public static final String ATTRIBUTE_DESCRIPTION = "description"; //$NON-NLS-1$
|
||||
|
||||
// host attributes
|
||||
// host attributes
|
||||
public static final String ATTRIBUTE_HOSTNAME = "hostname"; //$NON-NLS-1$
|
||||
public static final String ATTRIBUTE_OFFLINE = "offline"; //$NON-NLS-1$
|
||||
public static final String ATTRIBUTE_SYSTEM_TYPE = "systemType"; //$NON-NLS-1$
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue