class PapyrusSelectionManager added
diff --git a/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF
index ca778c3..8eb4f69 100644
--- a/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF
@@ -5,6 +5,10 @@
Bundle-Version: 0.7.0.qualifier
Bundle-Activator: org.eclipse.emf.refactor.metrics.papyrus.Activator
Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
+ org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;bundle-version="2.8.1",
+ org.eclipse.emf.refactor.metrics;bundle-version="0.7.0",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0",
+ org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.2.1"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/org.eclipse.emf.refactor.metrics.papyrus/src/org/eclipse/emf/refactor/metrics/papyrus/managers/PapyrusSelectionManager.java b/org.eclipse.emf.refactor.metrics.papyrus/src/org/eclipse/emf/refactor/metrics/papyrus/managers/PapyrusSelectionManager.java
new file mode 100644
index 0000000..2b56de3
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.papyrus/src/org/eclipse/emf/refactor/metrics/papyrus/managers/PapyrusSelectionManager.java
@@ -0,0 +1,38 @@
+package org.eclipse.emf.refactor.metrics.papyrus.managers;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem;
+import org.eclipse.emf.refactor.metrics.managers.SelectionManager;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.jface.viewers.ISelection;
+
+@SuppressWarnings("restriction")
+public class PapyrusSelectionManager extends SelectionManager {
+
+ public static List<EObject> getESelection(ISelection selection) {
+ if (selection == null)
+ return null;
+ List<EObject> r = SelectionManager.getESelection(selection);
+ for (Object o : getSelection(selection)) {
+ if (o instanceof ModelElementItem) {
+ System.out.println("instanceof ModelElementItem");
+ ModelElementItem mei = (ModelElementItem) o;
+ System.out.println("element: " + mei.getEObject());
+ r.add(mei.getEObject());
+ } else {
+ if (o instanceof IGraphicalEditPart) {
+ System.out.println("instanceof IGraphicalEditPart");
+ IGraphicalEditPart gep = (IGraphicalEditPart) o;
+ System.out.println("element: " + gep.resolveSemanticElement());
+ r.add(gep.resolveSemanticElement());
+ } else {
+ return null;
+ }
+ }
+ }
+ return r;
+ }
+
+}