# HG changeset patch # User Jan Lahoda # Date 1210951194 -7200 # Node ID 2c86edcd8efed85bb8ac2e6d743a2e270cd826e2 # Parent 4913c33153a5b3ce2722451c5c3a9b25a773c0b2 Temporary fix for #128326 - making the parseFiles invoked from updateFolder non-cancelable, as it originally was. (transplanted from ad556cb5835b8b5acd241661195a7811cd6ed830) diff --git a/java.source/src/org/netbeans/modules/java/source/usages/RepositoryUpdater.java b/java.source/src/org/netbeans/modules/java/source/usages/RepositoryUpdater.java --- a/java.source/src/org/netbeans/modules/java/source/usages/RepositoryUpdater.java +++ b/java.source/src/org/netbeans/modules/java/source/usages/RepositoryUpdater.java @@ -1779,7 +1779,11 @@ return true; } - private void parseFiles(URL root, final File classCache, boolean isInitialCompilation, Iterable children, boolean clean, ProgressHandle handle, JavaFileFilterImplementation filter, Map> resources, Set compiledFiles, Set toRecompile, Map> misplacedSource2FQNs) throws IOException { + private void parseFiles(URL root, final File classCache, boolean isInitialCompilation, Iterable children, + boolean clean, ProgressHandle handle, JavaFileFilterImplementation filter, + Map> resources, Set compiledFiles, Set toRecompile, + Map> misplacedSource2FQNs, boolean allowCancel) throws IOException { + assert !allowCancel || compiledFiles != null; LOGGER.fine("parseFiles: " + root); final FileObject rootFo = URLMapper.findFileObject(root); if (rootFo == null) { @@ -1993,7 +1997,7 @@ handle.setDisplayName(message); } errorBadgesToRefresh.addAll(batchCompile(toCompile, rootFo, cpInfo, sa, dirtyCrossFiles, - compiledFiles, compiledFiles != null ? canceled : null, added, + compiledFiles, allowCancel ? canceled : null, added, isInitialCompilation ? RepositoryUpdater.this.closed:null, toRecompile, misplacedSource2FQNs)); } Set> _at = null; @@ -2089,7 +2093,7 @@ Map > resources = getAllClassFiles(classCache, FileObjects.getRelativePath(rootFile,folderFile),true); final LazyFileList children = new LazyFileList(folderFile); Set compiledFiles = new HashSet(); - parseFiles(root, classCache, isInitialCompilation, children, clean, handle, filter, resources, compiledFiles, null, misplacedSource2FQNs); + parseFiles(root, classCache, isInitialCompilation, children, clean, handle, filter, resources, compiledFiles, null, misplacedSource2FQNs, false); if (!misplacedSource2FQNs.isEmpty()) { if (LOGGER.isLoggable(Level.FINE)) { @@ -2101,7 +2105,7 @@ gatherResourceForParseFilesFromRoot(compiledFiles, rootFile, classCache, resources); - parseFiles(root, classCache, isInitialCompilation, compiledFiles, true, handle, filter, resources, null, null, misplacedSource2FQNs); + parseFiles(root, classCache, isInitialCompilation, compiledFiles, true, handle, filter, resources, null, null, misplacedSource2FQNs, false); } } catch (OutputFileManager.InvalidSourcePath e) { //Deleted project, ignore @@ -2446,7 +2450,7 @@ } } - private Map> compileFileFromRoots(Map> toRecompile, boolean cancellable, Map> depsToRecompile) throws IOException { + private Map> compileFileFromRoots(Map> toRecompile, final boolean cancellable, Map> depsToRecompile) throws IOException { List handledRoots = new LinkedList(); ProgressHandle handle = ProgressHandleFactory.createHandle(NbBundle.getMessage(RepositoryUpdater.class,"MSG_RefreshingWorkspace")); @@ -2487,7 +2491,7 @@ final Map> misplacedSource2FQNs = new HashMap>(); - parseFiles(root, cacheRoot, false, files, true, handle, filter, resources, compiledFiles, thisDepsToRecompile, misplacedSource2FQNs); + parseFiles(root, cacheRoot, false, files, true, handle, filter, resources, compiledFiles, thisDepsToRecompile, misplacedSource2FQNs, cancellable); if (!misplacedSource2FQNs.isEmpty()) { if (LOGGER.isLoggable(Level.FINE)) { @@ -2498,7 +2502,7 @@ resources.clear(); gatherResourceForParseFilesFromRoot(files, rootFile, cacheRoot, resources); - parseFiles(root, cacheRoot, false, files, true, handle, filter, resources, compiledFiles, thisDepsToRecompile, misplacedSource2FQNs); + parseFiles(root, cacheRoot, false, files, true, handle, filter, resources, compiledFiles, thisDepsToRecompile, misplacedSource2FQNs, cancellable); } if (thisDepsToRecompile != null && !thisDepsToRecompile.isEmpty()) {