refactoring REMOVE SUPERCLASS added
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController$1.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController$1.class
new file mode 100644
index 0000000..28989da
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController$1.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController$InternalRefactoringProcessor.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController$InternalRefactoringProcessor.class
new file mode 100644
index 0000000..ddbbb8a
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController$InternalRefactoringProcessor.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController.class
new file mode 100644
index 0000000..9fc1286
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringDataManagement.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringDataManagement.class
new file mode 100644
index 0000000..e1fb033
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringDataManagement.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringGuiHandler.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringGuiHandler.class
new file mode 100644
index 0000000..1592786
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringGuiHandler.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizard.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizard.class
new file mode 100644
index 0000000..61f5dfc
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizard.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizardPage.class b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizardPage.class
new file mode 100644
index 0000000..b45fa5d
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/bin/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizardPage.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/comrelmodels/removesuperclass.comrel b/org.eclipse.emf.refactor.refactorings.uml24.compositional/comrelmodels/removesuperclass.comrel
new file mode 100644
index 0000000..b9607d3
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/comrelmodels/removesuperclass.comrel
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<comrel:CompositeRefactoring xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:comrel="http://comrel/0.1" name="removesuperclass" refId="comrel.removesuperclass" label="Remove Superclass" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
+ <mainRefactoringUnit xsi:type="comrel:SequentialUnit" name="removesuperclass">
+ <helperUnits xsi:type="comrel:MultiFeatureUnit" name="GetOwnedAttributes" helperUnitId="comrel.getownedattributes" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML" multiFeatureHelper="//@helper.0">
+ <inputPort name="class_" type="org.eclipse.uml2.uml.Class"/>
+ <outputPort name="property_s" type="org.eclipse.uml2.uml.Property"/>
+ </helperUnits>
+ <helperUnits xsi:type="comrel:MultiFeatureUnit" name="GetOwnedOperations" helperUnitId="comrel.getownedoperations" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML" multiFeatureHelper="//@helper.1">
+ <inputPort name="class_" type="org.eclipse.uml2.uml.Class"/>
+ <outputPort name="operation_s" type="org.eclipse.uml2.uml.Operation"/>
+ </helperUnits>
+ <refactoringUnits xsi:type="comrel:SingleQueuedUnit" seqExecutionOrder="1">
+ <refactoringUnit xsi:type="comrel:AtomicUnit" name="Push Down Attribute" unitId="org.eclipse.emf.refactor.refactorings.uml24.pushdownattribute" label="Push Down Attribute" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML" modelRefactoring="//@modelRefactorings.0">
+ <inputPorts name="selectedEObject" description="" type="org.eclipse.uml2.uml.Property"/>
+ </refactoringUnit>
+ <multiInputPort name="selectedEObjects" type="org.eclipse.uml2.uml.Property"/>
+ </refactoringUnits>
+ <refactoringUnits xsi:type="comrel:SingleQueuedUnit" seqExecutionOrder="2">
+ <refactoringUnit xsi:type="comrel:AtomicUnit" name="Push Down Operation" unitId="org.eclipse.emf.refactor.refactorings.uml24.pushdownoperation" label="Push Down Operation" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML" modelRefactoring="//@modelRefactorings.1">
+ <inputPorts name="selectedEObject" description="" type="org.eclipse.uml2.uml.Operation"/>
+ </refactoringUnit>
+ <multiInputPort name="selectedEObjects" type="org.eclipse.uml2.uml.Operation"/>
+ </refactoringUnits>
+ <refactoringUnits xsi:type="comrel:AtomicUnit" name="Remove Empty Superclass" seqExecutionOrder="3" unitId="org.eclipse.emf.refactor.refactorings.uml24.removeemptysuperclass" label="Remove Empty Superclass" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML" modelRefactoring="//@modelRefactorings.2">
+ <inputPorts name="selectedEObject" description="" type="org.eclipse.uml2.uml.Class"/>
+ </refactoringUnits>
+ <inputPorts xsi:type="comrel:SingleInputPort" name="selectedEObject" type="org.eclipse.uml2.uml.Class"/>
+ </mainRefactoringUnit>
+ <portMappings xsi:type="comrel:MultiSinglePortMapping" source="//@mainRefactoringUnit/@refactoringUnits.0/@multiInputPort" target="//@mainRefactoringUnit/@refactoringUnits.0/@refactoringUnit/@inputPorts.0"/>
+ <portMappings xsi:type="comrel:MultiPortMapping" source="//@mainRefactoringUnit/@helperUnits.0/@outputPort" target="//@mainRefactoringUnit/@refactoringUnits.0/@multiInputPort"/>
+ <portMappings xsi:type="comrel:MultiSinglePortMapping" source="//@mainRefactoringUnit/@refactoringUnits.1/@multiInputPort" target="//@mainRefactoringUnit/@refactoringUnits.1/@refactoringUnit/@inputPorts.0"/>
+ <portMappings xsi:type="comrel:MultiPortMapping" source="//@mainRefactoringUnit/@helperUnits.1/@outputPort" target="//@mainRefactoringUnit/@refactoringUnits.1/@multiInputPort"/>
+ <portMappings xsi:type="comrel:SinglePortMapping" source="//@mainRefactoringUnit/@inputPorts.0" target="//@mainRefactoringUnit/@refactoringUnits.2/@inputPorts.0"/>
+ <portMappings xsi:type="comrel:SinglePortMapping" source="//@mainRefactoringUnit/@inputPorts.0" target="//@mainRefactoringUnit/@helperUnits.0/@inputPort"/>
+ <portMappings xsi:type="comrel:SinglePortMapping" source="//@mainRefactoringUnit/@inputPorts.0" target="//@mainRefactoringUnit/@helperUnits.1/@inputPort"/>
+ <modelRefactorings name="Push Down Attribute" refId="org.eclipse.emf.refactor.refactorings.uml24.pushdownattribute" label="Push Down Attribute" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
+ <inputPorts name="selectedEObject" description="" type="org.eclipse.uml2.uml.Property"/>
+ </modelRefactorings>
+ <modelRefactorings name="Push Down Operation" refId="org.eclipse.emf.refactor.refactorings.uml24.pushdownoperation" label="Push Down Operation" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
+ <inputPorts name="selectedEObject" description="" type="org.eclipse.uml2.uml.Operation"/>
+ </modelRefactorings>
+ <modelRefactorings name="Remove Empty Superclass" refId="org.eclipse.emf.refactor.refactorings.uml24.removeemptysuperclass" label="Remove Empty Superclass" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
+ <inputPorts name="selectedEObject" description="" type="org.eclipse.uml2.uml.Class"/>
+ </modelRefactorings>
+ <helper xsi:type="comrel:MultiFeatureHelper" name="GetOwnedAttributes" helperId="comrel.getownedattributes" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
+ <inputPort name="class_" type="org.eclipse.uml2.uml.Class"/>
+ <outputPort name="property_s" type="org.eclipse.uml2.uml.Property"/>
+ </helper>
+ <helper xsi:type="comrel:MultiFeatureHelper" name="GetOwnedOperations" helperId="comrel.getownedoperations" namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
+ <inputPort name="class_" type="org.eclipse.uml2.uml.Class"/>
+ <outputPort name="operation_s" type="org.eclipse.uml2.uml.Operation"/>
+ </helper>
+</comrel:CompositeRefactoring>
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/comrelmodels/removesuperclass.comrel_diagram b/org.eclipse.emf.refactor.refactorings.uml24.compositional/comrelmodels/removesuperclass.comrel_diagram
new file mode 100644
index 0000000..c11b03d
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/comrelmodels/removesuperclass.comrel_diagram
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:comrel="http://comrel/0.1" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_5N-TEOn9EeCpQqvzVqcTRw" type="Comrel" name="removesuperclass.comrel_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_AP3ogOn-EeCpQqvzVqcTRw" type="2005" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AP3og-n-EeCpQqvzVqcTRw" type="5083"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AP3ohOn-EeCpQqvzVqcTRw" type="7079">
+ <children xmi:type="notation:Shape" xmi:id="_MPteoOn-EeCpQqvzVqcTRw" type="3062" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MPteoun-EeCpQqvzVqcTRw" type="5045"/>
+ <children xmi:type="notation:Shape" xmi:id="_MP2okOn-EeCpQqvzVqcTRw" type="3013" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MP2okun-EeCpQqvzVqcTRw" type="5010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MP2ok-n-EeCpQqvzVqcTRw" x="-94" y="-20"/>
+ </children>
+ <element xmi:type="comrel:SingleInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@helperUnits.0/@inputPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MP2oken-EeCpQqvzVqcTRw" x="124" y="-19"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_MP2olOn-EeCpQqvzVqcTRw" type="3015">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MP2omen-EeCpQqvzVqcTRw" type="5012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MP2omun-EeCpQqvzVqcTRw" y="5"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_MP2olen-EeCpQqvzVqcTRw"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_MP2olun-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_MP2ol-n-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:MultiOutputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@helperUnits.0/@outputPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MP2omOn-EeCpQqvzVqcTRw" x="72" y="39"/>
+ </children>
+ <element xmi:type="comrel:MultiFeatureUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@helperUnits.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MPteoen-EeCpQqvzVqcTRw" x="92" y="82"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_X3I0wOn-EeCpQqvzVqcTRw" type="3062" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X3SlwOn-EeCpQqvzVqcTRw" type="5045"/>
+ <children xmi:type="notation:Shape" xmi:id="_X3Slwen-EeCpQqvzVqcTRw" type="3013" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X3Slw-n-EeCpQqvzVqcTRw" type="5010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X3SlxOn-EeCpQqvzVqcTRw" x="40" y="-20"/>
+ </children>
+ <element xmi:type="comrel:SingleInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@helperUnits.1/@inputPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X3Slwun-EeCpQqvzVqcTRw" x="114" y="-19"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_X3Slxen-EeCpQqvzVqcTRw" type="3015">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X3Slyun-EeCpQqvzVqcTRw" type="5012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X3Sly-n-EeCpQqvzVqcTRw" x="-168" y="20"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_X3Slxun-EeCpQqvzVqcTRw"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_X3Slx-n-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_X3SlyOn-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:MultiOutputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@helperUnits.1/@outputPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X3Slyen-EeCpQqvzVqcTRw" x="192" y="39"/>
+ </children>
+ <element xmi:type="comrel:MultiFeatureUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@helperUnits.1"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X3I0wen-EeCpQqvzVqcTRw" x="440" y="73"/>
+ </children>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AP3ohen-EeCpQqvzVqcTRw" type="7080">
+ <children xmi:type="notation:Shape" xmi:id="_DofKIOn-EeCpQqvzVqcTRw" type="3065" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DofKI-n-EeCpQqvzVqcTRw" type="5061"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DofKJOn-EeCpQqvzVqcTRw" type="7049"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DofKJen-EeCpQqvzVqcTRw" type="7050">
+ <children xmi:type="notation:Shape" xmi:id="_GVhYIOn-EeCpQqvzVqcTRw" type="3068" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GVhYIun-EeCpQqvzVqcTRw" type="5048"/>
+ <children xmi:type="notation:Shape" xmi:id="_GVqiEOn-EeCpQqvzVqcTRw" type="3035" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GVqiEun-EeCpQqvzVqcTRw" type="5026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GVqiE-n-EeCpQqvzVqcTRw" x="40" y="-20"/>
+ </children>
+ <element xmi:type="comrel:SingleInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.0/@refactoringUnit/@inputPorts.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVqiEen-EeCpQqvzVqcTRw"/>
+ </children>
+ <element xmi:type="comrel:AtomicUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.0/@refactoringUnit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVhYIen-EeCpQqvzVqcTRw" x="14" y="41"/>
+ </children>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Doo7IOn-EeCpQqvzVqcTRw" type="3024">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DoysJOn-EeCpQqvzVqcTRw" type="5021">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DoysJen-EeCpQqvzVqcTRw" x="40" y="-20"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_DoysIOn-EeCpQqvzVqcTRw"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_DoysIen-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_DoysIun-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:MultiInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.0/@multiInputPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DoysI-n-EeCpQqvzVqcTRw" x="138" y="-19"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_DofKIen-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:SingleQueuedUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DofKIun-EeCpQqvzVqcTRw" x="26" y="85" height="202"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RdHXoOn-EeCpQqvzVqcTRw" type="3065" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_RdHXo-n-EeCpQqvzVqcTRw" type="5061"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RdHXpOn-EeCpQqvzVqcTRw" type="7049"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RdHXpen-EeCpQqvzVqcTRw" type="7050">
+ <children xmi:type="notation:Shape" xmi:id="_UNkGAOn-EeCpQqvzVqcTRw" type="3068" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UNkGAun-EeCpQqvzVqcTRw" type="5048"/>
+ <children xmi:type="notation:Shape" xmi:id="_UNtP8On-EeCpQqvzVqcTRw" type="3035" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UNtP8un-EeCpQqvzVqcTRw" type="5026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UNtP8-n-EeCpQqvzVqcTRw" x="-198" y="-20"/>
+ </children>
+ <element xmi:type="comrel:SingleInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.1/@refactoringUnit/@inputPorts.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UNtP8en-EeCpQqvzVqcTRw"/>
+ </children>
+ <element xmi:type="comrel:AtomicUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.1/@refactoringUnit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UNkGAen-EeCpQqvzVqcTRw" x="98" y="43"/>
+ </children>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RdQhkOn-EeCpQqvzVqcTRw" type="3024">
+ <children xmi:type="notation:DecorationNode" xmi:id="_RdQhlen-EeCpQqvzVqcTRw" type="5021">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RdQhlun-EeCpQqvzVqcTRw" x="40" y="-20"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_RdQhken-EeCpQqvzVqcTRw"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_RdQhkun-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_RdQhk-n-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:MultiInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.1/@multiInputPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RdQhlOn-EeCpQqvzVqcTRw" x="228" y="-19"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_RdHXoen-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:SingleQueuedUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.1"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RdHXoun-EeCpQqvzVqcTRw" x="404" y="87" width="355" height="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_cpBPYOn-EeCpQqvzVqcTRw" type="3074" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_cpBPYun-EeCpQqvzVqcTRw" type="5050"/>
+ <children xmi:type="notation:Shape" xmi:id="_cpBPY-n-EeCpQqvzVqcTRw" type="3035" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_cpBPZen-EeCpQqvzVqcTRw" type="5026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cpBPZun-EeCpQqvzVqcTRw" x="40" y="-20"/>
+ </children>
+ <element xmi:type="comrel:SingleInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.2/@inputPorts.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cpBPZOn-EeCpQqvzVqcTRw"/>
+ </children>
+ <element xmi:type="comrel:AtomicUnit" href="removesuperclass.comrel#//@mainRefactoringUnit/@refactoringUnits.2"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cpBPYen-EeCpQqvzVqcTRw" x="776" y="161"/>
+ </children>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BoZhsOn-EeCpQqvzVqcTRw" type="3027" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BoZhsun-EeCpQqvzVqcTRw" type="5022">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BoZhs-n-EeCpQqvzVqcTRw" x="40" y="-20"/>
+ </children>
+ <element xmi:type="comrel:SingleInputPort" href="removesuperclass.comrel#//@mainRefactoringUnit/@inputPorts.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BoZhsen-EeCpQqvzVqcTRw" x="564" y="-19"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_AP3ogen-EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:SequentialUnit" href="removesuperclass.comrel#//@mainRefactoringUnit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AP3ogun-EeCpQqvzVqcTRw" x="90" y="138" width="1117" height="589"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_5N-TEen9EeCpQqvzVqcTRw"/>
+ <element xmi:type="comrel:CompositeRefactoring" href="removesuperclass.comrel#/"/>
+ <edges xmi:type="notation:Connector" xmi:id="_KcZt8On-EeCpQqvzVqcTRw" type="4003" source="_Doo7IOn-EeCpQqvzVqcTRw" target="_GVqiEOn-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_KcZt8en-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:MultiSinglePortMapping" href="removesuperclass.comrel#//@portMappings.0"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KcZt8un-EeCpQqvzVqcTRw" points="[-2, 10, 39, -209]$[-51, 219, -10, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_OKl28On-EeCpQqvzVqcTRw" type="4002" source="_MP2olOn-EeCpQqvzVqcTRw" target="_Doo7IOn-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_OKl28en-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:MultiPortMapping" href="removesuperclass.comrel#//@portMappings.1"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OKl28un-EeCpQqvzVqcTRw" points="[0, 10, -2, -240]$[0, 240, -2, -10]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wo4R4On-EeCpQqvzVqcTRw" type="4003" source="_RdQhkOn-EeCpQqvzVqcTRw" target="_UNtP8On-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wo4R4en-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:MultiSinglePortMapping" href="removesuperclass.comrel#//@portMappings.2"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wo4R4un-EeCpQqvzVqcTRw" points="[2, 10, -47, -185]$[49, 185, 0, -10]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_aExxAOn-EeCpQqvzVqcTRw" type="4002" source="_X3Slxen-EeCpQqvzVqcTRw" target="_RdQhkOn-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_aExxAen-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:MultiPortMapping" href="removesuperclass.comrel#//@portMappings.3"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aExxAun-EeCpQqvzVqcTRw" points="[6, 10, 0, -226]$[5, 234, -1, -2]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_eNJUkOn-EeCpQqvzVqcTRw" type="4001" source="_BoZhsOn-EeCpQqvzVqcTRw" target="_cpBPY-n-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_eNJUken-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:SinglePortMapping" href="removesuperclass.comrel#//@portMappings.4"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eNJUkun-EeCpQqvzVqcTRw" points="[10, 5, -333, -532]$[343, 183, 0, -354]$[343, 536, 0, -1]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oNy30AFwEeGYAetbqd8koQ" id="(0.8,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_fXPJIOn-EeCpQqvzVqcTRw" type="4001" source="_BoZhsOn-EeCpQqvzVqcTRw" target="_MP2okOn-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_fXPJIen-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:SinglePortMapping" href="removesuperclass.comrel#//@portMappings.5"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fXPJIun-EeCpQqvzVqcTRw" points="[-10, 3, 400, -129]$[-412, 128, -2, -4]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fXPJI-n-EeCpQqvzVqcTRw" id="(0.35,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_gBC7IOn-EeCpQqvzVqcTRw" type="4001" source="_BoZhsOn-EeCpQqvzVqcTRw" target="_X3Slwen-EeCpQqvzVqcTRw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_gBC7Ien-EeCpQqvzVqcTRw" fontName="Segoe UI"/>
+ <element xmi:type="comrel:SinglePortMapping" href="removesuperclass.comrel#//@portMappings.6"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gBC7Iun-EeCpQqvzVqcTRw" points="[-5, 10, 46, -113]$[-51, 119, 0, -4]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gBC7I-n-EeCpQqvzVqcTRw" id="(0.5,0.2)"/>
+ </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/plugin.xml b/org.eclipse.emf.refactor.refactorings.uml24.compositional/plugin.xml
index 6a78f9f..f7bc033 100644
--- a/org.eclipse.emf.refactor.refactorings.uml24.compositional/plugin.xml
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/plugin.xml
@@ -106,6 +106,12 @@
id="org.eclipse.emf.refactor.refactorings.uml24.introduceparameterobject"
menulabel="Introduce Parameter Object"
namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML"/>
+ <refactoring
+ controller="org.eclipse.emf.refactor.refactorings.uml24.removesuperclass.RefactoringController"
+ gui="org.eclipse.emf.refactor.refactorings.uml24.removesuperclass.RefactoringGuiHandler"
+ id="org.eclipse.emf.refactor.refactorings.uml24.removesuperclass"
+ menulabel="Remove Superclass"
+ namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML"/>
</extension>
</plugin>
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController.java b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController.java
new file mode 100644
index 0000000..fc137d0
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringController.java
@@ -0,0 +1,222 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefactoringController.javajet,v 1.3 2011/01/21 13:08:06 tarendt Exp $
+ */
+package org.eclipse.emf.refactor.refactorings.uml24.removesuperclass;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.refactoring.core.Refactoring;
+import org.eclipse.emf.refactor.refactoring.interfaces.IController;
+import org.eclipse.emf.refactor.refactoring.interfaces.IDataManagement;
+import org.eclipse.emf.refactor.refactoring.runtime.ltk.LtkEmfRefactoringProcessorAdapter;
+import org.eclipse.emf.refactor.refactorings.uml24.compositional.UmlUtils;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
+import org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor;
+import org.eclipse.uml2.uml.Class;
+
+import comrel.InputPort;
+import comrel.RefactoringUnit;
+import comrel.SingleInputPort;
+import comrel.interpreter.ComrelInterpreter;
+
+public final class RefactoringController implements IController{
+
+ /**
+ * Refactoring supported by the controller.
+ * @generated
+ */
+ private Refactoring parent;
+
+ /**
+ * DataManagement object of the model refactoring.
+ * @generated
+ */
+ private RefactoringDataManagement dataManagement =
+ new RefactoringDataManagement();
+
+ /**
+ * Invocation context of the model refactoring.
+ * @generated
+ */
+ private List<EObject> selection = new ArrayList<EObject>();
+
+ /**
+ * Ltk RefactoringProcessor of the model refactoring.
+ * @generated
+ */
+ private InternalRefactoringProcessor refactoringProcessor = null;
+
+ /**
+ * Gets the Refactoring supported by the controller.
+ * @return Refactoring supported by the controller.
+ * @see org.eclipse.emf.refactor.common.core.IController#getParent()
+ * @generated
+ */
+ @Override
+ public Refactoring getParent() {
+ return this.parent;
+ }
+
+ /**
+ * Sets the Refactoring supported by the controller.
+ * @param emfRefactoring Refactoring supported by the controller.
+ * @see org.eclipse.emf.refactor.common.core.IController#
+ * setParent(org.eclipse.emf.refactor.common.core.Refactoring)
+ * @generated
+ */
+ @Override
+ public void setParent(Refactoring emfRefactoring) {
+ this.parent = emfRefactoring;
+ }
+
+ /**
+ * Returns the DataManagement object of the model refactoring.
+ * @return DataManagement object of the model refactoring.
+ * @see org.eclipse.emf.refactor.common.core.IController#
+ * getDataManagementObject()
+ * @generated
+ */
+ @Override
+ public IDataManagement getDataManagementObject() {
+ return this.dataManagement;
+ }
+
+ /**
+ * Returns the ltk RefactoringProcessor of the model refactoring.
+ * @return Ltk RefactoringProcessor of the model refactoring.
+ * @see org.eclipse.emf.refactor.common.core.IController#
+ * getLtkRefactoringProcessor()
+ * @generated
+ */
+ @Override
+ public RefactoringProcessor getLtkRefactoringProcessor() {
+ return this.refactoringProcessor;
+ }
+
+ /**
+ * Sets the selected EObject (invocation context of the model refactoring).
+ * @param selection Invocation context of the model refactoring.
+ * @see org.eclipse.emf.refactor.common.core.IController#
+ * setSelection(java.util.List)
+ * @generated
+ */
+ @Override
+ public void setSelection(List<EObject> selection) {
+ this.selection = selection;
+ this.refactoringProcessor =
+ new InternalRefactoringProcessor(this.selection);
+ }
+
+ /**
+ * Returns a Runnable object that executes the model refactoring.
+ * @return Runnable object that executes the model refactoring.
+ * @generated
+ */
+ private Runnable applyRefactoring() {
+ return new Runnable() {
+ /**
+ * @see java.lang.Runnable#run()
+ * @generated
+ */
+ @Override
+ public void run() {
+ try {
+ org.eclipse.uml2.uml.Class selectedEObject =
+ (org.eclipse.uml2.uml.Class) dataManagement.
+ getInPortByName(dataManagement.SELECTEDEOBJECT).getValue();
+ // begin prepare and execute comrel interpreter
+ ComrelInterpreter interpreter = new ComrelInterpreter(selectedEObject);
+ interpreter.loadComrelModel(dataManagement.getComrelFilePath());
+ setRootPortValues(interpreter, selectedEObject);
+ interpreter.execute();
+ // end prepare and execute comrel interpreter
+ stopTimeRecording();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void setRootPortValues(
+ ComrelInterpreter interpreter,
+ org.eclipse.uml2.uml.Class selectedEObject) {
+ RefactoringUnit rootRefactoringUnit = interpreter.getRootRefactoringUnit();
+ for (InputPort ip : rootRefactoringUnit.getAllInputPorts()) {
+ System.out.println(ip.getName());
+ if (ip.getName().equals("selectedEObject")) {
+ ((SingleInputPort) ip).setValue(selectedEObject);
+ }
+ }
+ }
+ };
+ }
+
+ /**
+ * Internal class for providing an instance of a LTK RefactoringProcessor
+ * used for EMF model refactorings.
+ * @generated
+ */
+ public final class InternalRefactoringProcessor extends
+ LtkEmfRefactoringProcessorAdapter {
+
+ /**
+ * Constructor using the invocation context of the model refactoring.
+ * @param selection Invocation context of the model refactoring.
+ * @generated
+ */
+ private InternalRefactoringProcessor(List<EObject> selection){
+ super(getParent(), selection, applyRefactoring());
+ }
+
+ /**
+ * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor#
+ * checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)
+ * @generated
+ */
+ @Override
+ public RefactoringStatus checkInitialConditions(){
+ RefactoringStatus result = new RefactoringStatus();
+ org.eclipse.uml2.uml.Class selectedEObject =
+ (org.eclipse.uml2.uml.Class) dataManagement.
+ getInPortByName(dataManagement.SELECTEDEOBJECT).getValue();
+ // Test: The class must have subclasses
+ ArrayList<Class> subclasses = UmlUtils.getAllSubClasses(selectedEObject);
+ if (subclasses.isEmpty()) result.addFatalError("Class '" + selectedEObject.getName() +
+ "' does not have any subclasses!");
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor#
+ * checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor,
+ * org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
+ * @generated
+ */
+ @Override
+ public RefactoringStatus checkFinalConditions(){
+ RefactoringStatus result = new RefactoringStatus();
+ // the refactoring does not have any additional final conditions
+ startTimeRecording();
+ return result;
+ }
+
+ }
+
+ long zstVorher;
+ long zstNachher;
+
+ private void startTimeRecording() {
+ zstVorher = System.currentTimeMillis();
+ }
+
+ private void stopTimeRecording() {
+ zstNachher = System.currentTimeMillis();
+ System.out.println("Time needed (withoud loading): " + ((zstNachher - zstVorher)) + " ms");
+ }
+
+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringDataManagement.java b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringDataManagement.java
new file mode 100644
index 0000000..f66c62e
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringDataManagement.java
@@ -0,0 +1,81 @@
+
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefactoringDataManagement.javajet,v 1.2 2011/01/21 13:08:06 tarendt Exp $
+ */
+package org.eclipse.emf.refactor.refactorings.uml24.removesuperclass;
+
+import java.io.File;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.refactoring.core.Port;
+import org.eclipse.emf.refactor.refactoring.runtime.DataManagementAdapter;
+import org.eclipse.emf.refactor.refactorings.uml24.compositional.Activator;
+import org.osgi.framework.Bundle;
+
+/**
+ * Class for specific data concerning a model refactoring.
+ * @generated
+ */
+public class RefactoringDataManagement extends DataManagementAdapter {
+
+ protected final String SELECTEDEOBJECT = "selectedEObject";
+ protected final String COMRELMODELS = "comrelmodels";
+ protected final String COMRELMODELSSLASH = "\\comrelmodels\\";
+
+ private String comrelFileName = "removesuperclass.comrel";
+
+ /**
+ * Default constructor.
+ * @generated
+ */
+ public RefactoringDataManagement() {
+ this.addPorts();
+ }
+
+ /**
+ * Adds the ports to the data management used for parameter passing.
+ * @generated
+ */
+ private void addPorts(){
+ this.inPorts.add
+ (new Port<org.eclipse.uml2.uml.Class>
+ (SELECTEDEOBJECT, org.eclipse.uml2.uml.Class.class));
+ }
+
+ /**
+ * @see org.eclipse.emf.refactor.common.core.IDataManagement#
+ * preselect(java.util.List)
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void preselect(List<EObject> selection) {
+ getInPortByName(SELECTEDEOBJECT).
+ setValue((org.eclipse.uml2.uml.Class) selection.get(0));
+ }
+
+ public String getComrelFilePath() {
+ String path = "";
+ final Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
+ try {
+ if (bundle != null) {
+ path = FileLocator.toFileURL(bundle.getEntry(COMRELMODELS)).getFile();
+ path += this.comrelFileName;
+ } else {
+ path = new File(".").getCanonicalPath()
+ + COMRELMODELSSLASH + this.comrelFileName;
+ }
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ return path;
+ }
+
+}
+
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringGuiHandler.java b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringGuiHandler.java
new file mode 100644
index 0000000..dec04fa
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringGuiHandler.java
@@ -0,0 +1,76 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefactoringGuiHandler.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $
+ */
+ package org.eclipse.emf.refactor.refactorings.uml24.removesuperclass;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.refactoring.core.Refactoring;
+import org.eclipse.emf.refactor.refactoring.interfaces.IGuiHandler;
+import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
+
+/**
+ * Class used for specifying gui topics of a specific model refactoring.
+ * @generated
+ */
+public class RefactoringGuiHandler implements IGuiHandler {
+
+ /**
+ * Refactoring supported by the GuiHandler.
+ * @generated
+ */
+ Refactoring parent;
+
+ /**
+ * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#getParent()
+ * @generated
+ */
+ @Override
+ public Refactoring getParent() {
+ return parent;
+ }
+
+ /**
+ * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#
+ * setParent(org.eclipse.emf.refactor.common.core.Refactoring)
+ * @generated
+ */
+ @Override
+ public void setParent(Refactoring emfRefactoring) {
+ this.parent = emfRefactoring;
+ }
+
+ /**
+ * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#show()
+ * @generated
+ */
+ @Override
+ public RefactoringWizard show() {
+ return new org.eclipse.emf.refactor.refactorings.uml24.removesuperclass.RefactoringWizard
+ ((RefactoringController)this.parent.getController());
+ }
+
+ /**
+ * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#
+ * showInMenu(java.util.List)
+ * @generated
+ */
+ @Override
+ public boolean showInMenu(List<EObject> selection) {
+ if (selection.size() != 1) return false;
+ for (EObject o : selection) {
+ if (null != o) {
+ if (o instanceof org.eclipse.uml2.uml.Class) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+}
+
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizard.java b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizard.java
new file mode 100644
index 0000000..5ac4a6b
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizard.java
@@ -0,0 +1,40 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefactoringWizard.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $
+ */
+ package org.eclipse.emf.refactor.refactorings.uml24.removesuperclass;
+
+import org.eclipse.emf.refactor.refactoring.interfaces.IController;
+import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;
+
+/**
+ * Class used for providing an implementation of an LTK
+ * RefactoringWizard in EMF Refactor.
+ * @generated
+ */
+public class RefactoringWizard
+ extends AbstractRefactoringWizard {
+
+ /**
+ * Default constructor implementation.
+ * @param controller Controller of the EMF model refactoring.
+ * @generated
+ */
+ public RefactoringWizard(IController controller) {
+ super(controller);
+ }
+
+ /**
+ * @see org.eclipse.ltk.ui.refactoring.RefactoringWizard#
+ * addUserInputPages()
+ * @generated
+ */
+ @Override
+ protected void addUserInputPages() {
+ addPage(new RefactoringWizardPage
+ (controller.getParent().getName(), (RefactoringController)controller));
+ }
+
+}
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizardPage.java b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizardPage.java
new file mode 100644
index 0000000..bd4e0eb
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.compositional/src/org/eclipse/emf/refactor/refactorings/uml24/removesuperclass/RefactoringWizardPage.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefactoringWizardPage.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $
+ */
+ package org.eclipse.emf.refactor.refactorings.uml24.removesuperclass;
+
+import java.util.List;
+
+import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;
+import org.eclipse.emf.refactor.refactoring.runtime.ui.IInputPageButtonCreator;
+import org.eclipse.emf.refactor.refactoring.runtime.ui.InputPageButtonLoader;
+import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+
+/**
+ * Class for setting model refactoring specific parameters
+ * by the user.
+ * @generated
+ */
+public class RefactoringWizardPage extends
+ UserInputWizardPage implements Listener {
+
+ /**
+ * Controller of the EMF model refactoring.
+ * @generated
+ */
+ private final RefactoringController controller;
+
+
+ /**
+ * Default constructor using a name and the controller of the
+ * EMF model refactoring.
+ * @param name Name of the WizardPage.
+ * @param controller Controller of the EMF model refactoring.
+ * @generated
+ */
+ public RefactoringWizardPage
+ (String name, RefactoringController controller) {
+ super(name);
+ this.controller = controller;
+ }
+
+ /**
+ * @see org.eclipse.swt.widgets.Listener#
+ * handleEvent(org.eclipse.swt.widgets.Event)
+ * @generated
+ */
+ @Override
+ public void handleEvent(Event event) {
+ getWizard().getContainer().updateButtons();
+ }
+
+ /**
+ * @see org.eclipse.jface.dialogs.IDialogPage#
+ * createControl(org.eclipse.swt.widgets.Composite)
+ * @generated
+ */
+ @Override
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ GridLayout gl = new GridLayout();
+ gl.numColumns = 2;
+ composite.setLayout(gl);
+
+ List<IInputPageButtonCreator> buttonCreators = InputPageButtonLoader.iNSTANCE.getInputPageButtonCreatorClasses();
+ for(IInputPageButtonCreator creator : buttonCreators){
+ creator.createButton(composite, controller, (AbstractRefactoringWizard)this.getWizard());
+ }
+
+ setControl(composite);
+ }
+
+}
+
\ No newline at end of file