Package org.locationtech.geogig.api

Examples of org.locationtech.geogig.api.RevTree


                        .call(RevCommit.class).get();
                parents.addAll(headCommit.getParentIds());
                if (message == null || message.isEmpty()) {
                    message = headCommit.getMessage();
                }
                RevTree commitTree = command(RevObjectParse.class)
                        .setObjectId(headCommit.getTreeId()).call(RevTree.class).get();
                oldRoot = Suppliers.ofInstance(commitTree);
            } else {
                parents.add(0, currHeadCommitId);
            }
View Full Code Here


                    if (node.get().getType() == TYPE.TREE) {
                        RevTreeBuilder treeBuilder = new RevTreeBuilder(stagingDatabase(),
                                workingTree().getTree());
                        treeBuilder.remove(st);
                        treeBuilder.put(node.get().getNode());
                        RevTree newRoot = treeBuilder.build();
                        stagingDatabase().put(newRoot);
                        workingTree().updateWorkHead(newRoot.getId());
                    } else {

                        ObjectId metadataId = ObjectId.NULL;
                        Optional<NodeRef> parentNode = command(FindTreeChild.class)
                                .setParent(workingTree().getTree())
View Full Code Here

        ImportOp importOp = geogig.command(ImportOp.class);
        importOp.setDataStore(TestHelper.createTestFactory().createDataStore(null));
        importOp.setAll(false);
        importOp.setTable("table1");

        RevTree newWorkingTree = importOp.call();
        Optional<NodeRef> ref = geogig.command(FindTreeChild.class).setParent(newWorkingTree)
                .setChildPath("table1/feature1").setIndex(true).call();
        assertTrue(ref.isPresent());

        ref = geogig.command(FindTreeChild.class).setParent(newWorkingTree)
View Full Code Here

    public void testImportAll() throws Exception {
        ImportOp importOp = geogig.command(ImportOp.class);
        importOp.setDataStore(TestHelper.createTestFactory().createDataStore(null));
        importOp.setAll(true);

        RevTree newWorkingTree = importOp.call();
        Optional<NodeRef> ref = geogig.command(FindTreeChild.class).setParent(newWorkingTree)
                .setChildPath("table1/feature1").setIndex(true).call();
        assertTrue(ref.isPresent());

        ref = geogig.command(FindTreeChild.class).setParent(newWorkingTree)
View Full Code Here

            GraphDatabase graphDatabase = localRepository.graphDatabase();
            ObjectDatabase objectDatabase = localRepository.objectDatabase();
            graphDatabase.put(commit.getId(), commit.getParentIds());

            RevTree rootTree = RevTree.EMPTY;

            if (commit.getParentIds().size() > 0) {
                // Map this commit to the last "sparse" commit in my ancestry
                ObjectId mappedCommit = graphDatabase.getMapping(commit.getParentIds().get(0));
                graphDatabase.map(commit.getId(), mappedCommit);
                Optional<ObjectId> treeId = localRepository.command(ResolveTreeish.class)
                        .setTreeish(mappedCommit).call();
                if (treeId.isPresent()) {
                    rootTree = localRepository.getTree(treeId.get());
                }

            } else {
                graphDatabase.map(commit.getId(), ObjectId.NULL);
            }

            Iterator<DiffEntry> it = Iterators.filter(changes, new Predicate<DiffEntry>() {
                @Override
                public boolean apply(DiffEntry e) {
                    return true;
                }
            });

            if (it.hasNext()) {
                // Create new commit
                WriteTree writeTree = localRepository.command(WriteTree.class)
                        .setOldRoot(Suppliers.ofInstance(rootTree))
                        .setDiffSupplier(Suppliers.ofInstance((Iterator<DiffEntry>) it));

                if (changes.isAutoIngesting()) {
                    // the iterator already ingests objects into the ObjectDatabase
                    writeTree.dontMoveObjects();
                }

                ObjectId newTreeId = writeTree.call();

                CommitBuilder builder = new CommitBuilder(commit);
                List<ObjectId> newParents = new LinkedList<ObjectId>();
                for (ObjectId parentCommitId : commit.getParentIds()) {
                    newParents.add(graphDatabase.getMapping(parentCommitId));
                }
                builder.setParentIds(newParents);
                builder.setTreeId(newTreeId);

                RevCommit mapped = builder.build();
                objectDatabase.put(mapped);

                if (changes.wasFiltered()) {
                    graphDatabase.setProperty(mapped.getId(), GraphDatabase.SPARSE_FLAG, "true");
                }

                graphDatabase.map(mapped.getId(), commit.getId());
                // Replace the old mapping with the new commit Id.
                graphDatabase.map(commit.getId(), mapped.getId());
            } else if (allowEmpty) {
                CommitBuilder builder = new CommitBuilder(commit);
                List<ObjectId> newParents = new LinkedList<ObjectId>();
                for (ObjectId parentCommitId : commit.getParentIds()) {
                    newParents.add(graphDatabase.getMapping(parentCommitId));
                }
                builder.setParentIds(newParents);
                builder.setTreeId(rootTree.getId());
                builder.setMessage(PLACEHOLDER_COMMIT_MESSAGE);

                RevCommit mapped = builder.build();
                objectDatabase.put(mapped);
View Full Code Here

                spatialBuckets);
    }

    @Test
    public void testRoundTripLeafTree() {
        RevTree roundTripped = read(tree1_leaves.getId(), write(tree1_leaves));
        assertTreesAreEqual(tree1_leaves, roundTripped);
    }
View Full Code Here

        assertTreesAreEqual(tree1_leaves, roundTripped);
    }

    @Test
    public void testRoundTripInternalTree() {
        RevTree roundTripped = read(tree2_internal.getId(), write(tree2_internal));
        assertTreesAreEqual(tree2_internal, roundTripped);
    }
View Full Code Here

        assertTreesAreEqual(tree2_internal, roundTripped);
    }

    @Test
    public void testRoundTripBuckets() {
        RevTree roundTripped = read(tree3_buckets.getId(), write(tree3_buckets));
        assertTreesAreEqual(tree3_buckets, roundTripped);
    }
View Full Code Here

        int childTreeCount = 0;
        Map<Integer, Bucket> bucketTrees = createBuckets(32);

        final RevTreeImpl tree = RevTreeImpl.createNodeTree(id, size, childTreeCount, bucketTrees);

        RevTree roundTripped = read(tree.getId(), write(tree));
        assertTreesAreEqual(tree, roundTripped);

    }
View Full Code Here

        return buckets;
    }

    @Test
    public void testRoundTripSpatialLeafTree() {
        RevTree roundTripped = read(tree4_spatial_leaves.getId(), write(tree4_spatial_leaves));
        assertTreesAreEqual(tree4_spatial_leaves, roundTripped);
    }
View Full Code Here

TOP

Related Classes of org.locationtech.geogig.api.RevTree

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.