/*****************************************************************************
* Copyright (c) 2010 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:
* Saadia Dhouib saadia.dhouib@cea.fr
*
*****************************************************************************/
package org.eclipse.papyrus.uml.diagram.communication.part;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.CommentAnnotatedElementEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.CommentEditPartCN;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ConnectorDurationObservationEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ConnectorTimeObservationEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ConstraintConstrainedElementEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ConstraintEditPartCN;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.DurationObservationEditPartCN;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.InteractionCompartmentEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.InteractionEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.LifelineEditPartCN;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.MessageEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ModelEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ShortCutDiagramEditPart;
import org.eclipse.papyrus.uml.diagram.communication.edit.parts.TimeObservationEditPartCN;
import org.eclipse.papyrus.uml.diagram.communication.providers.UMLElementTypes;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.DurationObservation;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.Lifeline;
import org.eclipse.uml2.uml.Message;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.TimeObservation;
import org.eclipse.uml2.uml.UMLPackage;
/**
* @generated
*/
public class UMLDiagramUpdater {
/**
* @generated
*/
public static List<UMLNodeDescriptor> getSemanticChildren(View view) {
switch(UMLVisualIDRegistry.getVisualID(view)) {
case ModelEditPart.VISUAL_ID:
return getPackage_1000SemanticChildren(view);
case InteractionCompartmentEditPart.VISUAL_ID:
return getInteractionInteractionCompartment_7001SemanticChildren(view);
}
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLNodeDescriptor> getPackage_1000SemanticChildren(View view) {
if(!view.isSetElement()) {
return Collections.EMPTY_LIST;
}
Package modelElement = (Package)view.getElement();
LinkedList<UMLNodeDescriptor> result = new LinkedList<UMLNodeDescriptor>();
for(Iterator<?> it = modelElement.getPackagedElements().iterator(); it.hasNext();) {
PackageableElement childElement = (PackageableElement)it.next();
int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
if(visualID == InteractionEditPart.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, visualID));
continue;
}
}
Resource resource = modelElement.eResource();
for(Iterator semanticIterator = getPhantomNodesIterator(resource); semanticIterator.hasNext();) {
EObject childElement = (EObject)semanticIterator.next();
if(childElement == modelElement) {
continue;
}
if(UMLVisualIDRegistry.getNodeVisualID(view, childElement) == ShortCutDiagramEditPart.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, ShortCutDiagramEditPart.VISUAL_ID));
continue;
}
}
return result;
}
/**
* @generated
*/
public static List<UMLNodeDescriptor> getInteractionInteractionCompartment_7001SemanticChildren(View view) {
if(false == view.eContainer() instanceof View) {
return Collections.emptyList();
}
View containerView = (View)view.eContainer();
if(!containerView.isSetElement()) {
return Collections.emptyList();
}
Interaction modelElement = (Interaction)containerView.getElement();
LinkedList<UMLNodeDescriptor> result = new LinkedList<UMLNodeDescriptor>();
for(Iterator<?> it = modelElement.getLifelines().iterator(); it.hasNext();) {
Lifeline childElement = (Lifeline)it.next();
int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
if(visualID == LifelineEditPartCN.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, visualID));
continue;
}
}
for(Iterator<?> it = modelElement.getOwnedComments().iterator(); it.hasNext();) {
Comment childElement = (Comment)it.next();
int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
if(visualID == CommentEditPartCN.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, visualID));
continue;
}
}
for(Iterator<?> it = modelElement.getOwnedRules().iterator(); it.hasNext();) {
Constraint childElement = (Constraint)it.next();
int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
if(visualID == ConstraintEditPartCN.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, visualID));
continue;
}
}
for(Iterator<?> it = modelElement.getNearestPackage().getPackagedElements().iterator(); it.hasNext();) {
PackageableElement childElement = (PackageableElement)it.next();
int visualID = UMLVisualIDRegistry.getNodeVisualID(view, childElement);
if(visualID == TimeObservationEditPartCN.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, visualID));
continue;
}
if(visualID == DurationObservationEditPartCN.VISUAL_ID) {
result.add(new UMLNodeDescriptor(childElement, visualID));
continue;
}
}
return result;
}
/**
* @generated
*/
private static Iterator<EObject> getPhantomNodesIterator(Resource resource) {
return resource.getAllContents();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getContainedLinks(View view) {
switch(UMLVisualIDRegistry.getVisualID(view)) {
case ModelEditPart.VISUAL_ID:
return getPackage_1000ContainedLinks(view);
case InteractionEditPart.VISUAL_ID:
return getInteraction_8002ContainedLinks(view);
case ShortCutDiagramEditPart.VISUAL_ID:
return getDiagram_8016ContainedLinks(view);
case LifelineEditPartCN.VISUAL_ID:
return getLifeline_8001ContainedLinks(view);
case ConstraintEditPartCN.VISUAL_ID:
return getConstraint_8004ContainedLinks(view);
case CommentEditPartCN.VISUAL_ID:
return getComment_8005ContainedLinks(view);
case TimeObservationEditPartCN.VISUAL_ID:
return getTimeObservation_8006ContainedLinks(view);
case DurationObservationEditPartCN.VISUAL_ID:
return getDurationObservation_8007ContainedLinks(view);
case MessageEditPart.VISUAL_ID:
return getMessage_8009ContainedLinks(view);
}
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getIncomingLinks(View view) {
switch(UMLVisualIDRegistry.getVisualID(view)) {
case InteractionEditPart.VISUAL_ID:
return getInteraction_8002IncomingLinks(view);
case ShortCutDiagramEditPart.VISUAL_ID:
return getDiagram_8016IncomingLinks(view);
case LifelineEditPartCN.VISUAL_ID:
return getLifeline_8001IncomingLinks(view);
case ConstraintEditPartCN.VISUAL_ID:
return getConstraint_8004IncomingLinks(view);
case CommentEditPartCN.VISUAL_ID:
return getComment_8005IncomingLinks(view);
case TimeObservationEditPartCN.VISUAL_ID:
return getTimeObservation_8006IncomingLinks(view);
case DurationObservationEditPartCN.VISUAL_ID:
return getDurationObservation_8007IncomingLinks(view);
case MessageEditPart.VISUAL_ID:
return getMessage_8009IncomingLinks(view);
}
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getOutgoingLinks(View view) {
switch(UMLVisualIDRegistry.getVisualID(view)) {
case InteractionEditPart.VISUAL_ID:
return getInteraction_8002OutgoingLinks(view);
case ShortCutDiagramEditPart.VISUAL_ID:
return getDiagram_8016OutgoingLinks(view);
case LifelineEditPartCN.VISUAL_ID:
return getLifeline_8001OutgoingLinks(view);
case ConstraintEditPartCN.VISUAL_ID:
return getConstraint_8004OutgoingLinks(view);
case CommentEditPartCN.VISUAL_ID:
return getComment_8005OutgoingLinks(view);
case TimeObservationEditPartCN.VISUAL_ID:
return getTimeObservation_8006OutgoingLinks(view);
case DurationObservationEditPartCN.VISUAL_ID:
return getDurationObservation_8007OutgoingLinks(view);
case MessageEditPart.VISUAL_ID:
return getMessage_8009OutgoingLinks(view);
}
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getPackage_1000ContainedLinks(View view) {
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getInteraction_8002ContainedLinks(View view) {
Interaction modelElement = (Interaction)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getContainedTypeModelFacetLinks_Message_8009(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getDiagram_8016ContainedLinks(View view) {
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getLifeline_8001ContainedLinks(View view) {
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getConstraint_8004ContainedLinks(View view) {
Constraint modelElement = (Constraint)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getComment_8005ContainedLinks(View view) {
Comment modelElement = (Comment)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getTimeObservation_8006ContainedLinks(View view) {
TimeObservation modelElement = (TimeObservation)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getDurationObservation_8007ContainedLinks(View view) {
DurationObservation modelElement = (DurationObservation)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getMessage_8009ContainedLinks(View view) {
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getInteraction_8002IncomingLinks(View view) {
Interaction modelElement = (Interaction)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getDiagram_8016IncomingLinks(View view) {
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getLifeline_8001IncomingLinks(View view) {
Lifeline modelElement = (Lifeline)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getConstraint_8004IncomingLinks(View view) {
Constraint modelElement = (Constraint)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getComment_8005IncomingLinks(View view) {
Comment modelElement = (Comment)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getTimeObservation_8006IncomingLinks(View view) {
TimeObservation modelElement = (TimeObservation)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getDurationObservation_8007IncomingLinks(View view) {
DurationObservation modelElement = (DurationObservation)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getMessage_8009IncomingLinks(View view) {
Message modelElement = (Message)view.getElement();
Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getIncomingTypeModelFacetLinks_Message_8009(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement, crossReferences));
result.addAll(getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement, crossReferences));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getInteraction_8002OutgoingLinks(View view) {
Interaction modelElement = (Interaction)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getDiagram_8016OutgoingLinks(View view) {
return Collections.emptyList();
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getLifeline_8001OutgoingLinks(View view) {
Lifeline modelElement = (Lifeline)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getConstraint_8004OutgoingLinks(View view) {
Constraint modelElement = (Constraint)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
result.addAll(getOutgoingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getComment_8005OutgoingLinks(View view) {
Comment modelElement = (Comment)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
result.addAll(getOutgoingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getTimeObservation_8006OutgoingLinks(View view) {
TimeObservation modelElement = (TimeObservation)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
result.addAll(getOutgoingFeatureModelFacetLinks_TimeObservation_Event_8013(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getDurationObservation_8007OutgoingLinks(View view) {
DurationObservation modelElement = (DurationObservation)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
result.addAll(getOutgoingFeatureModelFacetLinks_DurationObservation_Event_8012(modelElement));
return result;
}
/**
* @generated
*/
public static List<UMLLinkDescriptor> getMessage_8009OutgoingLinks(View view) {
Message modelElement = (Message)view.getElement();
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
result.addAll(getOutgoingTypeModelFacetLinks_Message_8009(modelElement));
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getContainedTypeModelFacetLinks_Message_8009(Interaction container) {
Collection result = new LinkedList();
for(Iterator links = container.getMessages().iterator(); links.hasNext();) {
EObject linkObject = (EObject)links.next();
if(false == linkObject instanceof Message) {
continue;
}
Message link = (Message)linkObject;
if(MessageEditPart.VISUAL_ID != UMLVisualIDRegistry.getLinkWithClassVisualID(link)) {
continue;
}
List targets = link.getOwnedElements();
Object theTarget = targets.size() == 1 ? targets.get(0) : null;
if(false == theTarget instanceof Element) {
continue;
}
Element dst = (Element)theTarget;
Element src = link.getOwner();
result.add(new UMLLinkDescriptor(src, dst, link, UMLElementTypes.Message_8009, MessageEditPart.VISUAL_ID));
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getIncomingTypeModelFacetLinks_Message_8009(Element target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
Collection<EStructuralFeature.Setting> settings = crossReferences.get(target);
for(EStructuralFeature.Setting setting : settings) {
if(setting.getEStructuralFeature() != UMLPackage.eINSTANCE.getElement_OwnedElement() || false == setting.getEObject() instanceof Message) {
continue;
}
Message link = (Message)setting.getEObject();
if(MessageEditPart.VISUAL_ID != UMLVisualIDRegistry.getLinkWithClassVisualID(link)) {
continue;
}
Element src = link.getOwner();
result.add(new UMLLinkDescriptor(src, target, link, UMLElementTypes.Message_8009, MessageEditPart.VISUAL_ID));
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getIncomingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(Element target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
Collection<EStructuralFeature.Setting> settings = crossReferences.get(target);
for(EStructuralFeature.Setting setting : settings) {
if(setting.getEStructuralFeature() == UMLPackage.eINSTANCE.getComment_AnnotatedElement()) {
result.add(new UMLLinkDescriptor(setting.getEObject(), target, UMLElementTypes.CommentAnnotatedElement_8010, CommentAnnotatedElementEditPart.VISUAL_ID));
}
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getIncomingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(Element target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
Collection<EStructuralFeature.Setting> settings = crossReferences.get(target);
for(EStructuralFeature.Setting setting : settings) {
if(setting.getEStructuralFeature() == UMLPackage.eINSTANCE.getConstraint_ConstrainedElement()) {
result.add(new UMLLinkDescriptor(setting.getEObject(), target, UMLElementTypes.ConstraintConstrainedElement_8011, ConstraintConstrainedElementEditPart.VISUAL_ID));
}
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getIncomingFeatureModelFacetLinks_DurationObservation_Event_8012(NamedElement target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
Collection<EStructuralFeature.Setting> settings = crossReferences.get(target);
for(EStructuralFeature.Setting setting : settings) {
if(setting.getEStructuralFeature() == UMLPackage.eINSTANCE.getDurationObservation_Event()) {
result.add(new UMLLinkDescriptor(setting.getEObject(), target, UMLElementTypes.DurationObservationEvent_8012, ConnectorDurationObservationEditPart.VISUAL_ID));
}
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getIncomingFeatureModelFacetLinks_TimeObservation_Event_8013(NamedElement target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
Collection<EStructuralFeature.Setting> settings = crossReferences.get(target);
for(EStructuralFeature.Setting setting : settings) {
if(setting.getEStructuralFeature() == UMLPackage.eINSTANCE.getTimeObservation_Event()) {
result.add(new UMLLinkDescriptor(setting.getEObject(), target, UMLElementTypes.TimeObservationEvent_8013, ConnectorTimeObservationEditPart.VISUAL_ID));
}
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getOutgoingTypeModelFacetLinks_Message_8009(Element source) {
Interaction container = null;
// Find container element for the link.
// Climb up by containment hierarchy starting from the source
// and return the first element that is instance of the container class.
for(EObject element = source; element != null && container == null; element = element.eContainer()) {
if(element instanceof Interaction) {
container = (Interaction)element;
}
}
if(container == null) {
return Collections.emptyList();
}
Collection result = new LinkedList();
for(Iterator links = container.getMessages().iterator(); links.hasNext();) {
EObject linkObject = (EObject)links.next();
if(false == linkObject instanceof Message) {
continue;
}
Message link = (Message)linkObject;
if(MessageEditPart.VISUAL_ID != UMLVisualIDRegistry.getLinkWithClassVisualID(link)) {
continue;
}
List targets = link.getOwnedElements();
Object theTarget = targets.size() == 1 ? targets.get(0) : null;
if(false == theTarget instanceof Element) {
continue;
}
Element dst = (Element)theTarget;
Element src = link.getOwner();
if(src != source) {
continue;
}
result.add(new UMLLinkDescriptor(src, dst, link, UMLElementTypes.Message_8009, MessageEditPart.VISUAL_ID));
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getOutgoingFeatureModelFacetLinks_Comment_AnnotatedElement_8010(Comment source) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
for(Iterator<?> destinations = source.getAnnotatedElements().iterator(); destinations.hasNext();) {
Element destination = (Element)destinations.next();
result.add(new UMLLinkDescriptor(source, destination, UMLElementTypes.CommentAnnotatedElement_8010, CommentAnnotatedElementEditPart.VISUAL_ID));
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getOutgoingFeatureModelFacetLinks_Constraint_ConstrainedElement_8011(Constraint source) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
for(Iterator<?> destinations = source.getConstrainedElements().iterator(); destinations.hasNext();) {
Element destination = (Element)destinations.next();
result.add(new UMLLinkDescriptor(source, destination, UMLElementTypes.ConstraintConstrainedElement_8011, ConstraintConstrainedElementEditPart.VISUAL_ID));
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getOutgoingFeatureModelFacetLinks_DurationObservation_Event_8012(DurationObservation source) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
for(Iterator<?> destinations = source.getEvents().iterator(); destinations.hasNext();) {
NamedElement destination = (NamedElement)destinations.next();
result.add(new UMLLinkDescriptor(source, destination, UMLElementTypes.DurationObservationEvent_8012, ConnectorDurationObservationEditPart.VISUAL_ID));
}
return result;
}
/**
* @generated
*/
private static Collection<UMLLinkDescriptor> getOutgoingFeatureModelFacetLinks_TimeObservation_Event_8013(TimeObservation source) {
LinkedList<UMLLinkDescriptor> result = new LinkedList<UMLLinkDescriptor>();
NamedElement destination = source.getEvent();
if(destination == null) {
return result;
}
result.add(new UMLLinkDescriptor(source, destination, UMLElementTypes.TimeObservationEvent_8013, ConnectorTimeObservationEditPart.VISUAL_ID));
return result;
}
}