diff options
author | Victor Roldan Betancort | 2009-03-11 12:14:00 +0000 |
---|---|---|
committer | Victor Roldan Betancort | 2009-03-11 12:14:00 +0000 |
commit | 7cd4fcef13a9a97b9b28172deab3723f347909f2 (patch) | |
tree | 9b821cb57051cd89a7536f9cd657c54ebb235d37 | |
parent | b4ac7149b093431d42b2d1c498613237047ebe7d (diff) | |
download | cdo-7cd4fcef13a9a97b9b28172deab3723f347909f2.tar.gz cdo-7cd4fcef13a9a97b9b28172deab3723f347909f2.tar.xz cdo-7cd4fcef13a9a97b9b28172deab3723f347909f2.zip |
[265435] Replace CDOModelElements by EModelElements
https://bugs.eclipse.org/bugs/show_bug.cgi?id=265435
4 files changed, 59 insertions, 25 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java index 612b51fac9..cab512c1a3 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java @@ -7,6 +7,7 @@ * * Contributors: * Eike Stepper - initial API and implementation + * Victor Roldan Betancort - maintenance */ package org.eclipse.emf.cdo.internal.ui.actions; @@ -45,8 +46,7 @@ public class RegisterGeneratedPackagesAction extends RegisterPackagesAction { Shell shell = page.getWorkbenchWindow().getShell(); SelectPackageDialog dialog = new SelectPackageDialog(shell, "Generated Packages", - "Select one or more packages for registration with the CDO package registry", session.getPackageRegistry() - .keySet()); + "Select one or more packages for registration with the CDO package registry", session.getPackageRegistry()); if (dialog.open() == SelectPackageDialog.OK) { diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterSinglePackageAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterSinglePackageAction.java index cc91acdc98..62c030f9e9 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterSinglePackageAction.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterSinglePackageAction.java @@ -7,9 +7,11 @@ * * Contributors: * Eike Stepper - initial API and implementation + * Victor Roldan Betancort - maintenance */ package org.eclipse.emf.cdo.internal.ui.actions; +import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.internal.ui.SharedIcons; import org.eclipse.emf.cdo.session.CDOSession; @@ -31,9 +33,9 @@ public class RegisterSinglePackageAction extends RegisterPackagesAction private EPackage.Registry registry = EPackage.Registry.INSTANCE; public RegisterSinglePackageAction(IWorkbenchPage page, CDOSession session, String packageURI, - CDOPackageType packageType) + CDOPackageUnit packageUnit) { - super(page, packageURI, "Register the package " + packageURI, getDescriptor(packageType), session); + super(page, packageURI, "Register the package " + packageURI, getDescriptor(packageUnit), session); this.packageURI = packageURI; } @@ -49,9 +51,9 @@ public class RegisterSinglePackageAction extends RegisterPackagesAction return Collections.emptyList(); } - private static ImageDescriptor getDescriptor(CDOPackageType packageType) + private static ImageDescriptor getDescriptor(CDOPackageUnit packageUnit) { - switch (packageType) + switch (packageUnit.getType()) { case LEGACY: return SharedIcons.getDescriptor(SharedIcons.OBJ_EPACKAGE_LEGACY); diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java index ee69a8a08b..ffcf926414 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java @@ -7,15 +7,19 @@ * * Contributors: * Eike Stepper - initial API and implementation + * Victor Roldan Betancort - maintenance */ package org.eclipse.emf.cdo.internal.ui.dialogs; +import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; +import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.internal.ui.SharedIcons; import org.eclipse.emf.cdo.internal.ui.bundle.OM; import org.eclipse.net4j.util.ui.UIUtil; import org.eclipse.net4j.util.ui.widgets.BaseDialog; +import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.jface.viewers.CheckboxTableViewer; @@ -48,12 +52,26 @@ public class SelectPackageDialog extends BaseDialog<CheckboxTableViewer> private Set<String> checkedURIs = new HashSet<String>(); - public SelectPackageDialog(Shell shell, String title, String message, Set<String> excludedURIs) + private CDOPackageRegistry registry; + + protected SelectPackageDialog(Shell shell, String title, String message, CDOPackageRegistry registry, + Set<String> excludedURIs) { super(shell, DEFAULT_SHELL_STYLE | SWT.APPLICATION_MODAL, title, message, OM.Activator.INSTANCE.getDialogSettings()); + this.registry = registry; this.excludedURIs = excludedURIs; } + public SelectPackageDialog(Shell shell, String title, String message, Set<String> excludedURIs) + { + this(shell, title, message, null, excludedURIs); + } + + public SelectPackageDialog(Shell shell, String title, String message, CDOPackageRegistry registry) + { + this(shell, title, message, registry, registry.keySet()); + } + public SelectPackageDialog(Shell shell, String title, String message) { this(shell, title, message, NO_URIS); @@ -71,7 +89,7 @@ public class SelectPackageDialog extends BaseDialog<CheckboxTableViewer> viewer.getTable().setLayoutData(UIUtil.createGridData()); viewer.setContentProvider(new PackageContentProvider()); viewer.setLabelProvider(new PackageLabelProvider()); - viewer.setInput(CDOPackageTypeRegistry.INSTANCE); + viewer.setInput(EPackage.Registry.INSTANCE); String[] uris = OM.PREF_HISTORY_SELECT_PACKAGES.getValue(); if (uris != null) @@ -114,7 +132,7 @@ public class SelectPackageDialog extends BaseDialog<CheckboxTableViewer> public Object[] getElements(Object inputElement) { - Set<String> uris = new HashSet<String>(CDOPackageTypeRegistry.INSTANCE.keySet()); + Set<String> uris = new HashSet<String>(EPackage.Registry.INSTANCE.keySet()); uris.removeAll(excludedURIs); List<String> elements = new ArrayList<String>(uris); @@ -145,8 +163,21 @@ public class SelectPackageDialog extends BaseDialog<CheckboxTableViewer> { if (element instanceof String) { - CDOPackageType packageType = CDOPackageTypeRegistry.INSTANCE.get(element); - switch (packageType) + EPackage ePackage = EPackage.Registry.INSTANCE.getEPackage((String)element); + CDOPackageUnit unit = null; + + if (registry != null) + { + registry.getPackageUnit(ePackage); + } + + // FIXME if EPackage is not registered, can't determine type + if (unit == null) + { + return SharedIcons.getImage(SharedIcons.OBJ_EPACKAGE_LEGACY); + } + + switch (unit.getType()) { case LEGACY: return SharedIcons.getImage(SharedIcons.OBJ_EPACKAGE_LEGACY); diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java index 7a4586957e..3209f14788 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java @@ -7,10 +7,12 @@ * * Contributors: * Eike Stepper - initial API and implementation - * Victor Roldan Betancort - http://bugs.eclipse.org/244801 + * Victor Roldan Betancort - maintenance */ package org.eclipse.emf.cdo.ui; +import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; +import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.internal.ui.SharedIcons; import org.eclipse.emf.cdo.internal.ui.actions.CloseSessionAction; import org.eclipse.emf.cdo.internal.ui.actions.CloseViewAction; @@ -39,6 +41,8 @@ import org.eclipse.net4j.util.ui.actions.SafeAction; import org.eclipse.net4j.util.ui.views.ContainerItemProvider; import org.eclipse.net4j.util.ui.views.IElementFilter; +import org.eclipse.emf.ecore.EPackage; + import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; @@ -51,10 +55,7 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.HashSet; import java.util.List; -import java.util.Map; -import java.util.Set; /** * @author Eike Stepper @@ -230,24 +231,24 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> */ protected boolean fillGenerated(MenuManager manager, CDOSession session) { - Set<Map.Entry<String, CDOPackageType>> entrySet = CDOPackageTypeRegistry.INSTANCE.entrySet(); - List<Map.Entry<String, CDOPackageType>> entryList = new ArrayList<Map.Entry<String, CDOPackageType>>(entrySet); - Collections.sort(entryList, new Comparator<Map.Entry<String, CDOPackageType>>() + List<String> registeredURIs = new ArrayList<String>(EPackage.Registry.INSTANCE.keySet()); + Collections.sort(registeredURIs, new Comparator<String>() { - public int compare(Map.Entry<String, CDOPackageType> e1, Map.Entry<String, CDOPackageType> e2) + public int compare(String o1, String o2) { - return e1.getKey().compareTo(e2.getKey()); + return o1.compareTo(o2); } }); - Set<String> registeredURIs = new HashSet<String>(session.getPackageRegistry().keySet()); boolean added = false; - for (Map.Entry<String, CDOPackageType> entry : entryList) + for (String packageURI : registeredURIs) { - String packageURI = entry.getKey(); - if (!registeredURIs.contains(packageURI)) + CDOPackageRegistry packageRegistry = session.getPackageRegistry(); + EPackage ePackage = packageRegistry.getEPackage(packageURI); + if (ePackage != null) { - manager.add(new RegisterSinglePackageAction(page, session, packageURI, entry.getValue())); + CDOPackageUnit packageUnit = packageRegistry.getPackageUnit(ePackage); + manager.add(new RegisterSinglePackageAction(page, session, packageURI, packageUnit)); added = true; } } |