Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
index c4c25661d6..90d7d4a3f8 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
@@ -182,13 +182,7 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme
private CDORepositoryInfo repositoryInfo;
- private CDOFetchRuleManager ruleManager = new NOOPFetchRuleManager()
- {
- public CDOCollectionLoadingPolicy getCollectionLoadingPolicy()
- {
- return options().getCollectionLoadingPolicy();
- }
- };
+ private CDOFetchRuleManager fetchRuleManager;
private IRWOLockManager<CDOSessionImpl, Object> lockManager = new RWOLockManager<CDOSessionImpl, Object>();
@@ -344,7 +338,7 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme
*/
public CDOFetchRuleManager getFetchRuleManager()
{
- return ruleManager;
+ return fetchRuleManager;
}
/**
@@ -352,7 +346,18 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme
*/
public void setFetchRuleManager(CDOFetchRuleManager fetchRuleManager)
{
- ruleManager = fetchRuleManager;
+ if (fetchRuleManager == null)
+ {
+ fetchRuleManager = new NOOPFetchRuleManager()
+ {
+ public CDOCollectionLoadingPolicy getCollectionLoadingPolicy()
+ {
+ return options().getCollectionLoadingPolicy();
+ }
+ };
+ }
+
+ this.fetchRuleManager = fetchRuleManager;
}
public CDOAuthenticator getAuthenticator()

Back to the top