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;
}
/**