private void verifyTree(ObjectStore objectDb, String path, ObjectId repoTreeId) { assertTrue(String.format("tree '%s' (%s) is not present", path, repoTreeId), objectDb.exists(repoTreeId)); RevTree tree = objectDb.getTree(repoTreeId); Iterator<Node> children = RevObjects.children(tree, CanonicalNodeOrder.INSTANCE); while (children.hasNext()) { final Node node = children.next(); if (TYPE.TREE.equals(node.getType())) { path = NodeRef.appendChild(path, node.getName()); ObjectId objectId = node.getObjectId(); verifyRepositoryTree(path, objectId); } else if (TYPE.FEATURE.equals(node.getType())) { verifyFeature(node); } else { throw new IllegalStateException(node.getType().toString()); } verifyMetadata(node); } if (tree.bucketsSize() > 0) { for (Bucket b : tree.getBuckets()) { ObjectId bucketTreeId = b.getObjectId(); verifyRepositoryTree(path + "/" + bucketTreeId.toString().substring(0, 8), bucketTreeId); } } }
private void verifyTree(ObjectStore objectDb, String path, ObjectId repoTreeId) { assertTrue(String.format("tree '%s' (%s) is not present", path, repoTreeId), objectDb.exists(repoTreeId)); RevTree tree = objectDb.getTree(repoTreeId); Iterator<Node> children = RevObjects.children(tree, CanonicalNodeOrder.INSTANCE); while (children.hasNext()) { final Node node = children.next(); if (TYPE.TREE.equals(node.getType())) { path = NodeRef.appendChild(path, node.getName()); ObjectId objectId = node.getObjectId(); verifyRepositoryTree(path, objectId); } else if (TYPE.FEATURE.equals(node.getType())) { verifyFeature(node); } else { throw new IllegalStateException(node.getType().toString()); } verifyMetadata(node); } if (!tree.buckets().isEmpty()) { ImmutableCollection<Bucket> buckets = tree.buckets().values(); for (Bucket b : buckets) { ObjectId bucketTreeId = b.getObjectId(); verifyRepositoryTree(path + "/" + bucketTreeId.toString().substring(0, 8), bucketTreeId); } } }