diff options
author | Eike Stepper | 2013-02-21 07:57:11 +0000 |
---|---|---|
committer | Eike Stepper | 2013-02-21 07:57:11 +0000 |
commit | ccc143cdbf937af334cb50a69582bb3f8899758e (patch) | |
tree | 978fb585501a9a86d4e98e03030bea7b3536eacc /plugins/org.eclipse.emf.cdo.server.hibernate/src | |
parent | cf49b7c79567c2428ecfca6d42867eda592cefca (diff) | |
download | cdo-ccc143cdbf937af334cb50a69582bb3f8899758e.tar.gz cdo-ccc143cdbf937af334cb50a69582bb3f8899758e.tar.xz cdo-ccc143cdbf937af334cb50a69582bb3f8899758e.zip |
[400892] Intern all CDOIDs
https://bugs.eclipse.org/bugs/show_bug.cgi?id=400892
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.hibernate/src')
4 files changed, 19 insertions, 11 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCommitContext.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCommitContext.java index 9f3bd286d8..85557163a3 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCommitContext.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCommitContext.java @@ -12,24 +12,25 @@ package org.eclipse.emf.cdo.server.internal.hibernate; import org.eclipse.emf.cdo.common.id.CDOID; +import org.eclipse.emf.cdo.common.id.CDOIDUtil; import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision; import org.eclipse.emf.cdo.spi.server.InternalCommitContext; -import java.util.HashMap; +import java.util.Map; /** * A HibernateCommitContext contains the commitcontext as well as support for direct (hashmap) based search for a new or * changed object using the id. - * + * * @author Martin Taal */ public class HibernateCommitContext { private InternalCommitContext commitContext; - private HashMap<CDOID, InternalCDORevision> dirtyObjects; + private Map<CDOID, InternalCDORevision> dirtyObjects; - private HashMap<CDOID, InternalCDORevision> newObjects; + private Map<CDOID, InternalCDORevision> newObjects; private boolean inDoWrite = false; @@ -53,13 +54,13 @@ public class HibernateCommitContext return; } - dirtyObjects = new HashMap<CDOID, InternalCDORevision>(); + dirtyObjects = CDOIDUtil.createMap(); for (InternalCDORevision cdoRevision : commitContext.getDirtyObjects()) { dirtyObjects.put(cdoRevision.getID(), cdoRevision); } - newObjects = new HashMap<CDOID, InternalCDORevision>(); + newObjects = CDOIDUtil.createMap(); for (InternalCDORevision cdoRevision : commitContext.getNewObjects()) { newObjects.put(cdoRevision.getID(), cdoRevision); diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java index 3a0de33f4c..fb7be679f1 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java @@ -35,18 +35,17 @@ import org.eclipse.emf.ecore.EClass; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; /** * Used during raw import. - * + * * @author Martin Taal */ public class HibernateRawCommitContext implements InternalCommitContext { - private Map<CDOID, CDOID> idMappings = new HashMap<CDOID, CDOID>(); + private Map<CDOID, CDOID> idMappings = CDOIDUtil.createMap(); private List<InternalCDORevision> dirtyObjects = new ArrayList<InternalCDORevision>(); diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java index f74f54de3e..112e01ac0f 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java @@ -95,7 +95,6 @@ import java.sql.Clob; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; -import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -878,7 +877,7 @@ public class HibernateStoreAccessor extends StoreAccessor implements IHibernateS // versions later on. The versions can be updated when inserting new objects // this will result in a version difference when the object gets merged // this repair is done just before the merge - final Map<CDOID, InternalCDORevision> existingRevisions = new HashMap<CDOID, InternalCDORevision>(); + final Map<CDOID, InternalCDORevision> existingRevisions = CDOIDUtil.createMap(); for (InternalCDORevision revision : context.getDirtyObjects()) { final String entityName = HibernateUtil.getInstance().getEntityName(revision.getID()); diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java index 89ed82d496..9ca210065b 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java @@ -485,4 +485,13 @@ public class WrappedHibernateList implements InternalCDOList { getDelegate().set(i, value); } + + public boolean useEquals() + { + return true; + } + + public void setUseEquals(boolean useEquals) + { + } } |