diff options
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/commands/SubstitutionReorientCommand.java')
-rw-r--r-- | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/commands/SubstitutionReorientCommand.java | 337 |
1 files changed, 167 insertions, 170 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/commands/SubstitutionReorientCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/commands/SubstitutionReorientCommand.java index 13c60427863..f85d6cfafb2 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/commands/SubstitutionReorientCommand.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/commands/SubstitutionReorientCommand.java @@ -1,170 +1,167 @@ -/** - * Copyright (c) 2014 CEA LIST. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * CEA LIST - Initial API and implementation - */ -package org.eclipse.papyrus.uml.diagram.clazz.edit.commands; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.gmf.runtime.common.core.command.CommandResult; -import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand; -import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest; -import org.eclipse.papyrus.uml.diagram.clazz.edit.policies.UMLBaseItemSemanticEditPolicy; -import org.eclipse.uml2.uml.Classifier; -import org.eclipse.uml2.uml.Substitution; - -/** - * @generated - */ -public class SubstitutionReorientCommand extends EditElementCommand { - /** - * @generated - */ - private final int reorientDirection; - /** - * @generated - */ - private final EObject oldEnd; - /** - * @generated - */ - private final EObject newEnd; - - /** - * @generated - */ - public SubstitutionReorientCommand(ReorientRelationshipRequest request) { - super(request.getLabel(), request.getRelationship(), request); - reorientDirection = request.getDirection(); - oldEnd = request.getOldRelationshipEnd(); - newEnd = request.getNewRelationshipEnd(); - } - - /** - * @generated - */ - public boolean canExecute() { - if (false == getElementToEdit() instanceof Substitution) { - return false; - } - if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE) { - return canReorientSource(); - } - if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET) { - return canReorientTarget(); - } - return false; - } - - /** - * @generated - */ - protected boolean canReorientSource() { - if (!(oldEnd instanceof Classifier && newEnd instanceof Classifier)) { - return false; - } - Classifier target = getLink().getContract(); - if (!(getLink().eContainer() instanceof Classifier)) { - return false; - } - Classifier container = (Classifier) getLink().eContainer(); - return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistSubstitution_4004(container, getLink(), getNewSource(), target); - } - - /** - * @generated - */ - protected boolean canReorientTarget() { - if (!(oldEnd instanceof Classifier && newEnd instanceof Classifier)) { - return false; - } - Classifier source = getLink().getSubstitutingClassifier(); - if (!(getLink().eContainer() instanceof Classifier)) { - return false; - } - Classifier container = (Classifier) getLink().eContainer(); - return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistSubstitution_4004(container, getLink(), source, getNewTarget()); - } - - /** - * @generated - */ - protected CommandResult doExecuteWithResult( - IProgressMonitor monitor, IAdaptable info) - throws ExecutionException { - if (!canExecute()) { - throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$ - } - if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE) { - return reorientSource(); - } - if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET) { - return reorientTarget(); - } - throw new IllegalStateException(); - } - - /** - * @generated - */ - protected CommandResult reorientSource() throws ExecutionException { - getLink().setSubstitutingClassifier( - getNewSource() - ); - return CommandResult.newOKCommandResult(getLink()); - } - - /** - * @generated - */ - protected CommandResult reorientTarget() throws ExecutionException { - getLink().setContract( - getNewTarget() - ); - return CommandResult.newOKCommandResult(getLink()); - } - - /** - * @generated - */ - protected Substitution getLink() { - return (Substitution) getElementToEdit(); - } - - /** - * @generated - */ - protected Classifier getOldSource() { - return (Classifier) oldEnd; - } - - /** - * @generated - */ - protected Classifier getNewSource() { - return (Classifier) newEnd; - } - - /** - * @generated - */ - protected Classifier getOldTarget() { - return (Classifier) oldEnd; - } - - /** - * @generated - */ - protected Classifier getNewTarget() { - return (Classifier) newEnd; - } -} +/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.diagram.clazz.edit.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.policies.UMLBaseItemSemanticEditPolicy;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Substitution;
+
+/**
+ * @generated
+ */
+public class SubstitutionReorientCommand extends EditElementCommand {
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public SubstitutionReorientCommand(ReorientRelationshipRequest request) {
+ super(request.getLabel(), request.getRelationship(), request);
+ reorientDirection = request.getDirection();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute() {
+ if(false == getElementToEdit() instanceof Substitution) {
+ return false;
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE) {
+ return canReorientSource();
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET) {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource() {
+ if(!(oldEnd instanceof Classifier && newEnd instanceof Classifier)) {
+ return false;
+ }
+ Classifier target = getLink().getContract();
+ if(!(getLink().eContainer() instanceof Classifier)) {
+ return false;
+ }
+ Classifier container = (Classifier)getLink().eContainer();
+ return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistSubstitution_4004(container, getLink(), getNewSource(), target);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget() {
+ if(!(oldEnd instanceof Classifier && newEnd instanceof Classifier)) {
+ return false;
+ }
+ Classifier source = getLink().getSubstitutingClassifier();
+ if(!(getLink().eContainer() instanceof Classifier)) {
+ return false;
+ }
+ Classifier container = (Classifier)getLink().eContainer();
+ return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistSubstitution_4004(container, getLink(), source, getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ if(!canExecute()) {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE) {
+ return reorientSource();
+ }
+ if(reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET) {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException {
+ getLink().setSubstitutingClassifier(getNewSource());
+ return CommandResult.newOKCommandResult(getLink());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException {
+ getLink().setContract(getNewTarget());
+ return CommandResult.newOKCommandResult(getLink());
+ }
+
+ /**
+ * @generated
+ */
+ protected Substitution getLink() {
+ return (Substitution)getElementToEdit();
+ }
+
+ /**
+ * @generated
+ */
+ protected Classifier getOldSource() {
+ return (Classifier)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected Classifier getNewSource() {
+ return (Classifier)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected Classifier getOldTarget() {
+ return (Classifier)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected Classifier getNewTarget() {
+ return (Classifier)newEnd;
+ }
+}
|