@Override @Nullable public RevTree getTree(ObjectId originalId) { return objectStore.getTree(originalId); } }
@Override public void putAll(Iterator<? extends RevObject> iterator, BulkOpListener listener) { target.putAll(iterator, listener); }
@Override public <T extends RevObject> Iterator<T> getAll(Iterable<ObjectId> ids, BulkOpListener listener, Class<T> type) { return subject.get().getAll(ids, listener, type); }
private void copy(Set<ObjectId> ids, ObjectStore from, ObjectStore to, final ProgressListener progress) { if (ids.isEmpty()) { return; } BulkOpListener countingListener = new BulkOpListener() { @Override public void inserted(ObjectId object, @Nullable Integer storageSizeBytes) { progress.setProgress(progress.getProgress() + 1); } }; to.putAll(from.getAll(ids), countingListener); }
private RevTree resolveTree(RevObject o, ObjectStore source) { if (o instanceof RevTree) { return (RevTree) o; } if (o instanceof RevCommit) { return source.getTree(((RevCommit) o).getTreeId()); } if (o instanceof RevTag) { return resolveTree(source.getCommit(((RevTag) o).getCommitId()), source); } throw new IllegalArgumentException("Object does not resolve to a tree"); }
@Test public void testChecksClosed() { db.close(); checkClosed(() -> db.delete(ObjectId.NULL)); checkClosed(() -> db.deleteAll(emptyIterator())); checkClosed(() -> db.deleteAll(emptyIterator(), NOOP_LISTENER)); checkClosed(() -> db.exists(RevTree.EMPTY_TREE_ID)); checkClosed(() -> db.get(RevTree.EMPTY_TREE_ID)); checkClosed(() -> db.get(RevTree.EMPTY_TREE_ID, RevTree.class)); checkClosed(() -> db.getAll(ImmutableList.of())); checkClosed(() -> db.getAll(ImmutableList.of(), NOOP_LISTENER)); checkClosed(() -> db.getAll(ImmutableList.of(), NOOP_LISTENER, RevTree.class)); checkClosed(() -> db.getIfPresent(ObjectId.NULL)); checkClosed(() -> db.getIfPresent(RevTree.EMPTY_TREE_ID, RevTree.class)); checkClosed(() -> db.lookUp("abcd1234")); checkClosed(() -> db.put(RevTree.EMPTY)); checkClosed(() -> db.putAll(emptyIterator())); checkClosed(() -> db.putAll(emptyIterator(), NOOP_LISTENER)); }
@Test public void testPutAll() { ImmutableList<RevObject> expected = ImmutableList.of(feature(0, null, "some value"), feature(1, "value", new Integer(111)), feature(2, (Object) null), RevTree.EMPTY); db.putAll(expected.iterator()); for (RevObject o : expected) { assertEquals(o, db.get(o.getId())); } }
@Override public boolean put(RevObject object) { checkWritable(); return subject.get().put(object); }
(fr) -> RevObjectTestSupport.featureForceId(fr.getObjectId(), fr.getObjectId().toString())); db.putAll(fakeFeatures); treeInfos = db.getObjects(treeNodes.iterator(), listener, RevTree.class); assertEquals(numSubTrees, Iterators.size(treeInfos)); assertEquals(numSubTrees, listener.found()); featureInfos = db.getObjects(treeNodes.iterator(), listener, RevFeature.class); assertEquals(0, Iterators.size(featureInfos)); assertEquals(0, listener.found()); featureInfos = db.getObjects(featureNodes.iterator(), listener, RevFeature.class); assertEquals(totalFeatures, Iterators.size(featureInfos)); assertEquals(totalFeatures, listener.found()); treeInfos = db.getObjects(featureNodes.iterator(), listener, RevTree.class); assertEquals(0, Iterators.size(treeInfos)); assertEquals(0, listener.found());
@Test public void testDeleteAll() { ImmutableList<RevObject> objs = ImmutableList.of(feature(0, null, "some value"), feature(1, "value", new Integer(111)), feature(2, (Object) null)); for (RevObject o : objs) { assertTrue(db.put(o)); } ObjectId notInDb1 = RevObjectTestSupport.hashString("fake1"); ObjectId notInDb2 = RevObjectTestSupport.hashString("fake2"); Function<RevObject, ObjectId> toId = p -> p.getId(); List<ObjectId> ids = Lists.newArrayList(concat(singletonIterator(notInDb1), transform(objs.iterator(), toId), singletonIterator(notInDb2))); db.deleteAll(ids.iterator()); for (ObjectId id : ids) { assertFalse(db.exists(id)); } }
private void copyTree(final ObjectId treeId, final ObjectStore from, final ObjectStore to, final Set<ObjectId> metadataIds) { if (to.exists(treeId)) { return; } Supplier<Iterator<NodeRef>> refs = command(LsTreeOp.class).setReference(treeId.toString()) .setStrategy(Strategy.DEPTHFIRST_ONLY_FEATURES); Supplier<Iterator<Node>> nodes = Suppliers.compose(// (it) -> Iterators.transform(it, (ref) -> ref.getNode())// , refs); // move all features, recursively as given by the LsTreeOp strategy copyObjects(from, to, nodes, metadataIds); // iterator that traverses the tree,all its subtrees, an bucket trees Iterator<RevTree> allSubtreesAndBuckets = new AllTrees(treeId, from); to.putAll(allSubtreesAndBuckets); }
@Override public <T extends RevObject> T get(ObjectId id, Class<T> type) throws IllegalArgumentException { return subject.get().get(id, type); }
@After public void tearDown() { if (db != null) { db.close(); } }
private void checkExists(ObjectId id, Object o, ObjectStore store) { if (!store.exists(id)) { throw new IllegalStateException("Object " + o + " not found."); } }
@Test public void testGetIfPresentWithCasting() { assertTrue(db.put(RevTree.EMPTY)); assertEquals(RevTree.EMPTY, db.getIfPresent(RevTree.EMPTY_TREE_ID, RevTree.class)); assertNull(db.getIfPresent(RevTree.EMPTY_TREE_ID, RevTag.class)); }
/** * @param objectId * @return */ private RevCommit resolveCommit(ObjectId objectId) { final RevObject revObject = source.getIfPresent(objectId); checkArgument(revObject != null, "No object named %s could be found", objectId); RevCommit commit; switch (revObject.getType()) { case COMMIT: commit = (RevCommit) revObject; break; case TAG: ObjectId commitId = ((RevTag) revObject).getCommitId(); commit = source.getCommit(commitId); break; default: throw new IllegalArgumentException(String.format( "%s did not resolve to a commit or tag: %s", objectId, revObject.getType())); } return commit; }
database.getFeatureType(metadataId)); final RevFeatureType revFeatureType = RevFeatureTypeBuilder.build(featureType); final SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(featureType); return null; final RevFeature revFeature = database.getFeature(nodeRef.getObjectId()); for (int i = 0; i < revFeature.size(); i++) { String name = featureType.getDescriptor(i + 1).getLocalName();