diff options
author | Martin Taal | 2011-05-16 06:51:09 +0000 |
---|---|---|
committer | Martin Taal | 2011-05-16 06:51:09 +0000 |
commit | 1f79c21019edb7d3fef642a80539af7bd8caa658 (patch) | |
tree | 639cf4b3c775c56b00fca4111c5ad203fcd472a0 /plugins | |
parent | f8bd167da591f80f2ecf29feea86d72da93335fd (diff) | |
download | cdo-1f79c21019edb7d3fef642a80539af7bd8caa658.tar.gz cdo-1f79c21019edb7d3fef642a80539af7bd8caa658.tar.xz cdo-1f79c21019edb7d3fef642a80539af7bd8caa658.zip |
Make use of standard getSourceCandidates api, remove unnecessary code
Diffstat (limited to 'plugins')
2 files changed, 3 insertions, 62 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java index 1035c69aa5..1554bc5d48 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java @@ -12,9 +12,7 @@ package org.eclipse.emf.cdo.server.internal.hibernate; import org.eclipse.emf.cdo.common.model.CDOModelUtil; -import org.eclipse.emf.cdo.common.model.CDOPackageInfo; import org.eclipse.emf.cdo.common.model.EMFUtil; -import org.eclipse.emf.cdo.internal.server.XRefsQueryHandler; import org.eclipse.emf.cdo.server.IStoreAccessor.CommitContext; import org.eclipse.emf.cdo.server.internal.hibernate.bundle.OM; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry; @@ -26,10 +24,7 @@ import org.eclipse.net4j.util.io.IOUtil; import org.eclipse.net4j.util.lifecycle.Lifecycle; import org.eclipse.net4j.util.om.trace.ContextTracer; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.resource.ResourceSet; import org.hibernate.Criteria; @@ -44,7 +39,6 @@ import org.hibernate.tool.hbm2ddl.SchemaUpdate; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -150,8 +144,6 @@ public class HibernatePackageHandler extends Lifecycle private boolean doDropSchema; - private Map<EClass, Map<EClass, List<EReference>>> sourceCandidates = new HashMap<EClass, Map<EClass, List<EReference>>>(); - /** * TODO Necessary to pass/store/dump the properties from the store? */ @@ -209,7 +201,6 @@ public class HibernatePackageHandler extends Lifecycle { reset(); hibernateStore.reInitialize(); - sourceCandidates = null; } } @@ -219,55 +210,6 @@ public class HibernatePackageHandler extends Lifecycle return packageUnits; } - public Map<EClass, List<EReference>> getSourceCandidates(EClass targetEClass) - { - if (sourceCandidates == null) - { - computeSourceCandidates(); - } - - final Map<EClass, List<EReference>> sourceCandidateList = sourceCandidates.get(targetEClass); - if (sourceCandidateList == null) - { - return new HashMap<EClass, List<EReference>>(); - } - - return sourceCandidateList; - } - - private synchronized void computeSourceCandidates() - { - if (sourceCandidates != null) - { - return; - } - - sourceCandidates = new HashMap<EClass, Map<EClass, List<EReference>>>(); - - for (EPackage ePackage : getEPackages()) - { - for (EClassifier eClassifier : ePackage.getEClassifiers()) - { - if (eClassifier instanceof EClass) - { - sourceCandidates.put((EClass)eClassifier, computeSourceCandidatesByEClass((EClass)eClassifier)); - } - } - } - } - - private Map<EClass, List<EReference>> computeSourceCandidatesByEClass(EClass targetType) - { - final Map<EClass, List<EReference>> localSourceCandidates = new HashMap<EClass, List<EReference>>(); - final Collection<EClass> targetTypes = Collections.singletonList(targetType); - for (CDOPackageInfo packageInfo : hibernateStore.getRepository().getPackageRegistry(false).getPackageInfos()) - { - XRefsQueryHandler.collectSourceCandidates(packageInfo, targetTypes, localSourceCandidates); - } - - return localSourceCandidates; - } - public EPackage[] loadPackageUnit(InternalCDOPackageUnit packageUnit) { final String nsUri = packageUnit.getTopLevelPackageInfo().getPackageURI(); 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 e2b8ca9a70..9461df8ced 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 @@ -535,12 +535,11 @@ public class HibernateStoreAccessor extends StoreAccessor implements IHibernateS final CDORevision revision = HibernateUtil.getInstance().getCDORevision(targetCdoId); final EClass targetEClass = context.getTargetObjects().get(targetCdoId); final String targetEntityName = getStore().getEntityName(targetEClass); - final Map<EClass, List<EReference>> sourceReferences = getStore().getPackageHandler().getSourceCandidates( - targetEClass); - for (EClass sourceEClass : sourceReferences.keySet()) + final Map<EClass, List<EReference>> sourceCandidates = context.getSourceCandidates(); + for (EClass sourceEClass : sourceCandidates.keySet()) { final String sourceEntityName = getStore().getEntityName(sourceEClass); - for (EReference eref : sourceReferences.get(sourceEClass)) + for (EReference eref : sourceCandidates.get(sourceEClass)) { final String hql; if (eref.isMany()) |