@Override public RDFBeanTransaction beginTransaction(boolean readOnly, int txTimeout, int isolationLevel) { RDFBeanTransaction[] transactions = new RDFBeanTransaction[connections.length]; for (int i = 0; i < transactions.length; i++) { transactions[i] = connections[i].beginTransaction(readOnly, txTimeout, isolationLevel); } this.readonlyTnx = readOnly; localTxn = new MultiTransaction(this, transactions); return localTxn; }
@Override public void commit() { if (rollbackOnly) { throw new RepositoryException("Transaction is rollBackOnly"); } try { prepare(); } catch (RuntimeException e) { rollback(); throw new RepositoryException(e); } try { for (RDFBeanTransaction tx : transactions) { tx.commit(); } } finally { connection.cleanUpAfterCommit(); } }
@Test public void Rollback() { tx.rollback(); }
@Test public void Commit() { tx.commit(); }
@Test public void IsActive() { tx.isActive(); }
@Test public void SetRollbackOnly() { tx.setRollbackOnly(); }
@Test public void IsRollbackOnly() { tx.isRollbackOnly(); }
@Before public void setUp() { MiniRepository repository = new MiniRepository(); MultiConnection connection = new MultiConnection(repository.openConnection(), repository.openConnection()); RDFBeanTransaction innerTx = EasyMock.createNiceMock(RDFBeanTransaction.class); tx = new MultiTransaction(connection, new RDFBeanTransaction[] { innerTx }); }