use of org.apache.jena.tdb.transaction.Transaction in project jena by apache.
the class AbstractTestNodeTableTrans method nodetrans_06.
@Test
public void nodetrans_06() {
// 2 transactions - blocking reader - create a second NodeTableTrans
Transaction txn1 = createTxn(11);
NodeTableTrans ntt1 = create(txn1, node1);
NodeId nodeId1 = ntt1.getBaseNodeTable().getNodeIdForNode(node1);
ntt1.begin(txn1);
NodeId nodeId2 = ntt1.getAllocateNodeId(node2);
ntt1.commitPrepare(txn1);
// READ - don't enact
Transaction txn2 = createTxn(12);
NodeTableTrans ntt2 = create(txn2, ntt1.getBaseNodeTable());
ntt2.begin(txn2);
assertEquals(nodeId1, ntt2.getNodeIdForNode(node1));
assertEquals(nodeId2, ntt2.getNodeIdForNode(node2));
NodeId nodeId3 = ntt2.getAllocateNodeId(node3);
assertEquals(nodeId3, ntt2.getNodeIdForNode(node3));
ntt2.commitPrepare(txn2);
// READ ends.
ntt1.commitEnact(txn1);
ntt1.commitClearup(txn1);
ntt2.commitEnact(txn2);
ntt2.commitClearup(txn2);
assertEquals(nodeId1, ntt1.getBaseNodeTable().getNodeIdForNode(node1));
assertEquals(nodeId2, ntt1.getBaseNodeTable().getNodeIdForNode(node2));
assertEquals(nodeId3, ntt1.getBaseNodeTable().getNodeIdForNode(node3));
}
use of org.apache.jena.tdb.transaction.Transaction in project jena by apache.
the class AbstractTestNodeTableTrans method nodetrans_07.
@Test
public void nodetrans_07() {
Transaction txn = createTxn(13);
NodeTableTrans ntt = create(txn);
ntt.begin(txn);
assertEquals(NodeId.NodeIdAny, ntt.getNodeIdForNode(Node.ANY));
assertEquals(Node.ANY, ntt.getNodeForNodeId(NodeId.NodeIdAny));
assertTrue(ntt.isEmpty());
ntt.commitPrepare(txn);
ntt.commitEnact(txn);
ntt.commitClearup(txn);
}
use of org.apache.jena.tdb.transaction.Transaction in project jena by apache.
the class AbstractTestNodeTableTrans method nodetrans_05.
@Test
public void nodetrans_05() {
// 2 transactions - no blocking reader - create a second NodeTableTrans
Transaction txn1 = createTxn(11);
NodeTableTrans ntt1 = create(txn1, node1);
NodeId nodeId1 = ntt1.getBaseNodeTable().getNodeIdForNode(node1);
ntt1.begin(txn1);
NodeId nodeId2 = ntt1.getAllocateNodeId(node2);
ntt1.commitPrepare(txn1);
ntt1.commitEnact(txn1);
ntt1.commitClearup(txn1);
Transaction txn2 = createTxn(12);
NodeTableTrans ntt2 = create(txn2, ntt1.getBaseNodeTable());
ntt2.begin(txn2);
assertEquals(nodeId1, ntt2.getNodeIdForNode(node1));
assertEquals(nodeId2, ntt2.getNodeIdForNode(node2));
NodeId nodeId3 = ntt2.getAllocateNodeId(node3);
assertEquals(nodeId3, ntt2.getNodeIdForNode(node3));
ntt2.commitPrepare(txn2);
ntt2.commitEnact(txn2);
ntt2.commitClearup(txn2);
assertEquals(nodeId1, ntt1.getBaseNodeTable().getNodeIdForNode(node1));
assertEquals(nodeId2, ntt1.getBaseNodeTable().getNodeIdForNode(node2));
assertEquals(nodeId3, ntt1.getBaseNodeTable().getNodeIdForNode(node3));
}
use of org.apache.jena.tdb.transaction.Transaction in project jena by apache.
the class AbstractTestNodeTableTrans method nodetrans_01.
@Test
public void nodetrans_01() {
Transaction txn = createTxn(11);
NodeTableTrans ntt = create(txn);
ntt.begin(txn);
ntt.abort(txn);
}
use of org.apache.jena.tdb.transaction.Transaction in project jena by apache.
the class AbstractTestNodeTableTrans method nodetrans_02.
@Test
public void nodetrans_02() {
Transaction txn = createTxn(11);
NodeTableTrans ntt = create(txn);
NodeTable nt0 = ntt.getBaseNodeTable();
ntt.begin(txn);
// Add a node
NodeId nodeId = ntt.getAllocateNodeId(node1);
// Check not in the base.
assertNull(nt0.getNodeForNodeId(nodeId));
// Check is in the transaction node table.
assertEquals(NodeId.NodeDoesNotExist, nt0.getNodeIdForNode(node1));
assertEquals(node1, ntt.getNodeForNodeId(nodeId));
ntt.commitPrepare(txn);
ntt.commitEnact(txn);
// Check it is now in the base.
assertEquals(node1, nt0.getNodeForNodeId(nodeId));
assertEquals(nodeId, nt0.getNodeIdForNode(node1));
ntt.commitClearup(txn);
}
Aggregations