1
0
Fork 0
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:
Martin Oberhuber 2008-03-28 16:51:45 +00:00
parent 9bdc0ddc76
commit c6a5434726
33 changed files with 3153 additions and 2967 deletions

View file

@ -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>

View file

@ -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$
}

View file

@ -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();

View file

@ -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 {

View file

@ -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;

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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() {
}

View file

@ -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
*/

View file

@ -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 {
/**

View file

@ -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;
}

View file

@ -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$
}

View file

@ -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();

View file

@ -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

View file

@ -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);
}

View file

@ -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();

View file

@ -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);

View file

@ -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);

View file

@ -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);
}

View file

@ -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);

View file

@ -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();

View file

@ -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);

View file

@ -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

View file

@ -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: "\"
*/

View file

@ -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;
}

View file

@ -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

View file

@ -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
*/

View file

@ -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>.
*/

View file

@ -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) {

View file

@ -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);
}
}

View file

@ -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$

View file

@ -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$