@Override public boolean apply(RevFeature f) { return !progress.isCanceled(); } };
/** * @return {@code true} if the task was cancelled */ @Override public boolean isCanceled() { return parentProgressListener.isCanceled(); }
/** * @return {@code true} if the task was cancelled */ @Override public boolean isCanceled() { return parentProgressListener.isCanceled(); }
@Override public boolean bucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, @Nullable Bucket left, @Nullable Bucket right) { return !progress.isCanceled(); }
@Override public boolean bucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, @Nullable Bucket left, @Nullable Bucket right) { return !progress.isCanceled(); }
@Override public boolean bucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, @Nullable Bucket left, @Nullable Bucket right) { return !progress.isCanceled(); }
@Override public boolean bucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, @Nullable Bucket left, @Nullable Bucket right) { return !progress.isCanceled(); }
@Override public boolean tree(@Nullable NodeRef left, @Nullable NodeRef right) { return !progress.isCanceled(); }
@Override public boolean tree(@Nullable NodeRef left, @Nullable NodeRef right) { return !progress.isCanceled(); }
@Override public boolean tree(@Nullable NodeRef left, @Nullable NodeRef right) { return !progress.isCanceled(); }
@Override public boolean tree(@Nullable NodeRef left, @Nullable NodeRef right) { return !progress.isCanceled(); }
protected boolean isCancelled() { return getProgressListener().isCanceled(); }
@Override public boolean feature(final @Nullable NodeRef left, final NodeRef right) { while (!nodes.offer(new Tuple(left, right))) { addAll(); } progress.setProgress(count.incrementAndGet()); final boolean keepGoing = !progress.isCanceled(); return keepGoing; }
@Override public boolean feature(final @Nullable NodeRef left, final NodeRef right) { while (!nodes.offer(new Tuple(left, right))) { addAll(); } progress.setProgress(count.incrementAndGet()); final boolean keepGoing = !progress.isCanceled(); return keepGoing; }
@Override public T call() throws Exception { if (command.getProgressListener().isCanceled()) { this.status = Status.CANCELLED; return null; } this.status = Status.RUNNING; try { command.setProgressListener(progress); T result = command.call(); if (command.getProgressListener().isCanceled()) { this.status = Status.CANCELLED; } else { this.status = Status.FINISHED; } return result; } catch (Throwable e) { this.status = Status.FAILED; throw e; } } }
@Override protected T _call() { final ProgressListener progress = getProgressListener(); final Set<String> layerRefSpecs = resolveExportLayerRefSpecs(); final DataStore targetStore = dataStore.get(); final T exportResult; try { for (String treeSpec : layerRefSpecs) { String tableName = Splitter.on(':').splitToList(treeSpec).get(1); export(treeSpec, targetStore, tableName, progress); if (progress.isCanceled()) { break; } } exportResult = buildResult(targetStore); } finally { targetStore.dispose(); } return exportResult; }
@Override protected T _call() { final ProgressListener progress = getProgressListener(); final Set<String> layerRefSpecs = resolveExportLayerRefSpecs(); final DataStore targetStore = dataStore.get(); final T result; try { for (String treeSpec : layerRefSpecs) { String tableName = Splitter.on(':').splitToList(treeSpec).get(1); export(treeSpec, targetStore, tableName, progress); if (progress.isCanceled()) { break; } } result = buildResult(targetStore); } finally { targetStore.dispose(); } return result; }
@Test public void testCancelScenario1() throws Exception { // Test cancel before merge work begins ProgressListener listener = mock(ProgressListener.class); when(listener.isCanceled()).thenReturn(true); insertAndAdd(points1); geogig.command(CommitOp.class).setMessage("commit for " + idP1).call(); // create branch1 and checkout geogig.command(BranchCreateOp.class).setAutoCheckout(true).setName("branch1").call(); insertAndAdd(points2); geogig.command(CommitOp.class).setMessage("commit for " + idP2).call(); // checkout master geogig.command(CheckoutOp.class).setSource("master").call(); insertAndAdd(points3); geogig.command(CommitOp.class).setMessage("commit for " + idP3).call(); insertAndAdd(lines1); RevCommit master = geogig.command(CommitOp.class).setMessage("commit for " + idL1).call(); Ref branch1 = geogig.command(RefParse.class).setName("branch1").call().get(); MergeReport mergeReport = geogig.command(MergeOp.class).addCommit(branch1.getObjectId()) .setMessage("My merge message.").setProgressListener(listener).call(); assertNull(mergeReport); verify(listener, times(1)).isCanceled(); verifyCancelledCleanly(master); }
@Test public void testCancelSubProgress() { ProgressListener progress = new DefaultProgressListener(); progress.setMaxProgress(100); SubProgressListener subProgress = new SubProgressListener(progress, 20); subProgress.setProgress(10); assertEquals(10, (int) subProgress.getProgress()); assertEquals(2, (int) progress.getProgress()); subProgress.cancel(); assertTrue(subProgress.isCanceled()); assertTrue(progress.isCanceled()); subProgress.dispose(); progress.dispose(); }
@Test public void testCancelDefaultListener() { ProgressListener progress = new DefaultProgressListener(); progress.setDescription("progress description"); progress.setMaxProgress(500); progress.started(); assertEquals("progress description", progress.getDescription()); assertEquals(0, (int) progress.getProgress()); progress.setProgress(250); assertEquals(250, (int) progress.getProgress()); progress.cancel(); assertTrue(progress.isCanceled()); progress.dispose(); }