manager classes added
diff --git a/org.eclipse.emf.refactor.refactoring.papyrus/src/org/eclipse/emf/refactor/refactoring/papyrus/managers/PapyrusProjectManager.java b/org.eclipse.emf.refactor.refactoring.papyrus/src/org/eclipse/emf/refactor/refactoring/papyrus/managers/PapyrusProjectManager.java
new file mode 100644
index 0000000..2f9c0f4
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactoring.papyrus/src/org/eclipse/emf/refactor/refactoring/papyrus/managers/PapyrusProjectManager.java
@@ -0,0 +1,60 @@
+package org.eclipse.emf.refactor.refactoring.papyrus.managers;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.refactoring.managers.ProjectManager;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorInput;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+public class PapyrusProjectManager extends ProjectManager {
+	
+	@SuppressWarnings("finally")
+	public static IProject getActualProject(ISelection selection) {
+		IProject actualProject = ProjectManager.getActualProject();
+		IWorkbenchWindow window = PlatformUI.getWorkbench()
+				.getActiveWorkbenchWindow();
+		try {
+			IEditorPart editorPart = window.getActivePage().getActiveEditor();
+			if (editorPart != null) {
+				IEditorInput input = editorPart.getEditorInput();
+				if (input instanceof IFileEditorInput) {
+					IFileEditorInput fileInput = (IFileEditorInput) input;
+					actualProject = fileInput.getFile().getProject();
+				}
+				if (input instanceof DiagramEditorInput) {
+					actualProject = getProjectFromISelection(selection);
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			return actualProject;
+		}
+	}
+	
+	private static IProject getProjectFromISelection(ISelection selection) {
+		IProject project = null;
+		Object o = PapyrusSelectionManager.getSelection(selection)[0];
+		if (o instanceof IGraphicalEditPart) {
+		    System.out.println("instanceof IGraphicalEditPart");
+		    IGraphicalEditPart gep = (IGraphicalEditPart) o;
+		    EObject element = gep.resolveSemanticElement();
+		    System.out.println("element: " + element);
+		    if (element != null) {
+			    URI uri = gep.resolveSemanticElement().eResource().getURI();
+			    System.out.println("URI: " + uri);
+			    String projectName = uri.segmentsList().get(1).toString();
+			    project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+		    }
+		} 
+		return project;
+	}
+}
diff --git a/org.eclipse.emf.refactor.refactoring.papyrus/src/org/eclipse/emf/refactor/refactoring/papyrus/managers/PapyrusSelectionManager.java b/org.eclipse.emf.refactor.refactoring.papyrus/src/org/eclipse/emf/refactor/refactoring/papyrus/managers/PapyrusSelectionManager.java
new file mode 100644
index 0000000..7166a10
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactoring.papyrus/src/org/eclipse/emf/refactor/refactoring/papyrus/managers/PapyrusSelectionManager.java
@@ -0,0 +1,38 @@
+package org.eclipse.emf.refactor.refactoring.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.refactoring.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;
+	}
+
+}