diff options
author | tarendt | 2013-09-23 19:59:31 +0000 |
---|---|---|
committer | tarendt | 2013-09-23 19:59:31 +0000 |
commit | 6d8e7f87d3de420228c403dabcbf4550fe18387b (patch) | |
tree | cf2732304b9c6b506efcb24173c1af7d574a40b2 | |
parent | ce72873a1bb8b95d7ce081eede3c70d4a5731735 (diff) | |
download | org.eclipse.emf.refactor.smells-6d8e7f87d3de420228c403dabcbf4550fe18387b.tar.gz org.eclipse.emf.refactor.smells-6d8e7f87d3de420228c403dabcbf4550fe18387b.tar.xz org.eclipse.emf.refactor.smells-6d8e7f87d3de420228c403dabcbf4550fe18387b.zip |
sysos commented and diagram stored
9 files changed, 52 insertions, 6 deletions
diff --git a/org.eclipse.emf.refactor.smells.papyrus/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.smells.papyrus/META-INF/MANIFEST.MF index 83971d9..6fdb8eb 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/META-INF/MANIFEST.MF +++ b/org.eclipse.emf.refactor.smells.papyrus/META-INF/MANIFEST.MF @@ -10,6 +10,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.2.1", org.eclipse.emf.refactor.smells;bundle-version="0.7.0", org.eclipse.emf.refactor.smells.runtime;bundle-version="0.7.0", - org.eclipse.emf.refactor.metrics.runtime;bundle-version="0.7.0" + org.eclipse.emf.refactor.metrics.runtime;bundle-version="0.7.0", + org.eclipse.emf.refactor.refactoring.papyrus;bundle-version="0.8.0" Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.class b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.class Binary files differindex 671acd1..c449dcb 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.class +++ b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.class diff --git a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.class b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.class Binary files differindex c334173..e2ca799 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.class +++ b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.class diff --git a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.class b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.class Binary files differindex 31819f7..d96d515 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.class +++ b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.class diff --git a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.class b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.class Binary files differindex e3f0632..3292fd9 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.class +++ b/org.eclipse.emf.refactor.smells.papyrus/bin/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.class diff --git a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.java b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.java index 440558d..a1a2fc4 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.java +++ b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/handler/FindModelSmellHandler.java @@ -8,6 +8,7 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.refactor.refactoring.papyrus.managers.PapyrusManager; import org.eclipse.emf.refactor.smells.papyrus.managers.HighlightManager; import org.eclipse.emf.refactor.smells.papyrus.managers.PapyrusSelectionManager; import org.eclipse.emf.refactor.smells.runtime.managers.RuntimeManager; @@ -39,6 +40,7 @@ public class FindModelSmellHandler implements IHandler { ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(); HighlightManager.getInstance().setComponents(PapyrusSelectionManager.getObject(selection)); selectedEObject = PapyrusSelectionManager.getEObject(selection); + PapyrusManager.getInstance().setDiagram(PapyrusSelectionManager.getDiagram(selection)); if (selectedEObject == null) { MessageDialog.openError( shell, diff --git a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.java b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.java index 2d53b55..b47580e 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.java +++ b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/HighlightManager.java @@ -60,8 +60,8 @@ public class HighlightManager { } public void registerDecorator(IDecorator decorator, DecoratorTarget decoratorTarget) { - System.out.println("Register decorator; decorator: " + decorator.toString()); - System.out.println("Register decorator; decoratorTarget: " + decoratorTarget.toString()); +// System.out.println("Register decorator; decorator: " + decorator.toString()); +// System.out.println("Register decorator; decoratorTarget: " + decoratorTarget.toString()); View view = (View) decoratorTarget.getAdapter(View.class); if(decoratorTargets.containsKey(view.getElement())){ @@ -85,7 +85,7 @@ public class HighlightManager { } public void unregisterDecorator(IDecorator decorator) { - System.out.println("Unregister decorator; decorator: " + decorator.toString()); +// System.out.println("Unregister decorator; decorator: " + decorator.toString()); decorators.remove(decorator); } diff --git a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.java b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.java index 952c3f9..cc1d138 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.java +++ b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/managers/PapyrusSelectionManager.java @@ -1,9 +1,15 @@ package org.eclipse.emf.refactor.smells.papyrus.managers; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem; import org.eclipse.emf.refactor.smells.managers.SelectionManager; import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; +import org.eclipse.gmf.runtime.notation.Diagram; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; @@ -46,5 +52,42 @@ public class PapyrusSelectionManager extends SelectionManager { } return null; } + + @SuppressWarnings("unchecked") + public static Object[] getSelection(ISelection selection) { + System.out.println("selection instanceof StructuredSelection: " + + (selection instanceof StructuredSelection)); + if (null != selection) { + if (selection instanceof StructuredSelection) { + StructuredSelection ss = (StructuredSelection) selection; + if (null == ss.getFirstElement()) + return ss.toArray(); + List<Object> list = new ArrayList<Object>(); + final Iterator<Object> i = ss.iterator(); + while (i.hasNext()) { + final Object selectedEObject = i.next(); + list.add(selectedEObject); + } + return list.toArray(); + } + } + return new Object[0]; + } + + public static Diagram getDiagram(ISelection selection) { + for (Object o : getSelection(selection)) { + if (o instanceof IGraphicalEditPart) { + System.out.println("instanceof IGraphicalEditPart"); + IGraphicalEditPart gep = (IGraphicalEditPart) o; + System.out.println("element: " + gep.resolveSemanticElement()); + System.out.println("notation view: " + gep.getNotationView()); + System.out.println("notation view element: " + gep.getNotationView().getElement()); + EObject root = EcoreUtil.getRootContainer(gep.getNotationView()); + System.out.println("root: " + root); + return (Diagram) root; + } + } + return null; + } } diff --git a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.java b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.java index 1400db6..3b2588b 100644 --- a/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.java +++ b/org.eclipse.emf.refactor.smells.papyrus/src/org/eclipse/emf/refactor/smells/papyrus/ui/PapyrusDecorator.java @@ -100,7 +100,7 @@ public class PapyrusDecorator extends AbstractDecorator { @Override public void refresh() { - System.out.println("Start REFRESH"); +// System.out.println("Start REFRESH"); removeDecoration(); IGraphicalEditPart editPart = (IGraphicalEditPart) getDecoratorTarget().getAdapter(EditPart.class); @@ -126,7 +126,7 @@ public class PapyrusDecorator extends AbstractDecorator { } } } - System.out.println("End REFRESH"); +// System.out.println("End REFRESH"); } private boolean selectionContains(EObject element){ |