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