@Test public void testPreserveMetadataId() { RevTree tree = createTree("blob"); final ObjectId treeMetadataId = hashString("fakeMdId"); NodeRef child = NodeRef.tree("level1/level2", tree.getId(), treeMetadataId); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(child) .call(); Optional<NodeRef> ref; DepthSearch depthSearch = new DepthSearch(odb); ref = depthSearch.find(newRoot.getId(), "level1/level2"); assertTrue(ref.isPresent()); assertTrue(ref.get().getNode().getMetadataId().isPresent()); assertFalse(ref.get().getNode().getMetadataId().get().isNull()); assertEquals(treeMetadataId, ref.get().getNode().getMetadataId().get()); }
@Test public void testPreserveMetadataId() { RevTree tree = createTree("blob"); final ObjectId treeMetadataId = hashString("fakeMdId"); NodeRef child = NodeRef.tree("level1/level2", tree.getId(), treeMetadataId); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(child) .call(); Optional<NodeRef> ref; DepthSearch depthSearch = new DepthSearch(odb); ref = depthSearch.find(newRoot.getId(), "level1/level2"); assertTrue(ref.isPresent()); assertTrue(ref.get().getNode().getMetadataId().isPresent()); assertFalse(ref.get().getNode().getMetadataId().get().isNull()); assertEquals(treeMetadataId, ref.get().getNode().getMetadataId().get()); }
private RevTree addTree(RevTree root, final String treePath, String... singleNodeNames) { Context mockInjector = mock(Context.class); when(mockInjector.objectDatabase()).thenReturn(odb); RevTreeBuilder subTreeBuilder = CanonicalTreeBuilder.create(mockInjector.objectDatabase()); if (singleNodeNames != null) { for (String singleNodeName : singleNodeNames) { String nodePath = NodeRef.appendChild(treePath, singleNodeName); ObjectId fakeFeatureOId = RevObjectTestSupport.hashString(nodePath); ObjectId fakeTypeOId = ObjectId.NULL;// forString(treePath); subTreeBuilder.put(Node.create(singleNodeName, fakeFeatureOId, fakeTypeOId, TYPE.FEATURE, null)); } } RevTree subtree = subTreeBuilder.build(); NodeRef childTreeNode = NodeRef.tree(treePath, subtree.getId(), fakeTreeMetadataId); RevTree newRoot = fakeGeogig.command(UpdateTree.class).setRoot(root).setChild(childTreeNode) .call(); return newRoot; }
RevTree tree = treeBuilder.build(); NodeRef newTreeRef = NodeRef.tree(treePath, tree.getId(), metadataId); updateTree.setChild(newTreeRef);
@Test public void testSingleNested() { RevTree tree = createTree("blob"); NodeRef level2 = NodeRef.tree("level1/level2", tree.getId(), hashString("fake")); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(level2) .call(); // created the intermediate tree node? Optional<NodeRef> ref; DepthSearch depthSearch = new DepthSearch(odb); ref = depthSearch.find(newRoot, "level1"); assertTrue(ref.isPresent()); ref = depthSearch.find(newRoot, "level1/level2"); assertTrue(ref.isPresent()); ref = depthSearch.find(newRoot, "level1/level2/blob"); assertTrue(ref.isPresent()); }
NodeRef newTreeNode = NodeRef.tree(node.getParentPath(), newFeatureTree.getId(), metadataId); RevTree newRoot = geogig.command(UpdateTree.class).setRoot(newTree)
@Test public void testSiblingsSingleLevel() { RevTree tree1 = createTree("blob"); RevTree tree2 = createTree("blob"); NodeRef subtree1 = NodeRef.tree("subtree1", tree1.getId(), hashString("md1")); RevTree newRoot1 = context.command(UpdateTree.class).setRoot(RevTree.EMPTY) .setChild(subtree1).call(); NodeRef subtree2 = NodeRef.tree("subtree2", tree2.getId(), hashString("md2")); RevTree newRoot2 = context.command(UpdateTree.class).setRoot(newRoot1).setChild(subtree2) .call(); // created the intermediate tree node? DepthSearch depthSearch = new DepthSearch(odb); assertTrue(depthSearch.find(newRoot2, "subtree1").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree1/blob").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/blob").isPresent()); }
@Test public void testSingleNested() { RevTree tree = createTree("blob"); NodeRef level2 = NodeRef.tree("level1/level2", tree.getId(), hashString("fake")); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(level2) .call(); // created the intermediate tree node? Optional<NodeRef> ref; DepthSearch depthSearch = new DepthSearch(odb); ref = depthSearch.find(newRoot, "level1"); assertTrue(ref.isPresent()); ref = depthSearch.find(newRoot, "level1/level2"); assertTrue(ref.isPresent()); ref = depthSearch.find(newRoot, "level1/level2/blob"); assertTrue(ref.isPresent()); }
private RevTree addTree(RevTree root, final String treePath, String... singleNodeNames) { Context mockInjector = mock(Context.class); when(mockInjector.objectDatabase()).thenReturn(odb); RevTreeBuilder subTreeBuilder = CanonicalTreeBuilder.create(mockInjector.objectDatabase()); if (singleNodeNames != null) { for (String singleNodeName : singleNodeNames) { String nodePath = NodeRef.appendChild(treePath, singleNodeName); ObjectId fakeFeatureOId = RevObjectTestSupport.hashString(nodePath); ObjectId fakeTypeOId = ObjectId.NULL;// forString(treePath); subTreeBuilder.put(RevObjectFactory.defaultInstance().createNode(singleNodeName, fakeFeatureOId, fakeTypeOId, TYPE.FEATURE, null, null)); } } RevTree subtree = subTreeBuilder.build(); NodeRef childTreeNode = NodeRef.tree(treePath, subtree.getId(), fakeTreeMetadataId); RevTree newRoot = fakeGeogig.command(UpdateTree.class).setRoot(root).setChild(childTreeNode) .call(); return newRoot; }
@Test public void testSiblingsSingleLevel() { RevTree tree1 = createTree("blob"); RevTree tree2 = createTree("blob"); NodeRef subtree1 = NodeRef.tree("subtree1", tree1.getId(), hashString("md1")); RevTree newRoot1 = context.command(UpdateTree.class).setRoot(RevTree.EMPTY) .setChild(subtree1).call(); NodeRef subtree2 = NodeRef.tree("subtree2", tree2.getId(), hashString("md2")); RevTree newRoot2 = context.command(UpdateTree.class).setRoot(newRoot1).setChild(subtree2) .call(); // created the intermediate tree node? DepthSearch depthSearch = new DepthSearch(odb); assertTrue(depthSearch.find(newRoot2, "subtree1").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree1/blob").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/blob").isPresent()); }
@Test public void testSimple() { RevTree tree = createTree("blob"); NodeRef child = NodeRef.tree("subtree", tree.getId(), ObjectId.NULL); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(child) .call(); assertTrue(odb.exists(newRoot.getId())); Optional<NodeRef> ref = new DepthSearch(odb).find(newRoot.getId(), "subtree"); assertTrue(ref.isPresent()); assertEquals(child, ref.get()); }
@Test public void testSimple() { RevTree tree = createTree("blob"); NodeRef child = NodeRef.tree("subtree", tree.getId(), ObjectId.NULL); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(child) .call(); assertTrue(odb.exists(newRoot.getId())); Optional<NodeRef> ref = new DepthSearch(odb).find(newRoot.getId(), "subtree"); assertTrue(ref.isPresent()); assertEquals(child, ref.get()); }
@Test public void testSiblingsNested() { RevTree tree1 = createTree("blob"); RevTree tree2 = createTree("blob"); Preconditions.checkState(odb.isOpen()); NodeRef level2 = NodeRef.tree("subtree1/level2", tree1.getId(), hashString("tree1")); RevTree newRoot1 = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(level2) .call(); assertTrue(odb.exists(newRoot1.getId())); NodeRef level3 = NodeRef.tree("subtree2/level2/level3", tree2.getId(), hashString("tree2")); RevTree newRoot2 = context.command(UpdateTree.class).setRoot(newRoot1).setChild(level3) .call(); // created the intermediate tree node? DepthSearch depthSearch = new DepthSearch(odb); assertTrue(depthSearch.find(newRoot2, "subtree1").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree1/level2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree1/level2/blob").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/level2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/level2/level3").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/level2/level3/blob").isPresent()); }
@Test public void testSiblingsNested() { RevTree tree1 = createTree("blob"); RevTree tree2 = createTree("blob"); Preconditions.checkState(odb.isOpen()); NodeRef level2 = NodeRef.tree("subtree1/level2", tree1.getId(), hashString("tree1")); RevTree newRoot1 = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(level2) .call(); assertTrue(odb.exists(newRoot1.getId())); NodeRef level3 = NodeRef.tree("subtree2/level2/level3", tree2.getId(), hashString("tree2")); RevTree newRoot2 = context.command(UpdateTree.class).setRoot(newRoot1).setChild(level3) .call(); // created the intermediate tree node? DepthSearch depthSearch = new DepthSearch(odb); assertTrue(depthSearch.find(newRoot2, "subtree1").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree1/level2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree1/level2/blob").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/level2").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/level2/level3").isPresent()); assertTrue(depthSearch.find(newRoot2, "subtree2/level2/level3/blob").isPresent()); }
NodeRef newTreeRef = NodeRef.tree(newFeatureNode.getParentPath(), newFeatureTree.getId(), metadataId);
@Test public void testSingleLevel() { RevTree tree = createTree("blob"); NodeRef level1 = NodeRef.tree("level1", tree.getId(), hashString("fake")); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(level1) .call(); assertTrue(odb.exists(newRoot.getId())); // created the intermediate tree node? Optional<NodeRef> ref; DepthSearch depthSearch = new DepthSearch(odb); ref = depthSearch.find(newRoot, "level1"); assertTrue(ref.isPresent()); ref = depthSearch.find(newRoot, "level1/blob"); assertTrue(ref.isPresent()); }
@Test public void testSingleLevel() { RevTree tree = createTree("blob"); NodeRef level1 = NodeRef.tree("level1", tree.getId(), hashString("fake")); RevTree newRoot = context.command(UpdateTree.class).setRoot(RevTree.EMPTY).setChild(level1) .call(); assertTrue(odb.exists(newRoot.getId())); // created the intermediate tree node? Optional<NodeRef> ref; DepthSearch depthSearch = new DepthSearch(odb); ref = depthSearch.find(newRoot, "level1"); assertTrue(ref.isPresent()); ref = depthSearch.find(newRoot, "level1/blob"); assertTrue(ref.isPresent()); }
@Test public void testTree() { ObjectId oId = ObjectId.valueOf("abc123000000000000001234567890abcdef0000"); ObjectId metadataId = ObjectId.valueOf("abc123000000000000001234567890abcdef0001"); NodeRef nodeRef = NodeRef.tree("Points", oId, metadataId); assertEquals(oId, nodeRef.getObjectId()); assertEquals(metadataId, nodeRef.getMetadataId()); assertEquals("Points", nodeRef.getNode().getName()); }