|
From: David C. <dc...@us...> - 2005-11-20 02:23:25
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4864/src/org/rubypeople/rdt/internal/core/builder Modified Files: MassIndexUpdaterJob.java MassIndexUpdater.java Log Message: Changed job management for index building. Changed finds to be job-based. Index: MassIndexUpdaterJob.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder/MassIndexUpdaterJob.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MassIndexUpdaterJob.java 13 Nov 2005 15:47:08 -0000 1.1 --- MassIndexUpdaterJob.java 20 Nov 2005 02:23:11 -0000 1.2 *************** *** 17,20 **** --- 17,21 ---- import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; + import org.rubypeople.rdt.internal.core.symbols.SymbolSchedulingRule; public class MassIndexUpdaterJob extends Job { *************** *** 28,38 **** public MassIndexUpdaterJob(MassIndexUpdater massIndexUpdater, List rubyProjects) { ! super("Mass Index Update"); this.massIndexUpdater = massIndexUpdater; this.rubyProjects = rubyProjects; } protected IStatus run(IProgressMonitor monitor) { ! massIndexUpdater.updateProjects(rubyProjects); return Status.OK_STATUS; } --- 29,43 ---- public MassIndexUpdaterJob(MassIndexUpdater massIndexUpdater, List rubyProjects) { ! super("Update Ruby Symbol Index"); this.massIndexUpdater = massIndexUpdater; this.rubyProjects = rubyProjects; + setRule(new SymbolSchedulingRule()); + setSystem(true); + setPriority(Job.LONG); } + protected IStatus run(IProgressMonitor monitor) { ! massIndexUpdater.updateProjects(rubyProjects, monitor); return Status.OK_STATUS; } Index: MassIndexUpdater.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder/MassIndexUpdater.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MassIndexUpdater.java 13 Nov 2005 15:47:08 -0000 1.5 --- MassIndexUpdater.java 20 Nov 2005 02:23:11 -0000 1.6 *************** *** 18,21 **** --- 18,22 ---- import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; + import org.eclipse.core.runtime.IProgressMonitor; import org.jruby.ast.Node; import org.rubypeople.rdt.core.RubyCore; *************** *** 36,43 **** } ! public void updateProjects(List projects) { try { List files = findFiles(projects); ! processFiles(files); } catch (CoreException e) { RubyCore.log(e); --- 37,45 ---- } ! public void updateProjects(List projects, IProgressMonitor monitor) { try { List files = findFiles(projects); ! monitor.beginTask("Update symbol index", files.size()); ! processFiles(files, monitor); } catch (CoreException e) { RubyCore.log(e); *************** *** 45,51 **** } ! private void processFiles(List files) { for (Iterator iter = files.iterator(); iter.hasNext();) { IFile file = (IFile) iter.next(); processFile(file); } --- 47,55 ---- } ! private void processFiles(List files, IProgressMonitor monitor) { for (Iterator iter = files.iterator(); iter.hasNext();) { IFile file = (IFile) iter.next(); + monitor.subTask(file.getFullPath().toString()); + monitor.worked(1); processFile(file); } |