Skip to content

Commit

Permalink
Use SubMonintor in CheckConditionsContext
Browse files Browse the repository at this point in the history
done() call not necessary here and convert can also handle null.  Also
split will also check for cancellation so the additional cancellation
check is not necessary.

See https://www.eclipse.org/articles/Article-Progress-Monitors/article.html
  • Loading branch information
vogella committed Dec 6, 2024
1 parent d03901e commit 36b8bf4
Showing 1 changed file with 2 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubMonitor;

Expand Down Expand Up @@ -102,8 +100,7 @@ public void add(IConditionChecker checker) throws CoreException {
* @throws CoreException if an error occurs during condition checking
*/
public RefactoringStatus check(IProgressMonitor pm) throws CoreException {
if (pm == null)
pm= new NullProgressMonitor();

RefactoringStatus result= new RefactoringStatus();
mergeResourceOperationAndValidateEdit();
List<IConditionChecker> values= new ArrayList<>(fCheckers.values());
Expand All @@ -117,13 +114,11 @@ public RefactoringStatus check(IProgressMonitor pm) throws CoreException {
return 1;
return 0;
});

SubMonitor sm= SubMonitor.convert(pm, "", values.size()); //$NON-NLS-1$
for (IConditionChecker checker : values) {
result.merge(checker.check(sm.split(1)));
if (pm.isCanceled())
throw new OperationCanceledException();
}
pm.done();
return result;
}

Expand Down

0 comments on commit 36b8bf4

Please sign in to comment.