/******************************************************************************* * Copyright (c) 2006-2012 * Software Technology Group, Dresden University of Technology * DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026 * * 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: * Software Technology Group - TU Dresden, Germany; * DevBoost GmbH - Berlin, Germany * - initial API and implementation ******************************************************************************/ /* * 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.reuseware.application.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.runtime.notation.View; import org.reuseware.application.taipan.Aquatory; import org.reuseware.application.taipan.BesiegePortOrder; import org.reuseware.application.taipan.DestinationType; import org.reuseware.application.taipan.EscortShipsOrder; import org.reuseware.application.taipan.ItemType; import org.reuseware.application.taipan.Port; import org.reuseware.application.taipan.PortSlot; import org.reuseware.application.taipan.PortType; import org.reuseware.application.taipan.Route; import org.reuseware.application.taipan.RouteSlot; import org.reuseware.application.taipan.RouteType; import org.reuseware.application.taipan.Ship; import org.reuseware.application.taipan.TaiPanPackage; import org.reuseware.application.taipan.Warship; import org.reuseware.application.taipan.gmf.editor.edit.parts.AquatoryEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.BesiegePortOrderEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.EmptyBoxEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.EscortShipsOrderEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ItemHookEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.LargeItemEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.PortEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.PortRegisterEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.PortSlotEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ReliableRouteEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.RouteSlotEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ShipDestinationEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ShipEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ShipLargeCargoEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ShipRouteEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.ShipSmallCargoEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.SmallItemsEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.UnreliableRouteEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.WarshipEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.WarshipLargeCargoEditPart; import org.reuseware.application.taipan.gmf.editor.edit.parts.WarshipSmallCargoEditPart; import org.reuseware.application.taipan.gmf.editor.providers.TaiPanElementTypes; /** * @generated */ public class TaiPanDiagramUpdater { /** * @generated */ public static boolean isShortcutOrphaned(View view) { return !view.isSetElement() || view.getElement() == null || view.getElement().eIsProxy(); } /** * @generated */ public static List getSemanticChildren(View view) { switch (TaiPanVisualIDRegistry.getVisualID(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); case AquatoryEditPart.VISUAL_ID: return getAquatory_1000SemanticChildren(view); } return Collections.EMPTY_LIST; } /** * @generated */ public static List getShipSmallCargo_7001SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.EMPTY_LIST; } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.EMPTY_LIST; } Ship modelElement = (Ship) containerView.getElement(); List result = new LinkedList(); for (Iterator it = modelElement.getCargo().iterator(); it.hasNext();) { ItemType childElement = (ItemType) 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 getShipLargeCargo_7002SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.EMPTY_LIST; } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.EMPTY_LIST; } Ship modelElement = (Ship) containerView.getElement(); List result = new LinkedList(); for (Iterator it = modelElement.getCargo().iterator(); it.hasNext();) { ItemType childElement = (ItemType) 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; } if (visualID == ItemHookEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List getWarshipSmallCargo_7003SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.EMPTY_LIST; } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.EMPTY_LIST; } Warship modelElement = (Warship) containerView.getElement(); List result = new LinkedList(); for (Iterator it = modelElement.getCargo().iterator(); it.hasNext();) { ItemType childElement = (ItemType) 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 getWarshipLargeCargo_7004SemanticChildren(View view) { if (false == view.eContainer() instanceof View) { return Collections.EMPTY_LIST; } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.EMPTY_LIST; } Warship modelElement = (Warship) containerView.getElement(); List result = new LinkedList(); for (Iterator it = modelElement.getCargo().iterator(); it.hasNext();) { ItemType childElement = (ItemType) 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 getAquatory_1000SemanticChildren(View view) { if (!view.isSetElement()) { return Collections.EMPTY_LIST; } Aquatory modelElement = (Aquatory) view.getElement(); List result = new LinkedList(); for (Iterator it = modelElement.getPorts().iterator(); it.hasNext();) { PortType childElement = (PortType) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == PortEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } if (visualID == PortSlotEditPart.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; } } for (Iterator it = modelElement.getRoutes().iterator(); it.hasNext();) { RouteType childElement = (RouteType) it.next(); int visualID = TaiPanVisualIDRegistry.getNodeVisualID(view, childElement); if (visualID == RouteSlotEditPart.VISUAL_ID) { result.add(new TaiPanNodeDescriptor(childElement, visualID)); continue; } } return result; } /** * @generated */ public static List 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 PortSlotEditPart.VISUAL_ID: return getPortSlot_2004ContainedLinks(view); case RouteSlotEditPart.VISUAL_ID: return getRouteSlot_2005ContainedLinks(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 ItemHookEditPart.VISUAL_ID: return getLargeItemHook_3004ContainedLinks(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.EMPTY_LIST; } /** * @generated */ public static List 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 PortSlotEditPart.VISUAL_ID: return getPortSlot_2004IncomingLinks(view); case RouteSlotEditPart.VISUAL_ID: return getRouteSlot_2005IncomingLinks(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 ItemHookEditPart.VISUAL_ID: return getLargeItemHook_3004IncomingLinks(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.EMPTY_LIST; } /** * @generated */ public static List 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 PortSlotEditPart.VISUAL_ID: return getPortSlot_2004OutgoingLinks(view); case RouteSlotEditPart.VISUAL_ID: return getRouteSlot_2005OutgoingLinks(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 ItemHookEditPart.VISUAL_ID: return getLargeItemHook_3004OutgoingLinks(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.EMPTY_LIST; } /** * @generated */ public static List getAquatory_1000ContainedLinks(View view) { Aquatory modelElement = (Aquatory) view.getElement(); List result = new LinkedList(); result.addAll(getContainedTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getContainedTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List getPort_2001ContainedLinks(View view) { Port modelElement = (Port) view.getElement(); List result = new LinkedList(); result .addAll(getOutgoingFeatureModelFacetLinks_Port_Register_4007(modelElement)); return result; } /** * @generated */ public static List getShip_2002ContainedLinks(View view) { Ship modelElement = (Ship) view.getElement(); List result = new LinkedList(); result .addAll(getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(modelElement)); result .addAll(getOutgoingFeatureModelFacetLinks_Ship_Route_4004(modelElement)); return result; } /** * @generated */ public static List getWarship_2003ContainedLinks(View view) { Warship modelElement = (Warship) view.getElement(); List result = new LinkedList(); 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 getPortSlot_2004ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getRouteSlot_2005ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getSmallItems_3001ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getLargeItem_3002ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getEmptyBox_3003ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getLargeItemHook_3004ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getRoute_4002ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getRoute_4003ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getBesiegePortOrder_4005ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getEscortShipsOrder_4006ContainedLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getPort_2001IncomingLinks(View view) { Port modelElement = (Port) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); 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 getShip_2002IncomingLinks(View view) { Ship modelElement = (Ship) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); result.addAll(getIncomingTypeModelFacetLinks_EscortShipsOrder_4006( modelElement, crossReferences)); result.addAll(getIncomingFeatureModelFacetLinks_Port_Register_4007( modelElement, crossReferences)); return result; } /** * @generated */ public static List getWarship_2003IncomingLinks(View view) { Warship modelElement = (Warship) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); result.addAll(getIncomingTypeModelFacetLinks_EscortShipsOrder_4006( modelElement, crossReferences)); result.addAll(getIncomingFeatureModelFacetLinks_Port_Register_4007( modelElement, crossReferences)); return result; } /** * @generated */ public static List getPortSlot_2004IncomingLinks(View view) { PortSlot modelElement = (PortSlot) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); 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 getRouteSlot_2005IncomingLinks(View view) { RouteSlot modelElement = (RouteSlot) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); 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 getSmallItems_3001IncomingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getLargeItem_3002IncomingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getEmptyBox_3003IncomingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getLargeItemHook_3004IncomingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getRoute_4002IncomingLinks(View view) { Route modelElement = (Route) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); 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 getRoute_4003IncomingLinks(View view) { Route modelElement = (Route) view.getElement(); Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource() .getResourceSet().getResources()); List result = new LinkedList(); 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 getBesiegePortOrder_4005IncomingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getEscortShipsOrder_4006IncomingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getPort_2001OutgoingLinks(View view) { Port modelElement = (Port) view.getElement(); List result = new LinkedList(); 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 getShip_2002OutgoingLinks(View view) { Ship modelElement = (Ship) view.getElement(); List result = new LinkedList(); result .addAll(getOutgoingFeatureModelFacetLinks_Ship_Destination_4001(modelElement)); result .addAll(getOutgoingFeatureModelFacetLinks_Ship_Route_4004(modelElement)); return result; } /** * @generated */ public static List getWarship_2003OutgoingLinks(View view) { Warship modelElement = (Warship) view.getElement(); List result = new LinkedList(); 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 getPortSlot_2004OutgoingLinks(View view) { PortSlot modelElement = (PortSlot) view.getElement(); List result = new LinkedList(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List getRouteSlot_2005OutgoingLinks(View view) { RouteSlot modelElement = (RouteSlot) view.getElement(); List result = new LinkedList(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List getSmallItems_3001OutgoingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getLargeItem_3002OutgoingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getEmptyBox_3003OutgoingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getLargeItemHook_3004OutgoingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getRoute_4002OutgoingLinks(View view) { Route modelElement = (Route) view.getElement(); List result = new LinkedList(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List getRoute_4003OutgoingLinks(View view) { Route modelElement = (Route) view.getElement(); List result = new LinkedList(); result.addAll(getOutgoingTypeModelFacetLinks_Route_4002(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_Route_4003(modelElement)); return result; } /** * @generated */ public static List getBesiegePortOrder_4005OutgoingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ public static List getEscortShipsOrder_4006OutgoingLinks(View view) { return Collections.EMPTY_LIST; } /** * @generated */ private static Collection getContainedTypeModelFacetLinks_Route_4002( Aquatory container) { Collection result = new LinkedList(); 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; } DestinationType dst = link.getDestination(); DestinationType src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, dst, link, TaiPanElementTypes.Route_4002, ReliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection getContainedTypeModelFacetLinks_Route_4003( Aquatory container) { Collection result = new LinkedList(); 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; } DestinationType dst = link.getDestination(); DestinationType src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, dst, link, TaiPanElementTypes.Route_4003, UnreliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection getContainedTypeModelFacetLinks_BesiegePortOrder_4005( Warship container) { Collection result = new LinkedList(); 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; } PortType dst = link.getPort(); result.add(new TaiPanLinkDescriptor(container, dst, link, TaiPanElementTypes.BesiegePortOrder_4005, BesiegePortOrderEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection getContainedTypeModelFacetLinks_EscortShipsOrder_4006( Warship container) { Collection result = new LinkedList(); 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 getIncomingFeatureModelFacetLinks_Ship_Destination_4001( PortType target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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 getIncomingTypeModelFacetLinks_Route_4002( DestinationType target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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; } DestinationType src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, target, link, TaiPanElementTypes.Route_4002, ReliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection getIncomingTypeModelFacetLinks_Route_4003( DestinationType target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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; } DestinationType src = link.getSource(); result.add(new TaiPanLinkDescriptor(src, target, link, TaiPanElementTypes.Route_4003, UnreliableRouteEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection getIncomingFeatureModelFacetLinks_Ship_Route_4004( RouteType target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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 getIncomingTypeModelFacetLinks_BesiegePortOrder_4005( PortType target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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 getIncomingTypeModelFacetLinks_EscortShipsOrder_4006( Ship target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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 getIncomingFeatureModelFacetLinks_Port_Register_4007( Ship target, Map crossReferences) { Collection result = new LinkedList(); Collection settings = (Collection) crossReferences.get(target); for (Iterator it = settings.iterator(); it.hasNext();) { EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it .next(); 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 getOutgoingFeatureModelFacetLinks_Ship_Destination_4001( Ship source) { Collection result = new LinkedList(); PortType 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 getOutgoingTypeModelFacetLinks_Route_4002( DestinationType 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.EMPTY_LIST; } Collection result = new LinkedList(); 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; } DestinationType dst = link.getDestination(); DestinationType 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 getOutgoingTypeModelFacetLinks_Route_4003( DestinationType 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.EMPTY_LIST; } Collection result = new LinkedList(); 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; } DestinationType dst = link.getDestination(); DestinationType 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 getOutgoingFeatureModelFacetLinks_Ship_Route_4004( Ship source) { Collection result = new LinkedList(); RouteType 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 getOutgoingFeatureModelFacetLinks_Port_Register_4007( Port source) { Collection result = new LinkedList(); 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; } }