Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java
index d15c89933d..5024f49bad 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java
@@ -52,7 +52,7 @@ public class Session extends Container<IView> implements ISession, CDOIDProvider
private ConcurrentMap<Integer, View> views = new ConcurrentHashMap<Integer, View>();
- private Set<CDOID> knownObjects = new HashSet<CDOID>();
+ private Set<CDOID> knownTypes = new HashSet<CDOID>();
private IListener protocolListener = new LifecycleEventAdapter()
{
@@ -171,14 +171,18 @@ public class Session extends Container<IView> implements ISession, CDOIDProvider
return id;
}
- if (knownObjects.contains(id))
+ Repository repository = sessionManager.getRepository();
+ if (repository.isRememberingKnownTypes())
{
- // TODO On client-side add a check if the id is really known!
- return id;
+ if (knownTypes.contains(id))
+ {
+ // TODO On client-side add a check if the id is really known!
+ return id;
+ }
+
+ knownTypes.add(id);
}
- knownObjects.add(id);
- Repository repository = sessionManager.getRepository();
CDOClassRef type = repository.getTypeManager().getObjectType(StoreUtil.getReader(), id);
return CDOIDImpl.create(id.getValue(), type);
}

Back to the top