/** * @since 2.0 */ public long refresh() { checkActive(); if (options().isPassiveUpdateEnabled()) { return CDOBranchPoint.UNSPECIFIED_DATE; } return refresh(false); }
public void setIDGenerator(CDOIDGenerator idGenerator) { checkInactive(); this.idGenerator = idGenerator; }
protected void sessionProtocolDeactivated() { deactivate(); }
public CDOView openView(CDOBranch branch, long timeStamp, boolean shouldInvalidate) { checkActive(); InternalCDOView view = new CDOViewImpl(branch, timeStamp, shouldInvalidate); initView(view, createResourceSet()); return view; }
private long refresh(boolean enablePassiveUpdates) { Map<CDOBranch, List<InternalCDOView>> views = new HashMap<CDOBranch, List<InternalCDOView>>(); Map<CDOBranch, Map<CDOID, InternalCDORevision>> viewedRevisions = new HashMap<CDOBranch, Map<CDOID, InternalCDORevision>>(); collectViewedRevisions(views, viewedRevisions); cleanupRevisionCache(viewedRevisions); CDOSessionProtocol sessionProtocol = getSessionProtocol(); long lastUpdateTime = getLastUpdateTime(); int initialChunkSize = options().getCollectionLoadingPolicy().getInitialChunkSize(); RefreshSessionResult result = sessionProtocol.refresh(lastUpdateTime, viewedRevisions, initialChunkSize, enablePassiveUpdates); setLastUpdateTime(result.getLastUpdateTime()); registerPackageUnits(result.getPackageUnits()); for (Entry<CDOBranch, List<InternalCDOView>> entry : views.entrySet()) { CDOBranch branch = entry.getKey(); List<InternalCDOView> branchViews = entry.getValue(); processRefreshSessionResult(result, branch, branchViews, viewedRevisions); } return result.getLastUpdateTime(); }
@Override public OptionsImpl options() { return (OptionsImpl)super.options(); }
setLastUpdateTime(timeStamp); CDOSessionImpl.this.fireEvent(new InvalidationEvent(sender, commitInfo)); commitInfoManager.notifyCommitInfoHandlers(commitInfo); for (InternalCDOView view : getViews()) if (isActive())
public EPackage[] loadPackages(CDOPackageUnit packageUnit) { if (packageUnit.getOriginalType().isGenerated()) { if (!options().isGeneratedPackageEmulationEnabled()) { throw new CDOException(MessageFormat.format(Messages.getString("CDOSessionImpl.0"), packageUnit)); //$NON-NLS-1$ } } return getSessionProtocol().loadPackages(packageUnit); }
public boolean isSticky() { return !options().isPassiveUpdateEnabled() && getRepositoryInfo().isSupportingAudits(); }
protected boolean canProcess(Invalidation invalidation) { if (options().isPassiveUpdateEnabled()) { long previousTimeStamp = invalidation.getPreviousTimeStamp(); long lastUpdateTime = getLastUpdateTime(); return previousTimeStamp <= lastUpdateTime; // Can be smaller in replication scenarios } return unfinishedLocalCommits.size() == 1; // Ourselves }
@Override protected void doActivate() throws Exception { super.doActivate(); InternalCDORemoteSessionManager remoteSessionManager = new CDORemoteSessionManagerImpl(); remoteSessionManager.setLocalSession(this); setRemoteSessionManager(remoteSessionManager); remoteSessionManager.activate(); checkState(sessionProtocol, "sessionProtocol"); //$NON-NLS-1$ checkState(remoteSessionManager, "remoteSessionManager"); //$NON-NLS-1$ }
/** * @since 2.0 */ public void fireInvalidationEvent(InternalCDOTransaction sender, CDOCommitInfo commitInfo) { fireEvent(new InvalidationEvent(sender, commitInfo)); }
@Override protected void doDeactivate() throws Exception { super.doDeactivate(); getRevisionManager().deactivate(); setRevisionManager(null); } }
@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(); }
private long refresh(boolean enablePassiveUpdates) { Map<CDOBranch, List<InternalCDOView>> views = new HashMap<CDOBranch, List<InternalCDOView>>(); Map<CDOBranch, Map<CDOID, InternalCDORevision>> viewedRevisions = new HashMap<CDOBranch, Map<CDOID, InternalCDORevision>>(); collectViewedRevisions(views, viewedRevisions); cleanupRevisionCache(viewedRevisions); CDOSessionProtocol sessionProtocol = getSessionProtocol(); long lastUpdateTime = getLastUpdateTime(); int initialChunkSize = options().getCollectionLoadingPolicy().getInitialChunkSize(); RefreshSessionResult result = sessionProtocol.refresh(lastUpdateTime, viewedRevisions, initialChunkSize, enablePassiveUpdates); setLastUpdateTime(result.getLastUpdateTime()); registerPackageUnits(result.getPackageUnits()); for (Entry<CDOBranch, List<InternalCDOView>> entry : views.entrySet()) { CDOBranch branch = entry.getKey(); List<InternalCDOView> branchViews = entry.getValue(); processRefreshSessionResult(result, branch, branchViews, viewedRevisions); } return result.getLastUpdateTime(); }
public CDOCollectionLoadingPolicy getCollectionLoadingPolicy() { return options().getCollectionLoadingPolicy(); } };
public EPackage[] loadPackages(CDOPackageUnit packageUnit) { if (packageUnit.getOriginalType().isGenerated()) { if (!options().isGeneratedPackageEmulationEnabled()) { throw new CDOException(MessageFormat.format(Messages.getString("CDOSessionImpl.0"), packageUnit)); //$NON-NLS-1$ } } return getSessionProtocol().loadPackages(packageUnit); }
public boolean isSticky() { return !options().isPassiveUpdateEnabled() && getRepositoryInfo().isSupportingAudits(); }
@Override protected void doActivate() throws Exception { super.doActivate(); LifecycleUtil.activate(invalidator); InternalCDORemoteSessionManager remoteSessionManager = new CDORemoteSessionManagerImpl(); remoteSessionManager.setLocalSession(this); setRemoteSessionManager(remoteSessionManager); remoteSessionManager.activate(); checkState(sessionProtocol, "sessionProtocol"); //$NON-NLS-1$ checkState(remoteSessionManager, "remoteSessionManager"); //$NON-NLS-1$ }