Package org.locationtech.geogig.api

Examples of org.locationtech.geogig.api.RevTree


    public void testCommitWithDeletedTree() throws Exception {
        insertAndAdd(points1, points2);
        insertAndAdd(lines1, lines2);
        final RevCommit commit1 = geogig.command(CommitOp.class).call();

        final RevTree tree1 = geogig.command(RevObjectParse.class).setObjectId(commit1.getTreeId())
                .call(RevTree.class).get();
        assertTrue(tree1.trees().isPresent());
        assertEquals(2, tree1.trees().get().size());

        WorkingTree workingTree = geogig.getRepository().workingTree();
        workingTree.delete(pointsName);
        geogig.command(AddOp.class).call();

        final RevCommit commit2 = geogig.command(CommitOp.class).call();

        RevTree tree2 = geogig.command(RevObjectParse.class).setObjectId(commit2.getTreeId())
                .call(RevTree.class).get();

        assertTrue(tree2.trees().isPresent());
        assertEquals(1, tree2.trees().get().size());
    }
View Full Code Here


        assertNotNull(commit.getId());

        ObjectId treeId = commit.getTreeId();

        assertNotNull(treeId);
        RevTree root = repo.getTree(treeId);
        assertNotNull(root);

        Optional<Node> typeTreeId = repo.getTreeChild(root, pointsName);
        assertTrue(typeTreeId.isPresent());
        RevTree typeTree = repo.getTree(typeTreeId.get().getObjectId());
        assertNotNull(typeTree);

        String featureId = points1.getIdentifier().getID();
        Optional<Node> featureBlobId = repo.getTreeChild(root,
                NodeRef.appendChild(pointsName, featureId));
View Full Code Here

        assertNotNull(commit.getId());

        ObjectId treeId = commit.getTreeId();

        assertNotNull(treeId);
        RevTree root = repo.getTree(treeId);
        assertNotNull(root);

        Optional<Node> typeTreeId = repo.getTreeChild(root, pointsName);
        assertTrue(typeTreeId.isPresent());
        RevTree typeTree = repo.getTree(typeTreeId.get().getObjectId());
        assertNotNull(typeTree);

        String featureId = points1.getIdentifier().getID();
        Optional<Node> featureBlobId = repo.getTreeChild(root,
                NodeRef.appendChild(pointsName, featureId));
View Full Code Here

                    sb.append(input.getMetadataId().toString()).append(' ')
                            .append(input.getType().toString().toLowerCase()).append(' ')
                            .append(input.objectId().toString()).append(' ').append(input.path())
                            .append(' ').append(sbenv);
                    if (input.getType().equals(TYPE.TREE)) {
                        RevTree tree = cli.getGeogig().command(RevObjectParse.class)
                                .setObjectId(input.objectId()).call(RevTree.class).get();
                        sb.append(' ').append(tree.size()).append(' ').append(tree.numTrees());
                    }
                }
                return sb;
            }
        };
View Full Code Here

        }

        @Override
        protected RevTree computeNext() {
            if (tree != null) {
                RevTree ret = tree;
                tree = null;
                return ret;
            }
            if (trees.hasNext()) {
                ObjectId objectId = trees.next().getObjectId();
View Full Code Here

        final String leftRefSpec = fromNullable(oldVersion).or(Ref.HEAD);
        final String rightRefSpec = fromNullable(newVersion).or(
                cached ? Ref.STAGE_HEAD : Ref.WORK_HEAD);

        RevTree left = resolveTree(leftRefSpec);
        RevTree right = resolveTree(rightRefSpec);

        ObjectDatabase leftSource = resolveSafeDb(leftRefSpec);
        ObjectDatabase rightSource = resolveSafeDb(rightRefSpec);
        PreOrderDiffWalk visitor = new PreOrderDiffWalk(left, right, leftSource, rightSource);
        CoordinateReferenceSystem crs = resolveCrs();
View Full Code Here

        checkNotNull(childPath, "childPath");

        ObjectId subtreeId;

        if (parentSupplier.get().isPresent()) {
            RevTree parent = parentSupplier.get().get();

            Optional<NodeRef> treeChildRef = command(FindTreeChild.class).setIndex(indexDb)
                    .setParentPath(parentPath).setChildPath(childPath)
                    .setParent(Suppliers.ofInstance(parent)).call();

            if (treeChildRef.isPresent()) {
                NodeRef treeRef = treeChildRef.get();
                if (!TYPE.TREE.equals(treeRef.getType())) {
                    throw new IllegalArgumentException("Object exists as child of tree "
                            + parent.getId() + " but is not a tree: " + treeChildRef);
                }
                subtreeId = treeRef.objectId();
            } else {
                subtreeId = RevTree.EMPTY_TREE_ID;
            }
        } else {
            subtreeId = RevTree.EMPTY_TREE_ID;
        }
        if (RevTree.EMPTY_TREE_ID.equals(subtreeId)) {
            return RevTree.EMPTY;
        }
        ObjectDatabase target = indexDb ? stagingDatabase() : objectDatabase();
        RevTree tree = target.getTree(subtreeId);
        return tree;
    }
View Full Code Here

        String ancestorPath = resolveAncestorPath();
        checkArgument(NodeRef.isChild(ancestorPath, childPath), String.format(
                "child path '%s' is not a child of ancestor path '%s'", childPath, ancestorPath));

        RevTree tree = this.tree.get();
        checkState(null != tree, "child tree supplier returned null");

        ObjectDatabase targetDb = indexDb ? stagingDatabase() : objectDatabase();
        RevTreeBuilder root = resolveAncestor();
View Full Code Here

                treeBounds = SpatialOps.boundsOf(childTree);
            }
            String childName = childPath;
            Node treeNode = Node.create(childName, treeId, metadataId, TYPE.TREE, treeBounds);
            ancestor.put(treeNode);
            RevTree newAncestor = ancestor.build();
            targetDatabase.put(newAncestor);
            return newAncestor.getId();
        }

        final String parentPath = NodeRef.parentPath(childPath);
        Optional<NodeRef> parentRef = getTreeChild(ancestor, parentPath);
        RevTreeBuilder parentBuilder;
        ObjectId parentMetadataId = ObjectId.NULL;
        if (parentRef.isPresent()) {
            ObjectId parentId = parentRef.get().objectId();
            parentMetadataId = parentRef.get().getMetadataId();
            parentBuilder = getTree(parentId, targetDatabase).builder(targetDatabase);
        } else {
            parentBuilder = RevTree.EMPTY.builder(targetDatabase);
        }

        String childName = NodeRef.nodeFromPath(childPath);
        Envelope treeBounds = null;
        if (!metadataId.isNull()) {// only include bounds for trees with a default feature type
            treeBounds = SpatialOps.boundsOf(childTree);
        }
        Node treeNode = Node.create(childName, treeId, metadataId, TYPE.TREE, treeBounds);
        parentBuilder.put(treeNode);
        RevTree parent = parentBuilder.build();

        return writeBack(ancestor, ancestorPath, parent, parentPath, targetDatabase,
                parentMetadataId);
    }
View Full Code Here

        return writeBack(ancestor, ancestorPath, parent, parentPath, targetDatabase,
                parentMetadataId);
    }

    private RevTree getTree(ObjectId treeId, ObjectDatabase targetDb) {
        RevTree revTree = targetDb.getTree(treeId);
        return revTree;
    }
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.