Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 224672 Details for
Bug 377501
[Sequence Diagram] Connections upon Messages creation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Add the negative connection controls
Message_Connection_252_update.patch (text/plain), 43.74 KB, created by
Yves YANG
on 2012-12-13 11:01:57 EST
(
hide
)
Description:
Add the negative connection controls
Filename:
MIME Type:
Creator:
Yves YANG
Created:
2012-12-13 11:01:57 EST
Size:
43.74 KB
patch
obsolete
>Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/AbstractMessageItemSemanticEditPolicy.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/AbstractMessageItemSemanticEditPolicy.java (revision 0) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/AbstractMessageItemSemanticEditPolicy.java (revision 0) >@@ -0,0 +1,67 @@ >+/***************************************************************************** >+ * Copyright (c) 2009 CEA >+ * >+ * >+ * 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: >+ * Soyatec - Initial API and implementation >+ * >+ *****************************************************************************/ >+package org.eclipse.papyrus.uml.diagram.sequence.edit.policies; >+ >+import org.eclipse.emf.ecore.EObject; >+import org.eclipse.emf.transaction.TransactionalEditingDomain; >+import org.eclipse.gef.commands.Command; >+import org.eclipse.gef.requests.ReconnectRequest; >+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil; >+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; >+import org.eclipse.gmf.runtime.emf.type.core.IElementType; >+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest; >+import org.eclipse.gmf.runtime.notation.View; >+ >+ >+/** >+ * Abstract ItemSemanticEditPolicy for messages. >+ * >+ * Try to fixed bugs about reorient target of messages, because all Message EditParts implementing ITreeBranchEditPart, if we want to reorient target >+ * of a message to another message, the new target would be redirected to the target of the message. GMF use this to merge two links, but we doesn't >+ * need them for message creation. >+ * >+ * @author Jin Liu (jin.liu@soyatec.com) >+ */ >+public class AbstractMessageItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+ >+ protected AbstractMessageItemSemanticEditPolicy(IElementType elementType) { >+ super(elementType); >+ } >+ >+ protected Command getReorientRelationshipTargetCommand(ReconnectRequest request) { >+ EObject connectionSemElement = ViewUtil.resolveSemanticElement((View)request.getConnectionEditPart().getModel()); >+ EObject targetSemElement = ViewUtil.resolveSemanticElement((View)request.getTarget().getModel()); >+ EObject oldSemElement = ViewUtil.resolveSemanticElement((View)request.getConnectionEditPart().getTarget().getModel()); >+ >+ // check if we need to redirect the semantic request because of a tree >+ // gesture. >+ // String connectionHint = ViewUtil.getSemanticElementClassId((View)request.getConnectionEditPart().getModel()); >+ // if(((View)request.getTarget().getModel()).getElement() != null) { >+ // String targetHint = ViewUtil.getSemanticElementClassId((View)request.getTarget().getModel()); >+ // if(request.getConnectionEditPart() instanceof ITreeBranchEditPart && request.getTarget() instanceof ITreeBranchEditPart && connectionHint.equals(targetHint)) { >+ // ITreeBranchEditPart targetBranch = (ITreeBranchEditPart)request.getTarget(); >+ // >+ // targetSemElement = ViewUtil.resolveSemanticElement((View)targetBranch.getTarget().getModel()); >+ // } >+ // } >+ >+ TransactionalEditingDomain editingDomain = ((IGraphicalEditPart)getHost()).getEditingDomain(); >+ ReorientRelationshipRequest semRequest = new ReorientRelationshipRequest(editingDomain, connectionSemElement, targetSemElement, oldSemElement, ReorientRelationshipRequest.REORIENT_TARGET); >+ >+ semRequest.addParameters(request.getExtendedData()); >+ >+ return getSemanticCommand(semRequest); >+ } >+ >+} >Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/SequenceGraphicalNodeEditPolicy.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/SequenceGraphicalNodeEditPolicy.java (revision 9619) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/SequenceGraphicalNodeEditPolicy.java (working copy) >@@ -23,6 +23,7 @@ > import org.eclipse.draw2d.ConnectionRouter; > import org.eclipse.draw2d.IFigure; > import org.eclipse.draw2d.Polyline; >+import org.eclipse.draw2d.Viewport; > import org.eclipse.draw2d.geometry.Point; > import org.eclipse.draw2d.geometry.Rectangle; > import org.eclipse.gef.ConnectionEditPart; >@@ -209,14 +210,39 @@ > } > > } >- >- request.getExtendedData().put( >- SequenceRequestConstant.SOURCE_LOCATION_DATA, >- request.getLocation()); >- >+ >+ /** >+ * Sometime, the viewport would be scrolled when drag to select the target of connection by using AutoexposeHelper. We need to adjust the source >+ * location if needed. >+ */ >+ PointEx sourcePoint = new PointEx(request.getLocation()); >+ Viewport vp = findViewport((GraphicalEditPart)getHost().getViewer().getRootEditPart()); >+ if(vp != null) { >+ Point loc1 = vp.getClientArea().getLocation().getCopy(); >+ sourcePoint.setViewportLocation(loc1); >+ } >+ request.getExtendedData().put(SequenceRequestConstant.SOURCE_LOCATION_DATA, sourcePoint); >+ //Safely calculate the source model container here. >+ request.getExtendedData().put(SequenceRequestConstant.SOURCE_MODEL_CONTAINER, SequenceUtil.findInteractionFragmentContainerAt(sourcePoint, getHost())); > return super.getConnectionCreateCommand(request); > } > >+ protected Viewport findViewport(GraphicalEditPart part) { >+ IFigure figure = null; >+ Viewport port = null; >+ do { >+ if(figure == null) >+ figure = part.getContentPane(); >+ else >+ figure = figure.getParent(); >+ if(figure instanceof Viewport) { >+ port = (Viewport)figure; >+ break; >+ } >+ } while(figure != part.getFigure() && figure != null); >+ return port; >+ } >+ > /** > * Overrides to disable uphill message > */ >@@ -245,7 +271,15 @@ > > Point sourcePoint = (Point)request.getExtendedData().get(SequenceRequestConstant.SOURCE_LOCATION_DATA); > Point targetPoint = request.getLocation(); >- >+ >+ //Adjust source location to current coordinate system (the viewport may be scrolled by AutoexposeHelper.). >+ if(sourcePoint instanceof PointEx) { >+ Viewport vp = findViewport((GraphicalEditPart)getHost().getViewer().getRootEditPart()); >+ if(vp != null) { >+ Point loc2 = vp.getClientArea().getLocation(); >+ sourcePoint = ((PointEx)sourcePoint).adjustToFitNewViewport(loc2); >+ } >+ } > // prevent uphill message (leave margin for horizontal messages) > boolean messageCreate =((IHintedType)UMLElementTypes.Message_4006).getSemanticHint().equals(requestHint); > if(sourcePoint == null || sourcePoint.y >= targetPoint.y + MARGIN) { >@@ -275,7 +309,8 @@ > return UnexecutableCommand.INSTANCE; > } > >- request.getExtendedData().put(SequenceRequestConstant.SOURCE_MODEL_CONTAINER, SequenceUtil.findInteractionFragmentContainerAt(sourcePoint, getHost())); >+ //The SOURCE MODEL should be calculated when connection started, the scroll bar maybe already changed when connection come to finished. >+ // request.getExtendedData().put(SequenceRequestConstant.SOURCE_MODEL_CONTAINER, SequenceUtil.findInteractionFragmentContainerAt(sourcePoint, getHost())); > request.getExtendedData().put(SequenceRequestConstant.TARGET_MODEL_CONTAINER, SequenceUtil.findInteractionFragmentContainerAt(targetPoint, getHost())); > // In case we are creating a connection to/from a CoRegion, we will need the lifeline element where is drawn the CoRegion later in the process. > EditPart targetEditPart = getTargetEditPart(request); >@@ -521,4 +556,36 @@ > } > return super.getDummyConnectionRouter(req); > } >+ >+ /** >+ * A new point class which can hold the location of the viewpoint. The user can use adjustToFitNewViewport() service to get the correctly point in >+ * given viewport. >+ * >+ * @author Jin Liu >+ */ >+ private static class PointEx extends Point { >+ >+ private static final long serialVersionUID = -3049675238350676816L; >+ >+ private Point viewportLocation; >+ >+ public PointEx(Point pt) { >+ super(pt); >+ } >+ >+ public void setViewportLocation(Point p) { >+ if(p != null) { >+ viewportLocation = p.getCopy(); >+ } >+ } >+ >+ public Point adjustToFitNewViewport(Point newViewportLoc) { >+ Point pt = getCopy(); >+ if(newViewportLoc != null && viewportLocation != null && !newViewportLoc.equals(viewportLocation)) { >+ pt.x += (viewportLocation.x - newViewportLoc.x); >+ pt.y += (viewportLocation.y - newViewportLoc.y); >+ } >+ return pt; >+ } >+ } > } >Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/LifelineMessageCreateHelper.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/LifelineMessageCreateHelper.java (revision 9619) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/LifelineMessageCreateHelper.java (working copy) >@@ -167,7 +167,7 @@ > > public static Command reconnectMessageCreateTarget(ReconnectRequest request, Command command) { > LifelineEditPart oldTarget = (LifelineEditPart)request.getConnectionEditPart().getTarget(); >- LifelineEditPart source = (LifelineEditPart)request.getConnectionEditPart().getSource(); >+// LifelineEditPart source = (LifelineEditPart)request.getConnectionEditPart().getSource(); > LifelineEditPart newTarget = (LifelineEditPart)request.getTarget(); > // move up the original connection target lifeline, it has only one create message, which will be removed > if(getIncomingMessageCreate(oldTarget).size() == 1) { >Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/ReconnectMessageHelper.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/ReconnectMessageHelper.java (revision 9619) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/ReconnectMessageHelper.java (working copy) >@@ -24,7 +24,6 @@ > import org.eclipse.uml2.uml.Message; > import org.eclipse.uml2.uml.MessageEnd; > import org.eclipse.uml2.uml.MessageOccurrenceSpecification; >-import org.eclipse.uml2.uml.MessageSort; > import org.eclipse.uml2.uml.OccurrenceSpecification; > > /** >@@ -152,31 +151,4 @@ > } > } > >- /** >- * It seems that OCL constraints can not hold everything about reconnecting messages. >- * >- * @param message >- * @param newTarget >- */ >- public static boolean canReorientTarget(Message message, Element newTarget) { >- if(message == null || newTarget == null) { >- return false; >- } >- MessageSort messageSort = message.getMessageSort(); >- if(MessageSort.SYNCH_CALL_LITERAL == messageSort) { >- return newTarget instanceof ExecutionSpecification; >- } >- return true; >- } >- >- public static boolean canReorientSource(Message message, Element newSource) { >- if(message == null || newSource == null) { >- return false; >- } >- MessageSort messageSort = message.getMessageSort(); >- if(MessageSort.SYNCH_CALL_LITERAL == messageSort) { >- return newSource instanceof ExecutionSpecification; >- } >- return true; >- } > } >Index: custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java >=================================================================== >--- custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java (revision 0) >+++ custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java (revision 0) >@@ -0,0 +1,184 @@ >+/***************************************************************************** >+ * Copyright (c) 2009 CEA >+ * >+ * >+ * 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: >+ * Soyatec - Initial API and implementation >+ * >+ *****************************************************************************/ >+package org.eclipse.papyrus.uml.diagram.sequence.util; >+ >+import org.eclipse.emf.common.util.EList; >+import org.eclipse.uml2.uml.Element; >+import org.eclipse.uml2.uml.ExecutionSpecification; >+import org.eclipse.uml2.uml.Gate; >+import org.eclipse.uml2.uml.Lifeline; >+import org.eclipse.uml2.uml.Message; >+import org.eclipse.uml2.uml.MessageEnd; >+import org.eclipse.uml2.uml.MessageSort; >+import org.eclipse.uml2.uml.NamedElement; >+import org.eclipse.uml2.uml.OccurrenceSpecification; >+ >+ >+/** >+ * Helper class for determine the message connections. Both for connecting and reconnecting. >+ * >+ * @author Jin Liu (jin.liu@soyatec.com) >+ */ >+public class MessageConnectionHelper { >+ >+ public static boolean debug = false; >+ >+ private MessageConnectionHelper() { >+ } >+ >+ public static boolean canReorientSource(Message message, Element newSource) { >+ if(message == null || newSource == null) { >+ return false; >+ } >+ Element target = null; >+ MessageEnd receiveEvent = message.getReceiveEvent(); >+ if(receiveEvent instanceof OccurrenceSpecification) { >+ EList<Lifeline> covereds = ((OccurrenceSpecification)receiveEvent).getCovereds(); >+ if(!covereds.isEmpty()) { >+ target = covereds.get(0); >+ } >+ } else if(receiveEvent instanceof Gate) { >+ target = ((Gate)receiveEvent).getOwner(); >+ } >+ return canExist(message.getMessageSort(), newSource, target); >+ } >+ >+ public static boolean canReorientTarget(Message message, Element newTarget) { >+ if(message == null || newTarget == null) { >+ return false; >+ } >+ Element source = null; >+ MessageEnd sendEvent = message.getSendEvent(); >+ if(sendEvent instanceof OccurrenceSpecification) { >+ EList<Lifeline> covereds = ((OccurrenceSpecification)sendEvent).getCovereds(); >+ if(!covereds.isEmpty()) { >+ source = covereds.get(0); >+ } >+ } else if(sendEvent instanceof Gate) { >+ source = ((Gate)sendEvent).getOwner(); >+ } >+ return canExist(message.getMessageSort(), source, newTarget); >+ } >+ >+ public static boolean canExist(MessageSort messageSort, Element source, Element target) { >+ if(debug) { >+ print(messageSort, source, target); >+ } >+ if(MessageSort.ASYNCH_CALL_LITERAL == messageSort) { >+ return canExistAsynchMessage(source, target); >+ } else if(MessageSort.ASYNCH_SIGNAL_LITERAL == messageSort) { >+ if(source == null) { >+ return canExistFoundMessage(target); >+ } >+ if(target == null) { >+ return canExistLostMessage(source); >+ } >+ } else if(MessageSort.SYNCH_CALL_LITERAL == messageSort) { >+ return canExistSynchMessage(source, target); >+ } else if(MessageSort.CREATE_MESSAGE_LITERAL == messageSort) { >+ return canExistCreateMessage(source, target); >+ } else if(MessageSort.DELETE_MESSAGE_LITERAL == messageSort) { >+ return canExistDeleteMessage(source, target); >+ } else if(MessageSort.REPLY_LITERAL == messageSort) { >+ return canExistReplyMessage(source, target); >+ } >+ return false; >+ } >+ >+ private static void print(MessageSort messageSort, Element source, Element target) { >+ StringBuffer buf = new StringBuffer(); >+ if(messageSort != null) { >+ buf.append(messageSort.getName()); >+ buf.append("["); >+ } >+ buf.append("Source: "); >+ if(source != null) { >+ buf.append(source.eClass().getName()); >+ if(source instanceof NamedElement) { >+ buf.append("("); >+ buf.append(((NamedElement)source).getName()); >+ buf.append(")"); >+ } >+ } else { >+ buf.append("null"); >+ } >+ buf.append(", Target: "); >+ if(target != null) { >+ buf.append(target.eClass().getName()); >+ if(target instanceof NamedElement) { >+ buf.append("("); >+ buf.append(((NamedElement)target).getName()); >+ buf.append(")"); >+ } >+ } else { >+ buf.append("null"); >+ } >+ buf.append("]"); >+ System.out.println(new String(buf)); >+ } >+ >+ public static boolean canExistReplyMessage(Element source, Element target) { >+ if(target instanceof Message) { >+ return false; >+ } >+ if(source instanceof ExecutionSpecification && target instanceof Lifeline) { >+ if(((ExecutionSpecification)source).getCovereds().contains(target)) { >+ return false; >+ } >+ } >+ return true; >+ } >+ >+ public static boolean canExistDeleteMessage(Element source, Element target) { >+ return true; >+ } >+ >+ public static boolean canExistCreateMessage(Element source, Element target) { >+ if(target != null) { >+ if(false == target instanceof Lifeline) { >+ return false; >+ } >+ if(target == source) { >+ return false; >+ } >+ } >+ return true; >+ } >+ >+ public static boolean canExistSynchMessage(Element source, Element target) { >+ if(source != null && false == source instanceof ExecutionSpecification) { >+ return false; >+ } >+ if(target != null && !(target instanceof ExecutionSpecification || target instanceof Lifeline)) { >+ return false; >+ } >+ return true; >+ } >+ >+ public static boolean canExistLostMessage(Element source) { >+ return true; >+ } >+ >+ public static boolean canExistFoundMessage(Element target) { >+ return true; >+ } >+ >+ public static boolean canExistAsynchMessage(Element source, Element target) { >+ if(target instanceof Message) { >+ return false; >+ } >+ return true; >+ } >+ >+} >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message7ReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message7ReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message7ReorientCommand.java (working copy) >@@ -75,7 +75,7 @@ > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientSource() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -93,7 +93,7 @@ > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientTarget() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -104,7 +104,13 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4009(container, getLink(), source, getNewTarget()); >+ //Fixed bug about message reconnection. >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4009(container, getLink(), source, getNewTarget())) { >+ return false; >+ } >+ //FIXME: Please complete reorientTarget() firstly. >+ return false; >+// return MessageConnectionHelper.canReorientTarget(getLink(), getNewTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message4ReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message4ReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message4ReorientCommand.java (working copy) >@@ -21,6 +21,7 @@ > 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.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.ReconnectMessageHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -84,11 +85,14 @@ > } > Interaction container = (Interaction)getLink().eContainer(); > >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4006(container, getLink(), getNewSource(), getOldTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4006(container, getLink(), getNewSource(), getOldTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientSource(getLink(), getNewSource()); > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientTarget() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -99,7 +103,10 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4006(container, getLink(), source, getNewTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4006(container, getLink(), source, getNewTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientTarget(getLink(), getNewTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/MessageCreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/MessageCreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/MessageCreateCommand.java (working copy) >@@ -26,6 +26,7 @@ > import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceRequestConstant; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -93,7 +94,10 @@ > } > } > >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4003(getContainer(), getSource(), getTarget()); >+ if (! UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4003(getContainer(), getSource(), getTarget())){ >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.SYNCH_CALL_LITERAL, (Element)source, (Element)target); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message3ReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message3ReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message3ReorientCommand.java (working copy) >@@ -21,6 +21,7 @@ > 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.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.ReconnectMessageHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -83,11 +84,14 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4005(container, getLink(), getNewSource(), getOldTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4005(container, getLink(), getNewSource(), getOldTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientSource(getLink(), getNewSource()); > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientTarget() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -98,7 +102,10 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4005(container, getLink(), source, getNewTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4005(container, getLink(), source, getNewTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientTarget(getLink(), getNewTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message2ReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message2ReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message2ReorientCommand.java (working copy) >@@ -21,6 +21,7 @@ > 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.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.ReconnectMessageHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -83,11 +84,14 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4004(container, getLink(), getNewSource(), getOldTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4004(container, getLink(), getNewSource(), getOldTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientSource(getLink(), getNewSource()); > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientTarget() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -98,7 +102,10 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4004(container, getLink(), source, getNewTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4004(container, getLink(), source, getNewTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientTarget(getLink(), getNewTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message2CreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message2CreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message2CreateCommand.java (working copy) >@@ -28,9 +28,11 @@ > import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; > import org.eclipse.uml2.uml.Message; >+import org.eclipse.uml2.uml.MessageSort; > > /** > * @generated >@@ -100,7 +102,10 @@ > return false; > } > } >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4004(getContainer(), getSource(), getTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4004(getContainer(), getSource(), getTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.ASYNCH_CALL_LITERAL, getSource(), getTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message3CreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message3CreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message3CreateCommand.java (working copy) >@@ -26,6 +26,7 @@ > import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceRequestConstant; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -91,7 +92,10 @@ > return false; > } > } >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4005(getContainer(), getSource(), getTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4005(getContainer(), getSource(), getTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.REPLY_LITERAL, getSource(), getTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message6ReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message6ReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message6ReorientCommand.java (working copy) >@@ -21,6 +21,7 @@ > 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.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; > import org.eclipse.uml2.uml.Message; >@@ -75,7 +76,7 @@ > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientSource() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -89,7 +90,10 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4008(container, getLink(), getNewSource(), target); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4008(container, getLink(), getNewSource(), target)){ >+ return false; >+ } >+ return MessageConnectionHelper.canReorientSource(getLink(), getNewSource()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message5CreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message5CreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message5CreateCommand.java (working copy) >@@ -31,6 +31,7 @@ > import org.eclipse.papyrus.uml.diagram.common.commands.EObjectInheritanceCopyCommand; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceRequestConstant; > import org.eclipse.uml2.uml.DestructionOccurrenceSpecification; > import org.eclipse.uml2.uml.Element; >@@ -102,7 +103,10 @@ > return false; > } > } >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4007(getContainer(), getSource(), getTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4007(getContainer(), getSource(), getTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.DELETE_MESSAGE_LITERAL, getSource(), getTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/MessageReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/MessageReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/MessageReorientCommand.java (working copy) >@@ -21,6 +21,7 @@ > 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.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.ReconnectMessageHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -88,7 +89,7 @@ > return false; > } > //Fixed bug about reconnect messages. >- return ReconnectMessageHelper.canReorientSource(getLink(), getNewSource()); >+ return MessageConnectionHelper.canReorientSource(getLink(), getNewSource()); > } > > /** >@@ -106,7 +107,7 @@ > if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4003(container, getLink(), source, getNewTarget())) { > return false; > } >- return ReconnectMessageHelper.canReorientTarget(getLink(), getNewTarget()); >+ return MessageConnectionHelper.canReorientTarget(getLink(), getNewTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message4CreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message4CreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message4CreateCommand.java (working copy) >@@ -26,6 +26,7 @@ > import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceRequestConstant; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -91,7 +92,10 @@ > return false; > } > } >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4006(getContainer(), getSource(), getTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4006(getContainer(), getSource(), getTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.CREATE_MESSAGE_LITERAL, getSource(), getTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message6CreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message6CreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message6CreateCommand.java (working copy) >@@ -26,6 +26,7 @@ > import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceRequestConstant; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -91,7 +92,10 @@ > return false; > } > } >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4008(getContainer(), getSource(), getTarget()); >+ if (!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4008(getContainer(), getSource(), getTarget())){ >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.ASYNCH_SIGNAL_LITERAL, getSource(), null); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message5ReorientCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message5ReorientCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message5ReorientCommand.java (working copy) >@@ -21,6 +21,7 @@ > 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.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.ReconnectMessageHelper; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -83,11 +84,14 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4007(container, getLink(), getNewSource(), getOldTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4007(container, getLink(), getNewSource(), getOldTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientSource(getLink(), getNewSource()); > } > > /** >- * @generated >+ * @generated NOT > */ > protected boolean canReorientTarget() { > if(!(oldEnd instanceof Element && newEnd instanceof Element)) { >@@ -98,7 +102,10 @@ > return false; > } > Interaction container = (Interaction)getLink().eContainer(); >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4007(container, getLink(), source, getNewTarget()); >+ if(!UMLBaseItemSemanticEditPolicy.getLinkConstraints().canExistMessage_4007(container, getLink(), source, getNewTarget())) { >+ return false; >+ } >+ return MessageConnectionHelper.canReorientTarget(getLink(), getNewTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message7CreateCommand.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message7CreateCommand.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/commands/Message7CreateCommand.java (working copy) >@@ -26,6 +26,7 @@ > import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; > import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.UMLBaseItemSemanticEditPolicy; > import org.eclipse.papyrus.uml.diagram.sequence.util.CommandHelper; >+import org.eclipse.papyrus.uml.diagram.sequence.util.MessageConnectionHelper; > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceRequestConstant; > import org.eclipse.uml2.uml.Element; > import org.eclipse.uml2.uml.Interaction; >@@ -91,7 +92,11 @@ > return false; > } > } >- return UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4009(getContainer(), getSource(), getTarget()); >+ //Fixed bug about message connection. >+ if (! UMLBaseItemSemanticEditPolicy.getLinkConstraints().canCreateMessage_4009(getContainer(), getSource(), getTarget())){ >+ return false; >+ } >+ return MessageConnectionHelper.canExist(MessageSort.ASYNCH_SIGNAL_LITERAL, null, getTarget()); > } > > /** >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/MessageItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/MessageItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/MessageItemSemanticEditPolicy.java (working copy) >@@ -56,9 +56,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class MessageItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class MessageItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message5ItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message5ItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message5ItemSemanticEditPolicy.java (working copy) >@@ -56,9 +56,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class Message5ItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class Message5ItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message7ItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message7ItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message7ItemSemanticEditPolicy.java (working copy) >@@ -56,9 +56,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class Message7ItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class Message7ItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message2ItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message2ItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message2ItemSemanticEditPolicy.java (working copy) >@@ -56,9 +56,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class Message2ItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class Message2ItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message3ItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message3ItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message3ItemSemanticEditPolicy.java (working copy) >@@ -56,9 +56,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class Message3ItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class Message3ItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message4ItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message4ItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message4ItemSemanticEditPolicy.java (working copy) >@@ -57,9 +57,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class Message4ItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class Message4ItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated >Index: src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message6ItemSemanticEditPolicy.java >=================================================================== >--- src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message6ItemSemanticEditPolicy.java (revision 9619) >+++ src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/Message6ItemSemanticEditPolicy.java (working copy) >@@ -56,9 +56,9 @@ > import org.eclipse.papyrus.uml.diagram.sequence.util.SequenceDeleteHelper; > > /** >- * @generated >+ * @generated NOT > */ >-public class Message6ItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { >+public class Message6ItemSemanticEditPolicy extends AbstractMessageItemSemanticEditPolicy { > > /** > * @generated
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 377501
:
214914
|
220884
|
224162
|
224421
| 224672 |
224673