Package org.locationtech.geogig.api.plumbing.diff

Examples of org.locationtech.geogig.api.plumbing.diff.DiffEntry


        console.print("Committed, counting objects...");
        Iterator<DiffEntry> diff = geogig.command(DiffOp.class).setOldVersion(parentId)
                .setNewVersion(commit.getId()).call();

        int adds = 0, deletes = 0, changes = 0;
        DiffEntry diffEntry;
        while (diff.hasNext()) {
            diffEntry = diff.next();
            switch (diffEntry.changeType()) {
            case ADDED:
                ++adds;
                break;
            case REMOVED:
                ++deletes;
View Full Code Here


        console.print("Committed, counting objects...");
        Iterator<DiffEntry> diff = geogig.command(DiffOp.class).setOldVersion(parentId)
                .setNewVersion(commit.getId()).call();

        int adds = 0, deletes = 0, changes = 0;
        DiffEntry diffEntry;
        while (diff.hasNext()) {
            diffEntry = diff.next();
            switch (diffEntry.changeType()) {
            case ADDED:
                ++adds;
                break;
            case REMOVED:
                ++deletes;
View Full Code Here

            if ((detail.equals(LOG_DETAIL.NAMES_ONLY)) && commit.getParentIds().size() == 1) {
                ansi.a("Affected paths:").newline();
                Iterator<DiffEntry> diff = geogig.command(DiffOp.class)
                        .setOldVersion(commit.parentN(0).get()).setNewVersion(commit.getId())
                        .call();
                DiffEntry diffEntry;
                while (diff.hasNext()) {
                    diffEntry = diff.next();
                    ansi.a("\t" + diffEntry.newPath()).newline();
                }
            }
            if (detail.equals(LOG_DETAIL.STATS) && commit.getParentIds().size() == 1) {

                Iterator<DiffEntry> diff = geogig.command(DiffOp.class)
                        .setOldVersion(commit.parentN(0).get()).setNewVersion(commit.getId())
                        .call();
                int adds = 0, deletes = 0, changes = 0;
                DiffEntry diffEntry;
                while (diff.hasNext()) {
                    diffEntry = diff.next();
                    switch (diffEntry.changeType()) {
                    case ADDED:
                        ++adds;
                        break;
                    case REMOVED:
                        ++deletes;
                        break;
                    case MODIFIED:
                        ++changes;
                        break;
                    }
                }

                ansi.a("Changes:");
                ansi.fg(Color.GREEN).a(adds).reset().a(" features added, ").fg(Color.YELLOW)
                        .a(changes).reset().a(" changed, ").fg(Color.RED).a(deletes).reset()
                        .a(" deleted.").reset().newline();
            }

            console.println(ansi.toString());
            if (detail.equals(LOG_DETAIL.SUMMARY) && commit.getParentIds().size() == 1) {
                ansi.a("Changes:").newline();
                Iterator<DiffEntry> diff = geogig.command(DiffOp.class)
                        .setOldVersion(commit.parentN(0).get()).setNewVersion(commit.getId())
                        .call();
                DiffEntry diffEntry;
                while (diff.hasNext()) {
                    diffEntry = diff.next();
                    if (detail.equals(LOG_DETAIL.SUMMARY)) {
                        new FullDiffPrinter(true, false).print(geogig, console, diffEntry);
                    }
View Full Code Here

            printer = new SummaryDiffPrinter();
        } else {
            printer = new FullDiffPrinter(nogeom, false);
        }

        DiffEntry entry;
        while (entries.hasNext()) {
            entry = entries.next();
            printer.print(geogig, cli.getConsole(), entry);
        }
    }
View Full Code Here

        if (since != null && !since.trim().isEmpty() && firstCommit != null && lastCommit != null) {
            final Iterator<DiffEntry> diff = geogig.command(DiffOp.class)
                    .setOldVersion(firstCommit.getId()).setNewVersion(lastCommit.getId())
                    .setFilter(path).call();
            while (diff.hasNext()) {
                DiffEntry entry = diff.next();
                if (entry.changeType() == DiffEntry.ChangeType.ADDED) {
                    addedFeatures++;
                } else if (entry.changeType() == DiffEntry.ChangeType.MODIFIED) {
                    modifiedFeatures++;
                } else {
                    removedFeatures++;
                }
            }
View Full Code Here

                        final Iterator<DiffEntry> diff = geogig.command(DiffOp.class)
                                .setOldVersion(parent).setNewVersion(input.getId())
                                .setFilter(pathFilter).call();

                        while (diff.hasNext()) {
                            DiffEntry entry = diff.next();
                            if (entry.changeType() == DiffEntry.ChangeType.ADDED) {
                                added++;
                            } else if (entry.changeType() == DiffEntry.ChangeType.MODIFIED) {
                                modified++;
                            } else {
                                removed++;
                            }
                        }
View Full Code Here

                String parentId = commit.getParentIds().size() >= 1 ? commit.getParentIds().get(0)
                        .toString() : ObjectId.NULL.toString();
                Iterator<DiffEntry> diff = geogig.command(DiffOp.class).setOldVersion(parentId)
                        .setNewVersion(commit.getId().toString()).setFilter(path).call();
                while (diff.hasNext()) {
                    DiffEntry entry = diff.next();
                    response += entry.changeType().toString() + ",";
                    String fid = "";
                    if (entry.newPath() != null) {
                        if (entry.oldPath() != null) {
                            fid = entry.oldPath() + " -> " + entry.newPath();
                        } else {
                            fid = entry.newPath();
                        }
                    } else if (entry.oldPath() != null) {
                        fid = entry.oldPath();
                    }
                    response += fid + ",";
                    response += commit.getId().toString() + ",";
                    response += parentId;
                    if (commit.getParentIds().size() > 1) {
                        for (int index = 1; index < commit.getParentIds().size(); index++) {
                            response += " " + commit.getParentIds().get(index).toString();
                        }
                    }
                    response += ",";
                    if (commit.getAuthor().getName().isPresent()) {
                        response += escapeCsv(commit.getAuthor().getName().get());
                    }
                    response += ",";
                    if (commit.getAuthor().getEmail().isPresent()) {
                        response += escapeCsv(commit.getAuthor().getEmail().get());
                    }
                    response += ","
                            + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss z").format(new Date(commit
                                    .getAuthor().getTimestamp())) + ",";
                    if (commit.getCommitter().getName().isPresent()) {
                        response += escapeCsv(commit.getCommitter().getName().get());
                    }
                    response += ",";
                    if (commit.getCommitter().getEmail().isPresent()) {
                        response += escapeCsv(commit.getCommitter().getEmail().get());
                    }
                    response += ","
                            + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss z").format(new Date(commit
                                    .getCommitter().getTimestamp())) + ",";
                    String message = escapeCsv(commit.getMessage());
                    response += message;
                    if (entry.newObjectId() == ObjectId.NULL) {
                        // Feature was removed so we need to fill out blank attribute values
                        for (int index = 0; index < attributeLength; index++) {
                            response += ",";
                        }
                    } else {
                        // Feature was added or modified so we need to write out the
                        // attribute
                        // values from the feature
                        Optional<RevObject> feature = geogig.command(RevObjectParse.class)
                                .setObjectId(entry.newObjectId()).call();
                        RevFeature revFeature = (RevFeature) feature.get();
                        List<Optional<Object>> values = revFeature.getValues();
                        for (int index = 0; index < values.size(); index++) {
                            Optional<Object> value = values.get(index);
                            PropertyDescriptor attrib = (PropertyDescriptor) attribs.toArray()[index];
View Full Code Here

        GeoGIG geogig = cli.getGeogig();
        List<DiffEntry> changes = ImmutableList.copyOf(geogig.command(DiffOp.class)
                .setOldVersion("HEAD~2").setNewVersion("HEAD~1").call());
        assertEquals(1, changes.size());
        DiffEntry entry = changes.get(0);
        assertEquals(ChangeType.MODIFIED, entry.changeType());
        assertEquals("node/20", entry.getOldObject().path());
        assertEquals("node/20", entry.getNewObject().path());

        Optional<RevFeature> oldRevFeature = geogig.command(RevObjectParse.class)
                .setObjectId(entry.getOldObject().objectId()).call(RevFeature.class);
        Optional<RevFeature> newRevFeature = geogig.command(RevObjectParse.class)
                .setObjectId(entry.getNewObject().objectId()).call(RevFeature.class);
        assertTrue(oldRevFeature.isPresent());
        assertTrue(newRevFeature.isPresent());

        Optional<RevFeatureType> type = geogig.command(RevObjectParse.class)
                .setObjectId(entry.getOldObject().getMetadataId()).call(RevFeatureType.class);
        assertTrue(type.isPresent());

        FeatureType featureType = type.get().type();

        CoordinateReferenceSystem expected = CRS.decode("EPSG:4326", true);
View Full Code Here

TOP

Related Classes of org.locationtech.geogig.api.plumbing.diff.DiffEntry

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.