Bug 137879 Unable to specify resources in zip filesystem
How to repeat the problem: 1. Check out and compile the org.eclipse.ui.filesystem.examples plug-in. 2. Start runtime workspace. The following operations are in the runtime workspace. 3. Create a new project, e.g. TestZipFilesystem 4. Create a new file, in the wizard page, check "Link file to file system" and choose the file system as "Zip file". 5. Click on Browse... button and browse to a zip file in the local file system , choose OK. 6. Now, the file name field becomes "GettingStarted.zip", and the link to file system filed becomes "zip:/d:/Downloads/GettingStarted.zip". 7. On windows platform, an error message appeared ": is an invalid character in resource name zip:.". And the Finish button is grayed out. On linux platform, a warning message appear and say that the resource is not available in the workspace. The finish button works, though. =========== 8. In both cases, there is no way to choose a file in the zip as the linked resource. In other words, the UI does not treat the zip as a file system. The memory file system has similar problem, i.e. there is no real UI support for these file systems.
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
linkedResourceGroupHeight = groupSize.y;
			}
			shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
			composite.layout();
			advancedButton.setText(IDEWorkbenchMessages.hideAdvanced);
		}
	}
	/**
	 * The <code>WizardNewFileCreationPage</code> implementation of this
	 * <code>Listener</code> method handles all events and enablements for
	 * controls on this page. Subclasses may extend.
	 */
	public void handleEvent(Event event) {
		setPageComplete(validatePage());
	}
	/**
	 * Sets the initial contents of the container name entry field, based upon
	 * either a previously-specified initial value or the ability to determine
	 * such a value.
	 */
	protected void initialPopulateContainerNameField() {
		if (initialContainerFullPath != null) {
			resourceGroup.setContainerFullPath(initialContainerFullPath);
		} else {
			Iterator it = currentSelection.iterator();
			if (it.hasNext()) {
				Object object = it.next();
				IResource selectedResource = null;
				if (object instanceof IResource) {
					selectedResource = (IResource) object;