@Test public void testIncrementing() { DiffObjectCount count = new DiffObjectCount(); assertEquals(20, count.addedFeatures(20)); assertEquals(20, count.getFeaturesAdded()); assertEquals(20, count.featureCount()); assertEquals(0, count.treeCount()); assertEquals(20, count.count()); assertEquals(30, count.addedFeatures(10)); assertEquals(30, count.getFeaturesAdded()); assertEquals(30, count.featureCount()); assertEquals(0, count.treeCount()); assertEquals(30, count.count()); assertEquals(15, count.changedFeatures(15)); assertEquals(15, count.getFeaturesChanged()); assertEquals(45, count.featureCount()); assertEquals(0, count.treeCount()); assertEquals(45, count.count()); assertEquals(30, count.changedFeatures(15)); assertEquals(30, count.getFeaturesChanged()); assertEquals(60, count.featureCount()); assertEquals(0, count.treeCount()); assertEquals(60, count.count()); assertEquals(5, count.removedFeatures(5)); assertEquals(5, count.getFeaturesRemoved());
/** * Returns the total count of modified elements (i.e. sum of added, changed, and removed trees * and features) */ public long count() { return featureCount() + treeCount(); }
@Test public void testConstructorAndAccessors() { DiffObjectCount count = new DiffObjectCount(); assertEquals(0, count.getFeaturesAdded()); assertEquals(0, count.getFeaturesChanged()); assertEquals(0, count.getFeaturesRemoved()); assertEquals(0, count.getTreesAdded()); assertEquals(0, count.getTreesChanged()); assertEquals(0, count.getTreesRemoved()); assertEquals(0, count.featureCount()); assertEquals(0, count.treeCount()); assertEquals(0, count.count()); }
.setOldVersion(Ref.HEAD).setNewVersion(Ref.STAGE_HEAD).call(); final long count = diffCount.featureCount(); final long added = diffCount.getFeaturesAdded(), removed = diffCount.getFeaturesRemoved(), modified = diffCount.getFeaturesChanged();
private LayerDiffSummary toSummary(@NonNull String path, @Nullable RevTree left, @Nullable RevTree right, @NonNull DiffObjectCount count, @NonNull DiffSummary<BoundingBox, BoundingBox> bounds) { BoundingBox lb = bounds.getLeft(); BoundingBox rb = bounds.getRight(); ReferencedEnvelope leftBounds = lb.isEmpty() ? null : new ReferencedEnvelope(lb); ReferencedEnvelope rightBounds = rb.isEmpty() ? null : new ReferencedEnvelope(rb); LayerDiffSummary s = LayerDiffSummary.builder()// .path(path)// .leftTreeish(left.getId())// .rightTreeish(right.getId())// .leftBounds(leftBounds)// .rightBounds(rightBounds)// .featuresAdded(count.getFeaturesAdded())// .featuresChanged(count.getFeaturesChanged())// .featuresRemoved(count.getFeaturesRemoved())// .build(); return s; }
Console console = cli.getConsole(); console.println(String.format("Trees: added %,d, changed %,d, removed %,d", count.getTreesAdded(), count.getTreesChanged(), count.getTreesRemoved())); console.println(String.format( "Features: added %,d, changed %,d, removed %,d, total: %,d", count.getFeaturesAdded(), count.getFeaturesChanged(), count.getFeaturesRemoved(), count.featureCount())); console.flush(); return;
@Override public void runInternal(GeogigCLI cli) throws IOException { Console console = cli.getConsole(); // check that there is something to remove if (pathsToRemove.isEmpty()) { printUsage(cli); throw new CommandFailedException(); } /* Perform the remove operation */ RemoveOp op = cli.getGeogig().command(RemoveOp.class).setRecursive(recursive) .setTruncate(truncate); for (String pathToRemove : pathsToRemove) { op.addPathToRemove(pathToRemove); } DiffObjectCount result; try { result = op.setProgressListener(cli.getProgressListener()).call(); } catch (IllegalArgumentException e) { throw new InvalidParameterException(e.getMessage()); } /* And inform about it */ console.println(String.format("Deleted %,d feature(s)", result.getFeaturesRemoved())); if (result.getTreesRemoved() > 0) { console.println(String.format("Deleted %,d trees", result.getTreesRemoved())); } if (result.getFeaturesRemoved() == 0 && result.getTreesRemoved() == 0) { throw new CommandFailedException(); } }
DiffObjectCount unstaged = geogig.getRepository().workingTree() .countUnstaged(pathFilter); if (0 == unstaged.count() && !hasConflicts) { console.println(); console.println("No unstaged elements, exiting."); return; } else { console.println(String.valueOf(unstaged.count())); staged.featureCount(), staged.treeCount())); unstaged.featureCount(), unstaged.treeCount()));
@Test public void testTruncate() throws Exception { insert(points1, points2, points3); insert(lines1, lines2, lines3); DiffObjectCount result = geogig.command(RemoveOp.class).addPathToRemove(linesName) .setTruncate(true).call(); assertEquals(0, result.getTreesRemoved()); assertEquals(1, result.getTreesChanged()); assertEquals(3, result.getFeaturesRemoved()); } }
@Test public void testChildrenEmpty() { assertEquals(childrenFeatureTree.size(), count(childrenFeatureTree, RevTree.EMPTY).featureCount()); assertEquals(childrenFeatureTree.size(), count(RevTree.EMPTY, childrenFeatureTree).featureCount()); }
@Test public void testBucketChildren() { CanonicalTreeBuilder builder = CanonicalTreeBuilder.create(odb, bucketsFeatureTree); RevTree changed; int normalizedSizeLimit = CanonicalNodeNameOrder.normalizedSizeLimit(0); for (int i = 0; i < normalizedSizeLimit; i++) { builder.remove(String.valueOf(i)); } changed = builder.build(); odb.put(changed); assertEquals(normalizedSizeLimit, changed.size()); assertEquals(0, changed.bucketsSize()); assertEquals(normalizedSizeLimit, count(bucketsFeatureTree, changed).getFeaturesRemoved()); assertEquals(normalizedSizeLimit, count(bucketsFeatureTree, changed).featureCount()); assertEquals(normalizedSizeLimit, count(changed, bucketsFeatureTree).featureCount()); }
@Override protected StatusSummary _call() { WorkingTree workTree = workingTree(); StagingArea index = stagingArea(); StatusSummary summary = new StatusSummary(); summary.countStaged = index.countStaged(null).count(); summary.countUnstaged = workTree.countUnstaged(null).count(); summary.countConflicted = index.countConflicted(null); final Long limit = this.limit == null ? null : this.limit; if (limit == null || limit.longValue() > 0) { if (summary.countStaged > 0) { summary.staged = command(DiffIndex.class).setMaxDiffs(limit).setReportTrees(true); } if (summary.countUnstaged > 0) { summary.unstaged = command(DiffWorkTree.class).setMaxDiffs(limit) .setReportTrees(true); } if (summary.countConflicted > 0) { summary.conflicts = command(ConflictsQueryOp.class); } } return summary; }
long added = count.getFeaturesAdded(); long removed = count.getFeaturesRemoved(); long modified = count.getFeaturesChanged(); console.println(String.format("Features Added: %,d Removed: %,d Modified: %,d", added, removed, modified));
@Test public void testBucketBucketAdd() { RevTreeBuilder builder = CanonicalTreeBuilder.create(odb, bucketsFeatureTree); final int initialSize = (int) bucketsFeatureTree.size(); final int added = 1 + 2 * CanonicalNodeNameOrder.normalizedSizeLimit(0); for (int i = initialSize; i < (initialSize + added); i++) { builder.put(featureRef("", i)); } RevTree changed = builder.build(); odb.put(changed); assertEquals(initialSize + added, changed.size()); assertEquals(added, count(bucketsFeatureTree, changed).featureCount()); assertEquals(added, count(changed, bucketsFeatureTree).featureCount()); assertEquals(added, count(bucketsFeatureTree, changed).getFeaturesAdded()); assertEquals(0, count(bucketsFeatureTree, changed).getFeaturesChanged()); assertEquals(0, count(bucketsFeatureTree, changed).getFeaturesRemoved()); // invert the comparison assertEquals(0, count(changed, bucketsFeatureTree).getFeaturesAdded()); assertEquals(added, count(changed, bucketsFeatureTree).getFeaturesRemoved()); assertEquals(0, count(changed, bucketsFeatureTree).getFeaturesChanged()); }
Console console = cli.getConsole(); console.println(String.format("Trees: added %,d, changed %,d, removed %,d", count.getTreesAdded(), count.getTreesChanged(), count.getTreesRemoved())); console.println(String.format( "Features: added %,d, changed %,d, removed %,d, total: %,d", count.getFeaturesAdded(), count.getFeaturesChanged(), count.getFeaturesRemoved(), count.featureCount())); console.flush(); return;
@Override public void runInternal(GeogigCLI cli) throws IOException { Console console = cli.getConsole(); // check that there is something to remove if (pathsToRemove.isEmpty()) { printUsage(cli); throw new CommandFailedException(); } /* Perform the remove operation */ RemoveOp op = cli.getGeogig().command(RemoveOp.class).setRecursive(recursive) .setTruncate(truncate); for (String pathToRemove : pathsToRemove) { op.addPathToRemove(pathToRemove); } DiffObjectCount result; try { result = op.setProgressListener(cli.getProgressListener()).call(); } catch (IllegalArgumentException e) { throw new InvalidParameterException(e.getMessage()); } /* And inform about it */ console.println(String.format("Deleted %,d feature(s)", result.getFeaturesRemoved())); if (result.getTreesRemoved() > 0) { console.println(String.format("Deleted %,d trees", result.getTreesRemoved())); } if (result.getFeaturesRemoved() == 0 && result.getTreesRemoved() == 0) { throw new CommandFailedException(); } }
/** * Returns the total count of modified elements (i.e. sum of added, changed, and removed trees * and features) */ public long count() { return featureCount() + treeCount(); }
DiffObjectCount unstaged = geogig.getRepository().workingTree() .countUnstaged(pathFilter); if (0 == unstaged.count() && !hasConflicts) { console.println(); console.println("No unstaged elements, exiting."); return; } else { console.println(String.valueOf(unstaged.count())); staged.featureCount(), staged.treeCount())); unstaged.featureCount(), unstaged.treeCount()));
@Test public void testTruncate() throws Exception { insert(points1, points2, points3); insert(lines1, lines2, lines3); DiffObjectCount result = geogig.command(RemoveOp.class).addPathToRemove(linesName) .setTruncate(true).call(); assertEquals(0, result.getTreesRemoved()); assertEquals(1, result.getTreesChanged()); assertEquals(3, result.getFeaturesRemoved()); } }
@Test public void testChildrenEmpty() { assertEquals(childrenFeatureTree.size(), count(childrenFeatureTree, RevTree.EMPTY).featureCount()); assertEquals(childrenFeatureTree.size(), count(RevTree.EMPTY, childrenFeatureTree).featureCount()); }