public void testCommitNew() throws Exception { msg("Opening session"); CDOSession session = openSession(); msg("Opening transaction"); CDOTransaction transaction = session.openTransaction(); msg("Creating resource"); CDOResource resource = transaction.createResource(getResourcePath("/test1")); msg("Creating supplier"); Supplier supplier = getModel1Factory().createSupplier(); msg("Setting name"); supplier.setName("Stepper"); msg("Adding supplier"); resource.getContents().add(supplier); msg("Committing"); CDOCommitInfo commit = transaction.commit(); assertEquals(CDOState.CLEAN, resource.cdoState()); assertEquals(CDOState.CLEAN, CDOUtil.getCDOObject(supplier).cdoState()); assertEquals(1, CDOUtil.getCDOObject(supplier).cdoRevision().getVersion()); assertCreatedTime(resource, commit.getTimeStamp()); assertCreatedTime(supplier, commit.getTimeStamp()); }
private final Segment getSegment(CDOCommitInfo commitInfo) { CDOBranch cdoBranch = commitInfo.getBranch(); long time = commitInfo.getTimeStamp(); Branch branch = getBranch(cdoBranch); Segment segment = branch.getSegment(time); if (segment == null) { // This must be a new commit after the last or before the first boolean afterLast = isAfterLast(time); // false means beforeFirst segment = getOrCreateSegment(branch, time, afterLast); } branch.adjustCommitTimes(time); segment.adjustCommitTimes(time); return segment; }
public void testCommitDirty() throws Exception { CDOSession session = openSession(); CDOTransaction transaction = session.openTransaction(); CDOResource resource = transaction.createResource(getResourcePath("/test1")); Supplier supplier = getModel1Factory().createSupplier(); supplier.setName("Stepper"); resource.getContents().add(supplier); CDOCommitInfo commit = transaction.commit(); long commitTime1 = commit.getTimeStamp(); assertCreatedTime(supplier, commitTime1); supplier.setName("Eike"); long commitTime2 = transaction.commit().getTimeStamp(); assertEquals(true, commitTime1 < commitTime2); assertEquals(CDOState.CLEAN, resource.cdoState()); assertEquals(CDOState.CLEAN, CDOUtil.getCDOObject(supplier).cdoState()); assertCreatedTime(supplier, commitTime2); }