public synchronized void prefetchRevisions(CDOID id, int depth) { checkArg(depth != CDORevision.DEPTH_NONE, "Prefetch depth must not be zero"); //$NON-NLS-1$ int initialChunkSize = session.options().getCollectionLoadingPolicy().getInitialChunkSize(); prefetchRevisions(id, depth, initialChunkSize); }
public void setCollectionLoadingPolicy(CDOCollectionLoadingPolicy policy) { if (policy == null) { policy = CDOUtil.createCollectionLoadingPolicy(CDORevision.UNCHUNKED, CDORevision.UNCHUNKED); } CDOSession oldSession = policy.getSession(); if (oldSession != null) { throw new IllegalArgumentException("Policy is already associated with " + oldSession); } policy.setSession(CDOSessionImpl.this); IListener[] listeners = getListeners(); IEvent event = null; synchronized (this) { if (collectionLoadingPolicy != policy) { collectionLoadingPolicy = policy; if (listeners != null) { event = new CollectionLoadingPolicyEventImpl(); } } } if (event != null) { fireEvent(event, listeners); } }
/** * @since 3.0 */ public Object resolveElementProxy(CDORevision revision, EStructuralFeature feature, int accessIndex, int serverIndex) { if (!((InternalCDORevision)revision).isUnchunked()) { CDOCollectionLoadingPolicy policy = options().getCollectionLoadingPolicy(); return policy.resolveProxy(revision, feature, accessIndex, serverIndex); } return revision.data().get(feature, accessIndex); }
/** * @since 4.0 */ public void resolveAllElementProxies(CDORevision revision) { InternalCDORevision internalRevision = (InternalCDORevision)revision; if (!internalRevision.isUnchunked()) { CDOCollectionLoadingPolicy policy = options().getCollectionLoadingPolicy(); for (EReference reference : internalRevision.getClassInfo().getAllPersistentReferences()) { if (reference.isMany()) { CDOList list = internalRevision.getList(reference); for (Iterator<Object> it = list.iterator(); it.hasNext();) { Object element = it.next(); if (element instanceof CDOElementProxy) { policy.resolveAllProxies(internalRevision, reference); break; } } } } internalRevision.setUnchunked(); } }
if (element instanceof CDOElementProxy) policy.resolveAllProxies(revision, reference); break;
public synchronized void prefetchRevisions(CDOID id, int depth) { checkArg(depth != CDORevision.DEPTH_NONE, "Prefetch depth must not be zero"); //$NON-NLS-1$ int initialChunkSize = session.options().getCollectionLoadingPolicy().getInitialChunkSize(); prefetchRevisions(id, depth, initialChunkSize); }
public void setCollectionLoadingPolicy(CDOCollectionLoadingPolicy policy) { if (policy == null) { policy = CDOUtil.createCollectionLoadingPolicy(CDORevision.UNCHUNKED, CDORevision.UNCHUNKED); } CDOSession oldSession = policy.getSession(); if (oldSession != null) { throw new IllegalArgumentException("Policy is already associated with " + oldSession); } policy.setSession(CDOSessionImpl.this); IListener[] listeners = getListeners(); IEvent event = null; synchronized (this) { if (collectionLoadingPolicy != policy) { collectionLoadingPolicy = policy; if (listeners != null) { event = new CollectionLoadingPolicyEventImpl(); } } } if (event != null) { fireEvent(event, listeners); } }
/** * @since 3.0 */ public Object resolveElementProxy(CDORevision revision, EStructuralFeature feature, int accessIndex, int serverIndex) { if (!((InternalCDORevision)revision).isUnchunked()) { CDOCollectionLoadingPolicy policy = options().getCollectionLoadingPolicy(); return policy.resolveProxy(revision, feature, accessIndex, serverIndex); } return revision.data().get(feature, accessIndex); }
public synchronized InternalCDORevision getRevision(CDOID id, boolean loadOnDemand) { InternalCDORevisionManager revisionManager = session.getRevisionManager(); int initialChunkSize = session.options().getCollectionLoadingPolicy().getInitialChunkSize(); CDOBranchPoint branchPoint = getBranchPointForID(id); return revisionManager.getRevision(id, branchPoint, initialChunkSize, CDORevision.DEPTH_NONE, loadOnDemand); }
public synchronized InternalCDORevision getRevision(CDOID id, boolean loadOnDemand) { InternalCDORevisionManager revisionManager = session.getRevisionManager(); int initialChunkSize = session.options().getCollectionLoadingPolicy().getInitialChunkSize(); CDOBranchPoint branchPoint = getBranchPointForID(id); return revisionManager.getRevision(id, branchPoint, initialChunkSize, CDORevision.DEPTH_NONE, loadOnDemand); }
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(); }
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(); }
out.writeInt(collectionLoadingPolicy != null ? collectionLoadingPolicy.getInitialChunkSize() : CDORevision.UNCHUNKED); out.writeCDOID(contextID);
if (!listOfIDs.isEmpty()) int initialChunkSize = view.getSession().options().getCollectionLoadingPolicy().getInitialChunkSize(); revisionManager.getRevisions(listOfIDs, view, initialChunkSize, CDORevision.DEPTH_NONE, true);
if (!listOfIDs.isEmpty()) int initialChunkSize = view.getSession().options().getCollectionLoadingPolicy().getInitialChunkSize(); revisionManager.getRevisions(listOfIDs, view, initialChunkSize, CDORevision.DEPTH_NONE, true);