diff options
author | Eike Stepper | 2018-05-02 11:27:46 +0000 |
---|---|---|
committer | Eike Stepper | 2018-05-02 11:27:46 +0000 |
commit | 52a62ab5e7e7d8aff1e482a32a453fe67ff3bf62 (patch) | |
tree | e244ba54a213cd4118b453a16aa2b156cb62c824 /plugins/org.eclipse.emf.cdo/src/org/eclipse | |
parent | b1cf5c385c916946ea044f0325b74b3907c262ed (diff) | |
download | cdo-52a62ab5e7e7d8aff1e482a32a453fe67ff3bf62.tar.gz cdo-52a62ab5e7e7d8aff1e482a32a453fe67ff3bf62.tar.xz cdo-52a62ab5e7e7d8aff1e482a32a453fe67ff3bf62.zip |
[534254] [DB] Create all mapped tables lazily
https://bugs.eclipse.org/bugs/show_bug.cgi?id=534254
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java index fda65177e8..96b61eb744 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java @@ -25,7 +25,6 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EParameter; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.ETypeParameter; -import org.eclipse.emf.ecore.EcorePackage; import java.text.MessageFormat; import java.util.HashSet; @@ -39,53 +38,43 @@ public class CompletePackageClosure extends PackageClosure { private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_MODEL, CompletePackageClosure.class); - private boolean excludeEcore; - public CompletePackageClosure() { } - public CompletePackageClosure(boolean excludeEcore) - { - this.excludeEcore = excludeEcore; - } - @Override protected void handleEPackage(EPackage ePackage, Set<EPackage> visitedPackages) { - if (ePackage != null && visitedPackages.add(ePackage)) + if (ePackage != null) { - if (excludeEcore && // Optimize EPackage comparison - (EcorePackage.eINSTANCE == ePackage || EcorePackage.eNS_URI.equals(ePackage.getNsURI()))) + if (visitedPackages.add(ePackage)) { - return; - } - - Set<Object> visited = new HashSet<Object>(); - for (EClassifier classifier : ePackage.getEClassifiers()) - { - handleEClassifier(classifier, visitedPackages, visited); - } + Set<Object> visited = new HashSet<Object>(); + for (EClassifier classifier : ePackage.getEClassifiers()) + { + handleEClassifier(classifier, visitedPackages, visited); + } - for (Object object : visited) - { - if (object instanceof EClassifier) + for (Object object : visited) { - EClassifier classifier = (EClassifier)object; - final EPackage p = classifier.getEPackage(); - if (p != null) + if (object instanceof EClassifier) { - if (visitedPackages.add(p)) + EClassifier classifier = (EClassifier)object; + final EPackage p = classifier.getEPackage(); + if (p != null) { - if (TRACER.isEnabled()) + if (visitedPackages.add(p)) { - TRACER.trace("Found package " + p.getNsURI()); //$NON-NLS-1$ + if (TRACER.isEnabled()) + { + TRACER.trace("Found package " + p.getNsURI()); //$NON-NLS-1$ + } } } - } - else - { - OM.LOG.warn(MessageFormat.format(Messages.getString("CompletePackageClosure.0"), classifier.getName())); //$NON-NLS-1$ + else + { + OM.LOG.warn(MessageFormat.format(Messages.getString("CompletePackageClosure.0"), classifier.getName())); //$NON-NLS-1$ + } } } } |