/** * @since 4.0 */ public static String getResourceNodePath(CDORevision revision, CDORevisionProvider provider) { EAttribute nameFeature = (EAttribute)revision.getEClass().getEStructuralFeature("name"); StringBuilder builder = new StringBuilder(); getResourceNodePath((InternalCDORevision)revision, provider, nameFeature, builder); builder.insert(0, "/"); return builder.toString(); }
/** Published a component given by its unique storage key. */ private void publishComponent(final CDORevision revision, final Object effectiveTime) { if (!isIgnoredType(revision.getEClass())) { adjustComponentForPublication(revision, effectiveTime); } }
private boolean isVersionCommit(final CDOCommitInfo commitInfo) { for (CDOIDAndVersion newObject : commitInfo.getNewObjects()) { if (newObject instanceof CDORevision) { if (TerminologymetadataPackage.Literals.CODE_SYSTEM_VERSION.isSuperTypeOf(((CDORevision) newObject).getEClass())) { return true; } } } for (CDORevisionKey changedObject : commitInfo.getChangedObjects()) { if (changedObject instanceof CDORevision) { if (TerminologymetadataPackage.Literals.CODE_SYSTEM_VERSION.isSuperTypeOf(((CDORevision) changedObject).getEClass())) { return true; } } } return false; }
private boolean isVersionCommit(final CDOCommitInfo commitInfo) { for (CDOIDAndVersion newObject : commitInfo.getNewObjects()) { if (newObject instanceof CDORevision) { if (TerminologymetadataPackage.Literals.CODE_SYSTEM_VERSION.isSuperTypeOf(((CDORevision) newObject).getEClass())) { return true; } } } for (CDORevisionKey changedObject : commitInfo.getChangedObjects()) { if (changedObject instanceof CDORevision) { if (TerminologymetadataPackage.Literals.CODE_SYSTEM_VERSION.isSuperTypeOf(((CDORevision) changedObject).getEClass())) { return true; } } } return false; }
public CDORevisionDeltaImpl(CDORevision revision) { eClass = revision.getEClass(); id = revision.getID(); branch = revision.getBranch(); version = revision.getVersion(); }
public DBStoreChunkReader(DBStoreAccessor accessor, CDORevision revision, EStructuralFeature feature) { super(accessor, revision, feature); IMappingStrategy mappingStrategy = accessor.getStore().getMappingStrategy(); IClassMapping mapping = mappingStrategy.getClassMapping(revision.getEClass()); referenceMapping = mapping.getListMapping(feature); }
private static CDORevision removeManyValuedReferences(final CDORevision source) { final CDORevision revisionCopy = source.copy(); for (final EStructuralFeature ref : CDOModelUtil.getAllPersistentFeatures(revisionCopy.getEClass())) { if (ref.isMany()) { ((InternalCDORevision) revisionCopy).setValue(ref, null); } } return revisionCopy; } }
public EClass getObjectType(CDOID id, CDOBranchManager branchManagerForLoadOnDemand) { EClass type = cache.getObjectType(id); if (type == null && branchManagerForLoadOnDemand != null) { CDOBranch mainBranch = branchManagerForLoadOnDemand.getMainBranch(); CDORevision revision = getRevisionByVersion(id, mainBranch.getVersion(CDOBranchVersion.FIRST_VERSION), 0, true); if (revision != null) { type = revision.getEClass(); } } return type; }
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()); } }
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); } }
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())); } }
for (EStructuralFeature feature : revision.getEClass().getEAllStructuralFeatures())
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 void cacheRevisions(CDORevisionAvailabilityInfo info) { InternalCDORevisionManager revisionManager = getRevisionManager(); CDOBranch branch = info.getBranchPoint().getBranch(); for (CDORevisionKey key : info.getAvailableRevisions().values()) { CDORevision revision = (CDORevision)key; revisionManager.addRevision(revision); if (!ObjectUtil.equals(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); } } } }