/** Open an appropriate directory browser */ private void handleURIBrowseButtonPressed() { String selectedResource = null; String path = getURIText().getText(); FileSystemElement fileSystem = fileSystemSelectionArea.getSelectedFileSystem(); IRemoteResourceSelectorProxy resourceSelector = fileSystem.getSelectorProxy(); if (resourceSelector != null) { switch (resourceType) { case FILE: { URI uri = resourceSelector.selectFile( fileSystem.getScheme(), path, ResourceSelectorWidgetMessages.ResourceSelectorWidget_select + sectionLabelText, browseButton.getShell()); if (uri != null) { selectedResource = uri.toString(); } break; } case DIRECTORY: { URI uri = resourceSelector.selectDirectory( fileSystem.getScheme(), path, ResourceSelectorWidgetMessages.ResourceSelectorWidget_select + sectionLabelText, browseButton.getShell()); if (uri != null) { selectedResource = uri.toString(); } break; } default: ProfileLaunchPlugin.log( IStatus.ERROR, ResourceSelectorWidgetMessages.ResourceSelectorWidget_unrecognized_resourceType); return; } } else { ProfileLaunchPlugin.log( IStatus.ERROR, ResourceSelectorWidgetMessages.ResourceSelectorWidget_getSelectorProxy_returned_null); } if (selectedResource != null) { updateURIField(selectedResource); } }