/***************************************************************************** * 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; } }