Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/ModelItemSemanticEditPolicy.java')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/ModelItemSemanticEditPolicy.java136
1 files changed, 41 insertions, 95 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/ModelItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/ModelItemSemanticEditPolicy.java
index a842a06e36c..7a691fb9319 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/ModelItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/ModelItemSemanticEditPolicy.java
@@ -18,8 +18,6 @@ import org.eclipse.gmf.runtime.emf.commands.core.commands.DuplicateEObjectsComma
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.gmf.runtime.emf.type.core.requests.DuplicateElementsRequest;
-import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
-import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils;
import org.eclipse.papyrus.uml.diagram.clazz.edit.commands.AssociationClassCreateCommand;
import org.eclipse.papyrus.uml.diagram.clazz.edit.commands.AssociationNodeCreateCommand;
@@ -63,156 +61,104 @@ public class ModelItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy {
if (requestElementType == null) {
return super.getCreateCommand(req);
}
- IElementType baseElementType = requestElementType;
- boolean isExtendedType = false;
- if (requestElementType instanceof IExtendedHintedElementType) {
- baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
- if (baseElementType != null) {
- isExtendedType = true;
- } else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
- baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType) requestElementType);
- isExtendedType = true;
- }
- }
-
- if (UMLElementTypes.Dependency_2014 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+
+ if (UMLElementTypes.Dependency_2014 == requestElementType) {
+
return getGEFWrapper(new DependencyNodeCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.AssociationClass_2013 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.AssociationClass_2013 == requestElementType) {
+
return getGEFWrapper(new AssociationClassCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Association_2015 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Association_2015 == requestElementType) {
+
return getGEFWrapper(new AssociationNodeCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.InstanceSpecification_2001 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.InstanceSpecification_2001 == requestElementType) {
+
return getGEFWrapper(new InstanceSpecificationCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Component_2002 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Component_2002 == requestElementType) {
+
return getGEFWrapper(new ComponentCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Signal_2003 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Signal_2003 == requestElementType) {
+
return getGEFWrapper(new SignalCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Interface_2004 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Interface_2004 == requestElementType) {
+
return getGEFWrapper(new InterfaceCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Model_2005 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Model_2005 == requestElementType) {
+
return getGEFWrapper(new ModelCreateCommandTN(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Enumeration_2006 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Enumeration_2006 == requestElementType) {
+
return getGEFWrapper(new EnumerationCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Package_2007 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Package_2007 == requestElementType) {
+
return getGEFWrapper(new PackageCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.InformationItem_2099 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.InformationItem_2099 == requestElementType) {
+
return getGEFWrapper(new InformationItemCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Class_2008 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Class_2008 == requestElementType) {
+
return getGEFWrapper(new ClassCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.PrimitiveType_2009 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.PrimitiveType_2009 == requestElementType) {
+
return getGEFWrapper(new PrimitiveTypeCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.DataType_2010 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.DataType_2010 == requestElementType) {
+
return getGEFWrapper(new DataTypeCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Constraint_2011 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Constraint_2011 == requestElementType) {
+
return getGEFWrapper(new ConstraintCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Comment_2012 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Comment_2012 == requestElementType) {
+
return getGEFWrapper(new CommentCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.Diagram_2016 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.Diagram_2016 == requestElementType) {
+
return getGEFWrapper(new ShortCutDiagramCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.DurationObservation_2095 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.DurationObservation_2095 == requestElementType) {
+
return getGEFWrapper(new DurationObservationCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.TimeObservation_2096 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.TimeObservation_2096 == requestElementType) {
+
return getGEFWrapper(new TimeObservationCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}
- if (UMLElementTypes.NamedElement_2097 == baseElementType) {
- if (isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType) requestElementType);
- }
+ if (UMLElementTypes.NamedElement_2097 == requestElementType) {
+
return getGEFWrapper(new DefaultNamedElementCreateCommand(req, DiagramUtils.getDiagramFrom(getHost())));
}

Back to the top