Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2013-02-21 07:57:11 +0000
committerEike Stepper2013-02-21 07:57:11 +0000
commitccc143cdbf937af334cb50a69582bb3f8899758e (patch)
tree978fb585501a9a86d4e98e03030bea7b3536eacc /plugins/org.eclipse.emf.cdo.server.hibernate/src
parentcf49b7c79567c2428ecfca6d42867eda592cefca (diff)
downloadcdo-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')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCommitContext.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java9
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)
+ {
+ }
}

Back to the top