Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/DurationObservationEditHelper.java')
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/DurationObservationEditHelper.java54
1 files changed, 8 insertions, 46 deletions
diff --git a/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/DurationObservationEditHelper.java b/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/DurationObservationEditHelper.java
index e26033722b3..acbd1124c00 100644
--- a/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/DurationObservationEditHelper.java
+++ b/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/DurationObservationEditHelper.java
@@ -17,50 +17,12 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.common.core.command.IdentityCommand;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
import org.eclipse.papyrus.infra.gmfdiag.common.commands.CreateRelationshipCommandEx;
-import org.eclipse.uml2.uml.DurationObservation;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Package;
public class DurationObservationEditHelper extends ElementEditHelper {
/**
* <p>
- * If the request is a {@link CreateRelationshipRequest}, configure it to indicate that
- * the {@link DurationObservation} should be created as a {@link Package#getPackagedElements() packagedElement} in the nearest {@link Package}.
- * </p>
- */
- @Override
- public void configureRequest(IEditCommandRequest request) {
- super.configureRequest(request);
-
- if (request instanceof CreateRelationshipRequest) {
- CreateRelationshipRequest req = (CreateRelationshipRequest) request;
- EObject container = req.getContainer();
- if (req.getSource() != null && req.getTarget() != null) {
- // Create in the package#packagedElement
- Package pkg = findPackage(req.getSource());
- if (pkg != null) {
- container = pkg;
- }
- req.setContainer(container);
- }
-
- }
- super.configureRequest(request);
- }
-
- private Package findPackage(EObject source) {
- if (source instanceof Element) {
- Element element = (Element) source;
- return element.getNearestPackage();
- }
- return null;
- }
-
- /**
- * <p>
* A DurationObservation is an Observation between two named elements; so we support
* creation as a Link. In the sequence diagram, this is currently (2018/07) the only supported way.
* In the future, we may add support for DurationObservations targetting a single named element (The UML
@@ -70,16 +32,16 @@ public class DurationObservationEditHelper extends ElementEditHelper {
@Override
protected ICommand getCreateRelationshipCommand(CreateRelationshipRequest req) {
EObject source = req.getSource();
- EObject target = req.getTarget();
+ EObject target = req.getTarget();
- boolean noSourceOrTarget = (source == null || target == null);
- boolean noSourceAndTarget = (source == null && target == null);
+ boolean noSourceOrTarget = (source == null || target == null);
+ boolean noSourceAndTarget = (source == null && target == null);
- if (noSourceOrTarget && !noSourceAndTarget) {
- // The request isn't complete yet. Return the identity command so
- // that the create relationship gesture is enabled.
- return IdentityCommand.INSTANCE;
- }
+ if (noSourceOrTarget && !noSourceAndTarget) {
+ // The request isn't complete yet. Return the identity command so
+ // that the create relationship gesture is enabled.
+ return IdentityCommand.INSTANCE;
+ }
return new CreateRelationshipCommandEx(req);
}

Back to the top