diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java index 91e5479f1d3..4abf18a8345 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/ISystemRegistry.java @@ -274,10 +274,10 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie /** * Resolve a subsystem from it's absolute name - * + * The absolute name of a subsystem + * is denoted by profileName.connectionName:subsystemConfigurationId * @param absoluteSubSystemName the name of the subsystem - * - * @return the subsystem + * @return the subsystem or null if the profile, connection, or subsystem configuration cannot be found. */ public ISubSystem getSubSystem(String absoluteSubSystemName); diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java index f5dd1b21bec..d511c2db477 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java @@ -785,16 +785,12 @@ public class SystemRegistry implements ISystemRegistry return result; } - /** - * Resolve a subsystem from it's absolute name. The absolute name of a subsystem - * is denoted by profileName.connectionName:subsystemConfigurationId - * - * @param absoluteSubSystemName the name of the subsystem - * - * @return the subsystem + /* (non-Javadoc) + * @see org.eclipse.rse.core.model.ISystemRegistry#getSubSystem(java.lang.String) */ public ISubSystem getSubSystem(String absoluteSubSystemName) { + ISubSystem result = null; // first extract subsystem id int profileDelim = absoluteSubSystemName.indexOf("."); //$NON-NLS-1$ int connectionDelim = absoluteSubSystemName.indexOf(":", profileDelim + 1); //$NON-NLS-1$ @@ -806,10 +802,12 @@ public class SystemRegistry implements ISystemRegistry String srcSubSystemConfigurationId = absoluteSubSystemName.substring(connectionDelim + 1, absoluteSubSystemName.length()); ISystemProfile profile = getSystemProfile(srcProfileName); - return getSubSystem(profile, srcConnectionName, srcSubSystemConfigurationId); + if (profile != null) { + result = getSubSystem(profile, srcConnectionName, srcSubSystemConfigurationId); + } } - return null; + return result; } /**