Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2008-06-24 17:51:30 +0000
committerEike Stepper2008-06-24 17:51:30 +0000
commit8aafb5876e65d3d2db007f5a491c7187d3f4626d (patch)
treea82cd153e33f21b55db61dc668c41ed38a8247fd
parente74c2317e4b97318439781fa47aae710ead885a4 (diff)
downloadcdo-8aafb5876e65d3d2db007f5a491c7187d3f4626d.tar.gz
cdo-8aafb5876e65d3d2db007f5a491c7187d3f4626d.tar.xz
cdo-8aafb5876e65d3d2db007f5a491c7187d3f4626d.zip
[238300] [Hibernate] CCE in TeneoHibernateMappingProvider
https://bugs.eclipse.org/bugs/show_bug.cgi?id=238300
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/TeneoHibernateMappingProvider.java25
1 files changed, 14 insertions, 11 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/TeneoHibernateMappingProvider.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/TeneoHibernateMappingProvider.java
index c1124692e3..507fe38884 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/TeneoHibernateMappingProvider.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/TeneoHibernateMappingProvider.java
@@ -125,23 +125,26 @@ public class TeneoHibernateMappingProvider implements IHibernateMappingProvider
// this will check the global package registry and read the epackages from
// there if the epackage is already present there
- protected List<EPackage> resolveSubPackages(EPackage epack)
+ protected List<EPackage> resolveSubPackages(EPackage ePackage)
{
- final List<EPackage> epacks = new ArrayList<EPackage>();
- if (EPackage.Registry.INSTANCE.get(epack.getNsURI()) != null)
- {
- epacks.add((EPackage)EPackage.Registry.INSTANCE.get(epack.getNsURI()));
- }
- else
+ final List<EPackage> result = new ArrayList<EPackage>();
+ resolveSubPackages(ePackage, result);
+ return result;
+ }
+
+ private void resolveSubPackages(EPackage ePackage, List<EPackage> result)
+ {
+ EPackage globalPackage = EPackage.Registry.INSTANCE.getEPackage(ePackage.getNsURI());
+ if (globalPackage != null)
{
- epacks.add(epack);
+ ePackage = globalPackage;
}
- for (EPackage subEPackage : epack.getESubpackages())
+ result.add(ePackage);
+ for (EPackage subEPackage : ePackage.getESubpackages())
{
- epacks.addAll(resolveSubPackages(subEPackage));
+ resolveSubPackages(subEPackage, result);
}
- return epacks;
}
public IHibernateStore getHibernateStore()

Back to the top