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
for (int i = numSegments - 2; i > 0; i--) {
						IFolder folder = root.getFolder(path
								.removeLastSegments(i));
						if (!folder.exists()) {
							folder.create(false, true, monitor);
						}
					}
				}
				fileHandle.create(contents, false, monitor);
			}
		} catch (CoreException e) {
			
			if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED) {
				fileHandle.refreshLocal(IResource.DEPTH_ZERO, null);
			} else {
				throw e;
			}
		}
		if (monitor.isCanceled()) {
			throw new OperationCanceledException();
		}
	}
	/**
	 * Creates a file resource handle for the file with the given workspace
	 * path. This method does not create the file resource; this is the
	 * responsibility of <code>createFile</code>.
	 * 
	 * @param filePath
	 *            the path of the file resource to create a handle for
	 * @return the new file resource handle