Bug 304199 [Path Variables] Second review pass for Dynamic Path Variables API
Not too much time left for API freeze, thus I have a second look at this new API. Changes under review are: - IProject#getPathVariableManager - changes in IPathVariableManager - IPathVariable - PathVariableResolver (SPI) If I missed something, please let me know. 1. IPathVariable#isPreferred. I am not sure how this is computed? Is it set once per whole Eclipse session? Is it possible that we end up having two 'the same' IPathVariables, where one is preferred and another one is not? 2. We had a discussion once, that dynamic path variables API may be more flexible. Right now we can get the manager only for the workspace or a project. I think that more flexible API would be: IWorkspace#getPathVariableManager(IResource) which would return the manager for the given resource and only IWorkspace and IProject scopes would be supported now. Maybe we could add support for IFolder in M7? 3. I don't understand this IPathVariableManager#convertToRelative. Why do we pass IResource there? The same for IPathvariableManager#getVariableRelativePathLocation. I assume that URI is enough...
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
}
    /**
     * Sets the context for use by the VCM provider to prompt the user
     * for check-out of files.
     * 
     * @param shell context for use by the VCM provider to prompt user
     * 	for check-out. The user will not be prompted if set to <code>null</code>.
     * @see IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)
     * @since 2.1
     */
    public void setContext(Shell shell) {
        context = shell;
    }
    /**
     * Sets whether the containment structures that are implied from the full paths
     * of file system objects being imported should be duplicated in the workbench.
     *
     * @param value <code>true</code> if containers should be created, and
     *  <code>false</code> otherwise
     */
    public void setCreateContainerStructure(boolean value) {
        createContainerStructure = value;
    }
    /**
     * Sets the file system objects to import.
     *
     * @param filesToImport the list of file system objects to be imported
     *   (element type: <code>Object</code>)
     */
    public void setFilesToImport(List filesToImport) {