/* * Copyright (c) 2006, 2007 Borland Software Corporation * * 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: * Dmitry Stadnik (Borland) - initial API and implementation */ package org.eclipse.gmf.examples.taipan.gmf.editor.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.util.EcoreUtil; import org.eclipse.gmf.examples.taipan.Aquatory; import org.eclipse.gmf.examples.taipan.BesiegePortOrder; import org.eclipse.gmf.examples.taipan.Destination; import org.eclipse.gmf.examples.taipan.EscortShipsOrder; import org.eclipse.gmf.examples.taipan.Item; import org.eclipse.gmf.examples.taipan.Port; import org.eclipse.gmf.examples.taipan.Route; import org.eclipse.gmf.examples.taipan.Ship; import org.eclipse.gmf.examples.taipan.TaiPanPackage; import org.eclipse.gmf.examples.taipan.Warship; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.AquatoryEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.BesiegePortOrderEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.EmptyBoxEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.EscortShipsOrderEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.LargeItemEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.PortEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.PortRegisterEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.ReliableRouteEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.ShipDestinationEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.ShipEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.ShipLargeCargoEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.ShipRouteEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.ShipSmallCargoEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.SmallItemsEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.UnreliableRouteEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.WarshipEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.WarshipLargeCargoEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.WarshipSmallCargoEditPart; import org.eclipse.gmf.examples.taipan.gmf.editor.providers.TaiPanElementTypes; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.gmf.tooling.runtime.update.DiagramUpdater; /** * @generated */ public class TaiPanDiagramUpdater { /** * @generated */ public static boolean isShortcutOrphaned(View view) { return !view.isSetElement() || view.getElement() == null || view.getElement().eIsProxy(); } /** * @generated */ public static List<TaiPanNodeDescriptor> getSemanticChildren(View view) { switch (TaiPanVisualIDRegistry.getVisualID(view)) { case AquatoryEditPart.VISUAL_ID: return getAquatory_1000SemanticChildren(view); case ShipSmallCargoEditPart.VISUAL_ID: return getShipSmallCargo_7001SemanticChildren(view); case ShipLargeCargoEditPart.VISUAL_ID: return getShipLargeCargo_7002SemanticChildren(view); case WarshipSmallCargoEditPart.VISUAL_ID: return getWarshipSmallCargo_7003SemanticChildren(view); case WarshipLargeCargoEditPart.VISUAL_ID: return getWarshipLargeCargo_7004SemanticChildren(view); } return Collections.emptyList(); } /** * @generated */ public static List<TaiPanNodeDescriptor> getShipSmallCargo_7001SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.emptyList(); } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.emptyList(); } Ship modelElement = (Ship) containerView.getElement(); LinkedList<TaiPanNodeDescriptor> result = new LinkedList<TaiPanNodeDescriptor>(); for (Iterator<?> it = modelElement.getCargo().iterator(); it.hasNext();) { Item childElement = (Item) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == SmallItemsEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<TaiPanNodeDescriptor> getShipLargeCargo_7002SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.emptyList(); } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.emptyList(); } Ship modelElement = (Ship) containerView.getElement(); LinkedList<TaiPanNodeDescriptor> result = new LinkedList<TaiPanNodeDescriptor>(); for (Iterator<?> it = modelElement.getCargo().iterator(); it.hasNext();) { Item childElement = (Item) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == LargeItemEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } if (visualID == EmptyBoxEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<TaiPanNodeDescriptor> getWarshipSmallCargo_7003SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.emptyList(); } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.emptyList(); } Warship modelElement = (Warship) containerView.getElement(); LinkedList<TaiPanNodeDescriptor> result = new LinkedList<TaiPanNodeDescriptor>(); for (Iterator<?> it = modelElement.getCargo().iterator(); it.hasNext();) { Item childElement = (Item) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == SmallItemsEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<TaiPanNodeDescriptor> getWarshipLargeCargo_7004SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.emptyList(); } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.emptyList(); } Warship modelElement = (Warship) containerView.getElement(); LinkedList<TaiPanNodeDescriptor> result = new LinkedList<TaiPanNodeDescriptor>(); for (Iterator<?> it = modelElement.getCargo().iterator(); it.hasNext();) { Item childElement = (Item) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == LargeItemEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } if (visualID == EmptyBoxEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<TaiPanNodeDescriptor> getAquatory_1000SemanticChildren(View view) { if (!view.isSetElement()) { return Collections.emptyList(); } Aquatory modelElement = (Aquatory) view.getElement(); LinkedList<TaiPanNodeDescriptor> result = new LinkedList<TaiPanNodeDescriptor>(); for (Iterator<?> it = modelElement.getPorts().iterator(); it.hasNext();) { Port childElement = (Port) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == PortEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } for (Iterator<?> it = modelElement.getShips().iterator(); it.hasNext();) { Ship childElement = (Ship) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == ShipEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } if (visualID == WarshipEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getContainedLinks(View view) { switch (TaiPanVisualIDRegistry.getVisualID(view)) { case AquatoryEditPart.VISUAL_ID: return getAquatory_1000ContainedLinks(view); case PortEditPart.VISUAL_ID: return getPort_2001ContainedLinks(view); case ShipEditPart.VISUAL_ID: return getShip_2002ContainedLinks(view); case WarshipEditPart.VISUAL_ID: return getWarship_2003ContainedLinks(view); case SmallItemsEditPart.VISUAL_ID: return getSmallItems_3001ContainedLinks(view); case LargeItemEditPart.VISUAL_ID: return getLargeItem_3002ContainedLinks(view); case EmptyBoxEditPart.VISUAL_ID: return getEmptyBox_3003ContainedLinks(view); case ReliableRouteEditPart.VISUAL_ID: return getRoute_4002ContainedLinks(view); case UnreliableRouteEditPart.VISUAL_ID: return getRoute_4003ContainedLinks(view); case BesiegePortOrderEditPart.VISUAL_ID: return getBesiegePortOrder_4005ContainedLinks(view); case EscortShipsOrderEditPart.VISUAL_ID: return getEscortShipsOrder_4006ContainedLinks(view); } return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getIncomingLinks(View view) { switch (TaiPanVisualIDRegistry.getVisualID(view)) { case PortEditPart.VISUAL_ID: return getPort_2001IncomingLinks(view); case ShipEditPart.VISUAL_ID: return getShip_2002IncomingLinks(view); case WarshipEditPart.VISUAL_ID: return getWarship_2003IncomingLinks(view); case SmallItemsEditPart.VISUAL_ID: return getSmallItems_3001IncomingLinks(view); case LargeItemEditPart.VISUAL_ID: return getLargeItem_3002IncomingLinks(view); case EmptyBoxEditPart.VISUAL_ID: return getEmptyBox_3003IncomingLinks(view); case ReliableRouteEditPart.VISUAL_ID: return getRoute_4002IncomingLinks(view); case UnreliableRouteEditPart.VISUAL_ID: return getRoute_4003IncomingLinks(view); case BesiegePortOrderEditPart.VISUAL_ID: return getBesiegePortOrder_4005IncomingLinks(view); case EscortShipsOrderEditPart.VISUAL_ID: return getEscortShipsOrder_4006IncomingLinks(view); } return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getOutgoingLinks(View view) { switch (TaiPanVisualIDRegistry.getVisualID(view)) { case PortEditPart.VISUAL_ID: return getPort_2001OutgoingLinks(view); case ShipEditPart.VISUAL_ID: return getShip_2002OutgoingLinks(view); case WarshipEditPart.VISUAL_ID: return getWarship_2003OutgoingLinks(view); case SmallItemsEditPart.VISUAL_ID: return getSmallItems_3001OutgoingLinks(view); case LargeItemEditPart.VISUAL_ID: return getLargeItem_3002OutgoingLinks(view); case EmptyBoxEditPart.VISUAL_ID: return getEmptyBox_3003OutgoingLinks(view); case ReliableRouteEditPart.VISUAL_ID: return getRoute_4002OutgoingLinks(view); case UnreliableRouteEditPart.VISUAL_ID: return getRoute_4003OutgoingLinks(view); case BesiegePortOrderEditPart.VISUAL_ID: return getBesiegePortOrder_4005OutgoingLinks(view); case EscortShipsOrderEditPart.VISUAL_ID: return getEscortShipsOrder_4006OutgoingLinks(view); } return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getAquatory_1000ContainedLinks(View view) { Aquatory modelElement = (Aquatory) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getContainedTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getContainedTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getPort_2001ContainedLinks(View view) { Port modelElement = (Port) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingFeatureModelFacetLinks_Port_Register_4007(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getShip_2002ContainedLinks(View view) { Ship modelElement = (Ship) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(modelElement)); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Route_4004(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getWarship_2003ContainedLinks(View view) { Warship modelElement = (Warship) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(modelElement)); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Route_4004(modelElement)); result.addAll(getContainedTypeModelFacetLinks_BesiegePortOrder_4005(modelElement)); result.addAll(getContainedTypeModelFacetLinks_EscortShipsOrder_4006(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getSmallItems_3001ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getLargeItem_3002ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getEmptyBox_3003ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getRoute_4002ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getRoute_4003ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getBesiegePortOrder_4005ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getEscortShipsOrder_4006ContainedLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getPort_2001IncomingLinks(View view) { Port modelElement = (Port) view.getElement(); Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources()); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getIncomingFeatureModelFacetLinks_Ship_Destination_4001(modelElement, crossReferences)); result.addAll(getIncomingTypeModelFacetLinks_Route_4002(modelElement, crossReferences)); result.addAll(getIncomingTypeModelFacetLinks_Route_4003(modelElement, crossReferences)); result.addAll(getIncomingTypeModelFacetLinks_BesiegePortOrder_4005(modelElement, crossReferences)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getShip_2002IncomingLinks(View view) { Ship modelElement = (Ship) view.getElement(); Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources()); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getIncomingTypeModelFacetLinks_EscortShipsOrder_4006(modelElement, crossReferences)); result.addAll(getIncomingFeatureModelFacetLinks_Port_Register_4007(modelElement, crossReferences)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getWarship_2003IncomingLinks(View view) { Warship modelElement = (Warship) view.getElement(); Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources()); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getIncomingTypeModelFacetLinks_EscortShipsOrder_4006(modelElement, crossReferences)); result.addAll(getIncomingFeatureModelFacetLinks_Port_Register_4007(modelElement, crossReferences)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getSmallItems_3001IncomingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getLargeItem_3002IncomingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getEmptyBox_3003IncomingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getRoute_4002IncomingLinks(View view) { Route modelElement = (Route) view.getElement(); Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources()); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getIncomingTypeModelFacetLinks_Route_4002(modelElement, crossReferences)); result.addAll(getIncomingTypeModelFacetLinks_Route_4003(modelElement, crossReferences)); result.addAll(getIncomingFeatureModelFacetLinks_Ship_Route_4004(modelElement, crossReferences)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getRoute_4003IncomingLinks(View view) { Route modelElement = (Route) view.getElement(); Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources()); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getIncomingTypeModelFacetLinks_Route_4002(modelElement, crossReferences)); result.addAll(getIncomingTypeModelFacetLinks_Route_4003(modelElement, crossReferences)); result.addAll(getIncomingFeatureModelFacetLinks_Ship_Route_4004(modelElement, crossReferences)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getBesiegePortOrder_4005IncomingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getEscortShipsOrder_4006IncomingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getPort_2001OutgoingLinks(View view) { Port modelElement = (Port) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); result.addAll(getOutgoingFeatureModelFacetLinks_Port_Register_4007(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getShip_2002OutgoingLinks(View view) { Ship modelElement = (Ship) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(modelElement)); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Route_4004(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getWarship_2003OutgoingLinks(View view) { Warship modelElement = (Warship) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(modelElement)); result.addAll(getOutgoingFeatureModelFacetLinks_Ship_Route_4004(modelElement)); result.addAll(getContainedTypeModelFacetLinks_BesiegePortOrder_4005(modelElement)); result.addAll(getContainedTypeModelFacetLinks_EscortShipsOrder_4006(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getSmallItems_3001OutgoingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getLargeItem_3002OutgoingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getEmptyBox_3003OutgoingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getRoute_4002OutgoingLinks(View view) { Route modelElement = (Route) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getRoute_4003OutgoingLinks(View view) { Route modelElement = (Route) view.getElement(); LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List<TaiPanLinkDescriptor> getBesiegePortOrder_4005OutgoingLinks(View view) { return Collections.emptyList(); } /** * @generated */ public static List<TaiPanLinkDescriptor> getEscortShipsOrder_4006OutgoingLinks(View view) { return Collections.emptyList(); } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getContainedTypeModelFacetLinks_Route_4002(Aquatory container) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); for (Iterator<?> links = container.getRoutes().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof Route) { continue; } Route link = (Route) linkObject; if (ReliableRouteEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Destination dst = link.getDestination(); Destination src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, dst, link, TaiPanElementTypes.Route_4002, ReliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getContainedTypeModelFacetLinks_Route_4003(Aquatory container) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); for (Iterator<?> links = container.getRoutes().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof Route) { continue; } Route link = (Route) linkObject; if (UnreliableRouteEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Destination dst = link.getDestination(); Destination src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, dst, link, TaiPanElementTypes.Route_4003, UnreliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getContainedTypeModelFacetLinks_BesiegePortOrder_4005(Warship container) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); for (Iterator<?> links = container.getAttackOrders().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof BesiegePortOrder) { continue; } BesiegePortOrder link = (BesiegePortOrder) linkObject; if (BesiegePortOrderEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Port dst = link.getPort(); result.add(new TaiPanLinkDescriptor(container, dst, link, TaiPanElementTypes.BesiegePortOrder_4005, BesiegePortOrderEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getContainedTypeModelFacetLinks_EscortShipsOrder_4006(Warship container) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); EscortShipsOrder link = container.getEscortOrder(); if (EscortShipsOrderEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { return result; } List targets = link.getShips(); Object theTarget = targets.size() == 1 ? targets.get(0) : null; if (false == theTarget instanceof Ship) { return result; } Ship dst = (Ship) theTarget; result.add(new TaiPanLinkDescriptor(container, dst, link, TaiPanElementTypes.EscortShipsOrder_4006, EscortShipsOrderEditPart.VISUAL_ID)); return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingFeatureModelFacetLinks_Ship_Destination_4001(Port target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() == TaiPanPackage.eINSTANCE.getShip_Destination()) { result.add(new TaiPanLinkDescriptor(setting.getEObject(), target, TaiPanElementTypes.ShipDestination_4001, ShipDestinationEditPart.VISUAL_ID)); } } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingTypeModelFacetLinks_Route_4002(Destination target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() != TaiPanPackage.eINSTANCE.getRoute_Destination() || false == setting.getEObject() instanceof Route) { continue; } Route link = (Route) setting.getEObject(); if (ReliableRouteEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Destination src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, target, link, TaiPanElementTypes.Route_4002, ReliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingTypeModelFacetLinks_Route_4003(Destination target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() != TaiPanPackage.eINSTANCE.getRoute_Destination() || false == setting.getEObject() instanceof Route) { continue; } Route link = (Route) setting.getEObject(); if (UnreliableRouteEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Destination src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, target, link, TaiPanElementTypes.Route_4003, UnreliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingFeatureModelFacetLinks_Ship_Route_4004(Route target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() == TaiPanPackage.eINSTANCE.getShip_Route()) { result.add(new TaiPanLinkDescriptor(setting.getEObject(), target, TaiPanElementTypes.ShipRoute_4004, ShipRouteEditPart.VISUAL_ID)); } } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingTypeModelFacetLinks_BesiegePortOrder_4005(Port target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() != TaiPanPackage.eINSTANCE.getBesiegePortOrder_Port() || false == setting.getEObject() instanceof BesiegePortOrder) { continue; } BesiegePortOrder link = (BesiegePortOrder) setting.getEObject(); if (BesiegePortOrderEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } if (false == link.eContainer() instanceof Warship) { continue; } Warship container = (Warship) link.eContainer(); result.add(new TaiPanLinkDescriptor(container, target, link, TaiPanElementTypes.BesiegePortOrder_4005, BesiegePortOrderEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingTypeModelFacetLinks_EscortShipsOrder_4006(Ship target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() != TaiPanPackage.eINSTANCE.getEscortShipsOrder_Ships() || false == setting.getEObject() instanceof EscortShipsOrder) { continue; } EscortShipsOrder link = (EscortShipsOrder) setting.getEObject(); if (EscortShipsOrderEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } if (false == link.eContainer() instanceof Warship) { continue; } Warship container = (Warship) link.eContainer(); result.add(new TaiPanLinkDescriptor(container, target, link, TaiPanElementTypes.EscortShipsOrder_4006, EscortShipsOrderEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getIncomingFeatureModelFacetLinks_Port_Register_4007(Ship target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting.getEStructuralFeature() == TaiPanPackage.eINSTANCE.getPort_Register()) { result.add(new TaiPanLinkDescriptor(setting.getEObject(), target, TaiPanElementTypes.PortRegister_4007, PortRegisterEditPart.VISUAL_ID)); } } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(Ship source) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Port destination = source.getDestination(); if (destination == null) { return result; } result.add(new TaiPanLinkDescriptor(source, destination, TaiPanElementTypes.ShipDestination_4001, ShipDestinationEditPart.VISUAL_ID)); return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getOutgoingTypeModelFacetLinks_Route_4002(Destination source) { Aquatory 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 Aquatory) { container = (Aquatory) element; } } if (container == null) { return Collections.emptyList(); } LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); for (Iterator<?> links = container.getRoutes().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof Route) { continue; } Route link = (Route) linkObject; if (ReliableRouteEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Destination dst = link.getDestination(); Destination src = link.getSource(); if (src != source) { continue; } result.add(new TaiPanLinkDescriptor(src, dst, link, TaiPanElementTypes.Route_4002, ReliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getOutgoingTypeModelFacetLinks_Route_4003(Destination source) { Aquatory 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 Aquatory) { container = (Aquatory) element; } } if (container == null) { return Collections.emptyList(); } LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); for (Iterator<?> links = container.getRoutes().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof Route) { continue; } Route link = (Route) linkObject; if (UnreliableRouteEditPart.VISUAL_ID != TaiPanVisualIDRegistry.getLinkWithClassVisualID(link)) { continue; } Destination dst = link.getDestination(); Destination src = link.getSource(); if (src != source) { continue; } result.add(new TaiPanLinkDescriptor(src, dst, link, TaiPanElementTypes.Route_4003, UnreliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getOutgoingFeatureModelFacetLinks_Ship_Route_4004(Ship source) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); Route destination = source.getRoute(); if (destination == null) { return result; } result.add(new TaiPanLinkDescriptor(source, destination, TaiPanElementTypes.ShipRoute_4004, ShipRouteEditPart.VISUAL_ID)); return result; } /** * @generated */ private static Collection<TaiPanLinkDescriptor> getOutgoingFeatureModelFacetLinks_Port_Register_4007(Port source) { LinkedList<TaiPanLinkDescriptor> result = new LinkedList<TaiPanLinkDescriptor>(); for (Iterator<?> destinations = source.getRegister().iterator(); destinations.hasNext();) { Ship destination = (Ship) destinations.next(); result.add(new TaiPanLinkDescriptor(source, destination, TaiPanElementTypes.PortRegister_4007, PortRegisterEditPart.VISUAL_ID)); } return result; } /** * @generated */ public static final DiagramUpdater TYPED_INSTANCE = new DiagramUpdater() { /** * @generated */ public List<TaiPanNodeDescriptor> getSemanticChildren(View view) { return TaiPanDiagramUpdater.getSemanticChildren(view); } /** * @generated */ public List<TaiPanLinkDescriptor> getContainedLinks(View view) { return TaiPanDiagramUpdater.getContainedLinks(view); } /** * @generated */ public List<TaiPanLinkDescriptor> getIncomingLinks(View view) { return TaiPanDiagramUpdater.getIncomingLinks(view); } /** * @generated */ public List<TaiPanLinkDescriptor> getOutgoingLinks(View view) { return TaiPanDiagramUpdater.getOutgoingLinks(view); } }; }