use of org.apache.jackrabbit.oak.plugins.document.UpdateOp.Key in project jackrabbit-oak by apache.
the class NodeDocumentSweeperTest method sweepUncommittedBeforeHead.
@Test
public void sweepUncommittedBeforeHead() throws Exception {
Revision uncommitted = ns.newRevision();
NodeBuilder b = ns.getRoot().builder();
b.child("test");
merge(ns, b);
ns.runBackgroundUpdateOperations();
UpdateOp op = new UpdateOp(getIdFromPath("/test"), false);
op.setMapEntry("foo", uncommitted, "value");
setCommitRoot(op, uncommitted, 0);
setModified(op, uncommitted);
assertNotNull(store.findAndUpdate(NODES, op));
List<UpdateOp> ops = Lists.newArrayList();
Revision nextSweepStart = sweep(ops);
assertEquals(ns.getHeadRevision().getRevision(ns.getClusterId()), nextSweepStart);
assertEquals(1, ops.size());
op = ops.get(0);
Map<Key, Operation> changes = op.getChanges();
assertEquals(2, changes.size());
Operation o = changes.get(new Key(COMMIT_ROOT, uncommitted));
assertNotNull(o);
assertEquals(REMOVE_MAP_ENTRY, o.type);
o = changes.get(new Key("foo", uncommitted));
assertNotNull(o);
assertEquals(REMOVE_MAP_ENTRY, o.type);
}
use of org.apache.jackrabbit.oak.plugins.document.UpdateOp.Key in project jackrabbit-oak by apache.
the class NodeDocumentSweeperTest method updatePre18Branch.
@Test
public void updatePre18Branch() throws Exception {
String branchRev = mk.branch(null);
branchRev = mk.commit("/", "+\"foo\":{}", branchRev, null);
mk.merge(branchRev, null);
ns.runBackgroundUpdateOperations();
// simulate a pre 1.8 branch commit by removing the branch commit entry
NodeDocument doc = store.find(NODES, getIdFromPath("/foo"));
assertNotNull(doc);
assertEquals(1, doc.getLocalBranchCommits().size());
UpdateOp op = new UpdateOp(doc.getId(), false);
for (Revision r : doc.getLocalBranchCommits()) {
NodeDocument.removeBranchCommit(op, r);
}
assertNotNull(store.findAndUpdate(NODES, op));
List<UpdateOp> ops = Lists.newArrayList();
Revision nextSweepStart = sweep(ops);
assertEquals(ns.getHeadRevision().getRevision(ns.getClusterId()), nextSweepStart);
assertEquals(1, ops.size());
op = ops.get(0);
Map<Key, Operation> changes = op.getChanges();
assertEquals(1, changes.size());
Key k = changes.keySet().iterator().next();
assertEquals("_bc", k.getName());
assertEquals(SET_MAP_ENTRY, changes.get(k).type);
}
Aggregations