Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Roldan Betancort2009-03-11 12:14:00 +0000
committerVictor Roldan Betancort2009-03-11 12:14:00 +0000
commit7cd4fcef13a9a97b9b28172deab3723f347909f2 (patch)
tree9b821cb57051cd89a7536f9cd657c54ebb235d37
parentb4ac7149b093431d42b2d1c498613237047ebe7d (diff)
downloadcdo-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
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterSinglePackageAction.java10
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java41
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java29
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;
}
}

Back to the top