private InternalCDORevision getRevisionFromBranch(CDOID id, CDOBranchPoint branchPoint) { return revisionManager.getRevision(id, branchPoint, CDORevision.UNCHUNKED, CDORevision.DEPTH_NONE, true); }
public InternalCDORevisionCache getCache() { return getDelegate().getCache(); }
@Override protected CDORevisionFactory getRevisionFactory() { return session.getRevisionManager().getFactory(); }
revisionManager.addRevision(newRevision); final CDORevision oldRevision = revisionManager.getRevisionByVersion(revisionDelta.getID(), revisionDelta, CDORevision.UNCHUNKED, false); revisionManager.addRevision(newRevision); if (oldRevisions == null) revisionManager.reviseVersion(id, key, timeStamp); revisionManager.reviseVersion(id, newBranch.getVersion(CDOBranchVersion.UNSPECIFIED_VERSION), timeStamp); if (version == CDOBranchVersion.UNSPECIFIED_VERSION) revisionManager.reviseLatest(id, newBranch); revisionManager.reviseVersion(id, branchVersion, timeStamp);
@Override protected void doActivate() throws Exception { super.doActivate(); EmbeddedClientSessionProtocol protocol = new EmbeddedClientSessionProtocol(this); setSessionProtocol(protocol); protocol.activate(); protocol.openSession(options().isPassiveUpdateEnabled()); setLastUpdateTime(repository.getLastCommitTimeStamp()); setRepositoryInfo(new RepositoryInfo(this)); InternalCDORevisionManager revisionManager = (InternalCDORevisionManager)CDORevisionUtil.createRevisionManager(); setRevisionManager(revisionManager); revisionManager.setSupportingAudits(getRepositoryInfo().isSupportingAudits()); revisionManager.setSupportingBranches(getRepositoryInfo().isSupportingBranches()); revisionManager.setCache(CDORevisionCache.NOOP); revisionManager.setRevisionLoader(getSessionProtocol()); revisionManager.setRevisionLocker(this); revisionManager.activate(); }
if (!revisionManager.isActive()) revisionManager.setSupportingAudits(repository.isSupportingAudits()); revisionManager.setSupportingBranches(repository.isSupportingBranches()); revisionManager.setRevisionLoader(sessionProtocol); revisionManager.setRevisionLocker(this); revisionManager.activate();
public InternalCDORevision getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int referenceChunk, boolean loadOnDemand) { return getDelegate().getRevisionByVersion(id, branchVersion, referenceChunk, loadOnDemand); }
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); } } } }
protected void handleProtocolChange(CDOSessionProtocol oldProtocol, CDOSessionProtocol newProtocol) { // The revisionManager, branchManager, and commitInfoManager, hold their own // references to the sessionProtocol. We need to update those: InternalCDORevisionManager revisionManager = getRevisionManager(); revisionManager.deactivate(); revisionManager.setRevisionLoader(newProtocol); revisionManager.activate(); InternalCDOBranchManager branchManager = getBranchManager(); branchManager.deactivate(); branchManager.setBranchLoader(newProtocol); branchManager.activate(); InternalCDOCommitInfoManager commitInfoManager = getCommitInfoManager(); commitInfoManager.deactivate(); commitInfoManager.setCommitInfoLoader(newProtocol); commitInfoManager.activate(); }
public void processRefreshSessionResult(RefreshSessionResult result, CDOBranch branch, List<InternalCDOView> branchViews, Map<CDOBranch, Map<CDOID, InternalCDORevision>> viewedRevisions) { Map<CDOID, InternalCDORevision> oldRevisions = viewedRevisions.get(branch); List<CDORevisionKey> changedObjects = new ArrayList<CDORevisionKey>(); List<InternalCDORevision> newRevisions = result.getChangedObjects(branch); for (InternalCDORevision newRevision : newRevisions) { getRevisionManager().addRevision(newRevision); InternalCDORevision oldRevision = oldRevisions.get(newRevision.getID()); InternalCDORevisionDelta delta = newRevision.compare(oldRevision); changedObjects.add(delta); } List<CDOIDAndVersion> detachedObjects = result.getDetachedObjects(branch); for (CDOIDAndVersion detachedObject : detachedObjects) { getRevisionManager().reviseLatest(detachedObject.getID(), branch); } for (InternalCDOView view : branchViews) { view.invalidate(view.getBranch(), result.getLastUpdateTime(), changedObjects, detachedObjects, oldRevisions, false); } }
/** * @since 4.0 */ public void addRevision(CDORevision revision) { getDelegate().addRevision(revision); }
public List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) { return getDelegate().getRevisions(ids, branchPoint, referenceChunk, prefetchDepth, loadOnDemand, synthetics); }
@Override protected void doDeactivate() throws Exception { CDOSessionProtocol sessionProtocol = getSessionProtocol(); super.doDeactivate(); InternalCDOCommitInfoManager commitInfoManager = getCommitInfoManager(); if (commitInfoManager.getCommitInfoLoader() == sessionProtocol) { commitInfoManager.deactivate(); } InternalCDORevisionManager revisionManager = getRevisionManager(); if (revisionManager.getRevisionLoader() == sessionProtocol) { revisionManager.deactivate(); } InternalCDOBranchManager branchManager = getBranchManager(); if (branchManager.getBranchLoader() == sessionProtocol) { branchManager.deactivate(); } getPackageRegistry().deactivate(); }
@Override protected void doDeactivate() throws Exception { if (isDelegatingLifecycle()) { getDelegate().deactivate(); } }
public void reviseVersion(CDOID id, CDOBranchVersion branchVersion, long timeStamp) { getDelegate().reviseVersion(id, branchVersion, timeStamp); }
public void reviseLatest(CDOID id, CDOBranch branch) { getDelegate().reviseLatest(id, branch); }
@Override protected void doActivate() throws Exception { if (isDelegatingLifecycle()) { getDelegate().activate(); } }
revisionManager.addRevision(newRevision); InternalCDORevision oldRevision = revisionManager.getRevisionByVersion(id, revisionDelta, CDORevision.UNCHUNKED, false); if (oldRevision != null) newRevision.freeze(); revisionManager.addRevision(newRevision); if (oldRevisions == null) revisionManager.reviseVersion(id, key, timeStamp); revisionManager.reviseLatest(id, newBranch);
@Override protected void responding(CDODataOutput out) throws IOException { InternalCDORevisionManager revisionManager = getRepository().getRevisionManager(); InternalCDORevision revision = revisionManager.getRevisionByVersion(id, branchVersion, referenceChunk, true); RevisionInfo.writeResult(out, revision, referenceChunk, null); // Exposes revision to client side } }
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); } } } }