### Eclipse Workspace Patch 1.0 #P org.eclipse.rse.ui Index: subsystems/org/eclipse/rse/core/subsystems/SubSystem.java =================================================================== RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java,v retrieving revision 1.84 diff -u -r1.84 SubSystem.java --- subsystems/org/eclipse/rse/core/subsystems/SubSystem.java 1 Jun 2007 19:31:21 -0000 1.84 +++ subsystems/org/eclipse/rse/core/subsystems/SubSystem.java 7 Jun 2007 16:48:13 -0000 @@ -24,6 +24,7 @@ * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect() * Xuan Chen (IBM) - [187342] Open in New Window expand failed error when not connected + * Rupen Mardirossian (IBM) - [187713] Modified getFilterReferenceWithAbsoluteName to return proper value ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -808,7 +809,9 @@ protected Object getFilterReferenceWithAbsoluteName(String key) { // figure out if there is a filter - String filterID = key; + int firstIndexOfStr = key.indexOf("IFileService."); //$NON-NLS-1$ + int firstIndexOfDot = key.indexOf ('.',firstIndexOfStr); + String filterID = key.substring(firstIndexOfDot+1, key.length()); try { ISystemFilterPoolReferenceManager filterMgr = getFilterPoolReferenceManager(); @@ -821,13 +824,14 @@ ISystemFilterPoolManager mgr = parentSubSystemConfiguration.getSystemFilterPoolManager(mgrName); int indexOfDot2 = filterID.indexOf('.', indexOfDot + 1); - if (mgr != null && indexOfDot2 > 0) + int indexOfDot3 = filterID.indexOf('.', indexOfDot2 + 1); + if (mgr != null && indexOfDot2 > 0 && indexOfDot3 > 0) { - String filterPoolName = filterID.substring(indexOfDot + 1, indexOfDot2); + String filterPoolName = filterID.substring(indexOfDot + 1, indexOfDot3); ISystemFilterPool filterPool = mgr.getSystemFilterPool(filterPoolName); - String filterName = filterID.substring(indexOfDot2 + 1, filterID.length()); + String filterName = filterID.substring(indexOfDot3 + 1, filterID.length()); if (filterPool != null) { ISystemFilter filter = filterPool.getSystemFilter(filterName);