@Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj instanceof CDORevision) { CDORevision that = (CDORevision)obj; return getID().equals(that.getID()) && getBranch().equals(that.getBranch()) && getVersion() == that.getVersion(); } return false; }
/** * @since 2.0 */ public static CDORevision getRevisionByVersion(CDOObject object, int version) { if (FSMUtil.isTransient(object)) { return null; } CDORevision revision = CDOStateMachine.INSTANCE.read((InternalCDOObject)object); return getRevisionByVersion(object, revision.getBranch(), version, revision); }
/** * @since 4.0 */ public CDOID getNextCDOID(LongIDStoreAccessor accessor, CDORevision revision) { if (revision.getBranch().isLocal()) { return CDOIDUtil.createLong(nextLocalObjectID.getAndDecrement()); } return CDOIDUtil.createLong(lastObjectID.incrementAndGet()); }
public synchronized CDOID getNextCDOID(CDORevision revision) { if (revision.getBranch().isLocal()) { return CDOIDUtil.createString("" + nextLocalObjectID--); } return CDOIDUtil.createString("" + ++lastObjectID); }
public CDORevisionDeltaImpl(CDORevision revision) { eClass = revision.getEClass(); id = revision.getID(); branch = revision.getBranch(); version = revision.getVersion(); }
/** * @since 2.0 */ public static CDORevision getRevisionByVersion(CDOObject object, int version) { if (FSMUtil.isTransient(object)) { return null; } CDORevision revision = CDOStateMachine.INSTANCE.read((InternalCDOObject)object); return getRevisionByVersion(object, revision.getBranch(), version, revision); }
@Override protected void setKeyFields(PreparedStatement stmt, CDORevision revision) throws SQLException { IIDHandler idHandler = getMappingStrategy().getStore().getIDHandler(); idHandler.setCDOID(stmt, 1, revision.getID()); stmt.setInt(2, revision.getBranch().getID()); stmt.setInt(3, revision.getVersion()); }
private static CDORevision getPreviousVersion(final CDORevisionManager revisionManager, final CDORevision affectedRevision) { final CDOBranchVersion previousBranchVersion = affectedRevision.getBranch().getVersion(affectedRevision.getVersion() - 1); final CDORevision previousRevision = revisionManager.getRevisionByVersion(affectedRevision.getID(), previousBranchVersion, CDORevision.UNCHUNKED, true); return previousRevision; }
@Override protected void setKeyFields(PreparedStatement stmt, CDORevision revision) throws SQLException { getMappingStrategy().getStore().getIDHandler().setCDOID(stmt, 1, revision.getID()); stmt.setInt(2, revision.getBranch().getID()); stmt.setInt(3, revision.getVersion()); }
protected void checkDuplicateResources(IDBStoreAccessor accessor, CDORevision revision) throws IllegalStateException { CDOID folderID = (CDOID)revision.data().getContainerID(); String name = (String)revision.data().get(EresourcePackage.eINSTANCE.getCDOResourceNode_Name(), 0); CDOID existingID = accessor.readResourceID(folderID, name, revision.getBranch().getHead()); if (existingID != null && !existingID.equals(revision.getID())) { throw new IllegalStateException("Duplicate resource node in folder " + folderID + ": " + name); //$NON-NLS-1$ //$NON-NLS-2$ } }
public synchronized CDOID getNextCDOID(CDORevision revision) { if (revision.getBranch().isLocal()) { CDOID result = nextLocalObjectID; nextLocalObjectID = create(value(result) - 1); return result; } lastObjectID = create(value(lastObjectID) + 1); return lastObjectID; }
public synchronized CDOID getNextCDOID(CDORevision revision) { if (revision.getBranch().isLocal()) { CDOID result = nextLocalObjectID; nextLocalObjectID = create(value(result) - 1); return result; } lastObjectID = create(value(lastObjectID) + 1); return lastObjectID; }
public void addRevision(CDORevision revision) { CheckUtil.checkArg(revision, "revision"); CDOID id = revision.getID(); Object key = createKey(id, revision.getBranch()); synchronized (revisionLists) { RevisionList list = revisionLists.get(key); if (list == null) { list = new RevisionList(); revisionLists.put(key, list); } list.addRevision((InternalCDORevision)revision, createReference(revision)); typeRefIncrease(id, revision.getEClass()); } }
private static CDORevision getPreviousRevision(final CDORevisionManager revisionManager, final CDORevision source) { CDOBranchPoint parentBranchPoint = source.getBranch().getBase(); while (parentBranchPoint.getBranch() != null) { final CDORevision previousRevision = revisionManager.getRevision(source.getID(), parentBranchPoint, CDORevision.UNCHUNKED, CDORevision.DEPTH_NONE, true); if (previousRevision != null) { return previousRevision; } parentBranchPoint = parentBranchPoint.getBranch().getBase(); } return null; }
protected final void writeValue(IDBStoreAccessor accessor, CDORevision revision, int idx, Object value) { if (TRACER.isEnabled()) { TRACER .format( "Writing value for feature {0}.{1} index {2} of {3} : {4}", getContainingClass().getName(), getFeature(), idx, revision, value); //$NON-NLS-1$ } addEntry(accessor, revision.getID(), revision.getBranch().getID(), revision.getVersion(), idx, value, revision.getTimeStamp()); }
protected final void writeValue(IDBStoreAccessor accessor, CDORevision revision, int index, Object value) { if (TRACER.isEnabled()) { TRACER.format("Writing value for feature {0}.{1} index {2} of {3} : {4}", //$NON-NLS-1$ getContainingClass().getName(), getFeature().getName(), index, revision, value); } addEntry(accessor, revision.getID(), revision.getBranch().getID(), revision.getVersion(), index, value); }
public CDOObjectHistoryImpl(CDOObject object) { super(object.cdoView().getSession().getCommitInfoManager(), object.cdoRevision().getBranch()); revisionManager = object.cdoView().getSession().getRevisionManager(); this.object = object; }
public boolean handleRevision(CDORevision revision) { if (revision.getVersion() < CDOBranchVersion.FIRST_VERSION - 1) { revision = new DetachedCDORevision(revision.getEClass(), revision.getID(), revision.getBranch(), -revision.getVersion(), revision.getTimeStamp(), revision.getRevised()); } return delegate.handleRevision(revision); } }
private void cacheRevisions2(CDORevisionAvailabilityInfo info) { InternalCDORevisionManager revisionManager = getRevisionManager(); CDOBranch branch = info.getBranchPoint().getBranch(); for (CDORevisionKey key : info.getAvailableRevisions().values()) { CDORevision revision = (CDORevision)key; revisionManager.addRevision(revision); if (revision.getBranch() != branch) { CDOID id = revision.getID(); CDORevision firstRevision = revisionManager.getCache().getRevisionByVersion(id, branch.getVersion(CDOBranchVersion.FIRST_VERSION)); if (firstRevision != null) { long revised = firstRevision.getTimeStamp() - 1L; CDOBranchVersion target = CDOBranchUtil.copyBranchVersion(revision); PointerCDORevision pointer = new PointerCDORevision(revision.getEClass(), id, branch, revised, target); revisionManager.addRevision(pointer); } } } }
public CDORevisionDeltaImpl(CDORevision sourceRevision, CDORevision targetRevision) { if (sourceRevision.getEClass() != targetRevision.getEClass()) { throw new IllegalArgumentException(); } eClass = sourceRevision.getEClass(); id = sourceRevision.getID(); branch = sourceRevision.getBranch(); version = sourceRevision.getVersion(); target = CDORevisionUtil.copyRevisable(targetRevision); compare(sourceRevision, targetRevision); CDORevisionData originData = sourceRevision.data(); CDORevisionData dirtyData = targetRevision.data(); Object dirtyContainerID = dirtyData.getContainerID(); if (dirtyContainerID instanceof CDOWithID) { dirtyContainerID = ((CDOWithID)dirtyContainerID).cdoID(); } if (!compare(originData.getContainerID(), dirtyContainerID) || !compare(originData.getContainingFeatureID(), dirtyData.getContainingFeatureID()) || !compare(originData.getResourceID(), dirtyData.getResourceID())) { addFeatureDelta(new CDOContainerFeatureDeltaImpl(dirtyData.getResourceID(), dirtyContainerID, dirtyData.getContainingFeatureID())); } }