/* * Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis, * Rick Salay. * 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: * Alessio Di Sandro - Implementation. */ package edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.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.eclipse.gmf.tooling.runtime.update.DiagramUpdater; /** * @generated */ public class RelationalDatabase_MAVODiagramUpdater { /** * @generated */ public static boolean isShortcutOrphaned(View view) { return !view.isSetElement() || view.getElement() == null || view.getElement().eIsProxy(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> getSemanticChildren( View view) { switch (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getVisualID(view)) { case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.RelationalDatabaseEditPart.VISUAL_ID: return getRelationalDatabase_1000SemanticChildren(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableTableColumnsCompartmentEditPart.VISUAL_ID: return getTableTableColumnsCompartment_7001SemanticChildren(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableTableForeignKeysCompartmentEditPart.VISUAL_ID: return getTableTableForeignKeysCompartment_7002SemanticChildren(view); } return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> getRelationalDatabase_1000SemanticChildren( View view) { if (!view.isSetElement()) { return Collections.emptyList(); } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.RelationalDatabase modelElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.RelationalDatabase) view .getElement(); LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor>(); for (Iterator<?> it = modelElement.getTables().iterator(); it.hasNext();) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Table childElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Table) it .next(); int visualID = edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getNodeVisualID(view, childElement); if (visualID == edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableEditPart.VISUAL_ID) { result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor( childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> getTableTableColumnsCompartment_7001SemanticChildren( View view) { if (false == view.eContainer() instanceof View) { return Collections.emptyList(); } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.emptyList(); } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Table modelElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Table) containerView .getElement(); LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor>(); for (Iterator<?> it = modelElement.getColumns().iterator(); it.hasNext();) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column childElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column) it .next(); int visualID = edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getNodeVisualID(view, childElement); if (visualID == edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ColumnEditPart.VISUAL_ID) { result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor( childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> getTableTableForeignKeysCompartment_7002SemanticChildren( View view) { if (false == view.eContainer() instanceof View) { return Collections.emptyList(); } View containerView = (View) view.eContainer(); if (!containerView.isSetElement()) { return Collections.emptyList(); } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Table modelElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Table) containerView .getElement(); LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor>(); for (Iterator<?> it = modelElement.getForeignKeys().iterator(); it.hasNext();) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey childElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) it .next(); int visualID = edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getNodeVisualID(view, childElement); if (visualID == edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignKeyEditPart.VISUAL_ID) { result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor( childElement, visualID)); continue; } } return result; } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getContainedLinks( View view) { switch (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getVisualID(view)) { case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.RelationalDatabaseEditPart.VISUAL_ID: return getRelationalDatabase_1000ContainedLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableEditPart.VISUAL_ID: return getTable_2001ContainedLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ColumnEditPart.VISUAL_ID: return getColumn_3001ContainedLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignKeyEditPart.VISUAL_ID: return getForeignKey_3002ContainedLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID: return getTableColumnReference_4001ContainedLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID: return getForeignColumnReference_4002ContainedLinks(view); } return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getIncomingLinks( View view) { switch (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getVisualID(view)) { case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableEditPart.VISUAL_ID: return getTable_2001IncomingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ColumnEditPart.VISUAL_ID: return getColumn_3001IncomingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignKeyEditPart.VISUAL_ID: return getForeignKey_3002IncomingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID: return getTableColumnReference_4001IncomingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID: return getForeignColumnReference_4002IncomingLinks(view); } return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getOutgoingLinks( View view) { switch (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getVisualID(view)) { case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableEditPart.VISUAL_ID: return getTable_2001OutgoingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ColumnEditPart.VISUAL_ID: return getColumn_3001OutgoingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignKeyEditPart.VISUAL_ID: return getForeignKey_3002OutgoingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID: return getTableColumnReference_4001OutgoingLinks(view); case edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID: return getForeignColumnReference_4002OutgoingLinks(view); } return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getRelationalDatabase_1000ContainedLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getTable_2001ContainedLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getColumn_3001ContainedLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getForeignKey_3002ContainedLinks( View view) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey modelElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) view .getElement(); LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); result.addAll(getContainedTypeModelFacetLinks_TableColumnReference_4001(modelElement)); result.addAll(getContainedTypeModelFacetLinks_ForeignColumnReference_4002(modelElement)); return result; } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getTableColumnReference_4001ContainedLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getForeignColumnReference_4002ContainedLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getTable_2001IncomingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getColumn_3001IncomingLinks( View view) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column modelElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column) view .getElement(); Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer .find(view.eResource().getResourceSet().getResources()); LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); result.addAll(getIncomingTypeModelFacetLinks_TableColumnReference_4001(modelElement, crossReferences)); result.addAll(getIncomingTypeModelFacetLinks_ForeignColumnReference_4002(modelElement, crossReferences)); return result; } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getForeignKey_3002IncomingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getTableColumnReference_4001IncomingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getForeignColumnReference_4002IncomingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getTable_2001OutgoingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getColumn_3001OutgoingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getForeignKey_3002OutgoingLinks( View view) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey modelElement = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) view .getElement(); LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); result.addAll(getOutgoingTypeModelFacetLinks_TableColumnReference_4001(modelElement)); result.addAll(getOutgoingTypeModelFacetLinks_ForeignColumnReference_4002(modelElement)); return result; } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getTableColumnReference_4001OutgoingLinks( View view) { return Collections.emptyList(); } /** * @generated */ public static List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getForeignColumnReference_4002OutgoingLinks( View view) { return Collections.emptyList(); } /** * @generated */ private static Collection<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getContainedTypeModelFacetLinks_TableColumnReference_4001( edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey container) { LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); for (Iterator<?> links = container.getTableColumn().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference link = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference) linkObject; if (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getLinkWithClassVisualID(link)) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column dst = link.getTarget(); edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey src = link.getSource(); result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor( src, dst, link, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.providers.RelationalDatabase_MAVOElementTypes.TableColumnReference_4001, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getContainedTypeModelFacetLinks_ForeignColumnReference_4002( edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey container) { LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); for (Iterator<?> links = container.getForeignColumn().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference link = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference) linkObject; if (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getLinkWithClassVisualID(link)) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column dst = link.getTarget(); edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey src = link.getSource(); result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor( src, dst, link, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.providers.RelationalDatabase_MAVOElementTypes.ForeignColumnReference_4002, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getIncomingTypeModelFacetLinks_TableColumnReference_4001( edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting .getEStructuralFeature() != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.RelationalDatabase_MAVOPackage.eINSTANCE .getTableColumnReference_Target() || false == setting .getEObject() instanceof edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference link = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference) setting .getEObject(); if (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getLinkWithClassVisualID(link)) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey src = link.getSource(); result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor( src, target, link, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.providers.RelationalDatabase_MAVOElementTypes.TableColumnReference_4001, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getIncomingTypeModelFacetLinks_ForeignColumnReference_4002( edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column target, Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) { LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); Collection<EStructuralFeature.Setting> settings = crossReferences.get(target); for (EStructuralFeature.Setting setting : settings) { if (setting .getEStructuralFeature() != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.RelationalDatabase_MAVOPackage.eINSTANCE .getForeignColumnReference_Target() || false == setting .getEObject() instanceof edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference link = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference) setting .getEObject(); if (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getLinkWithClassVisualID(link)) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey src = link.getSource(); result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor( src, target, link, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.providers.RelationalDatabase_MAVOElementTypes.ForeignColumnReference_4002, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getOutgoingTypeModelFacetLinks_TableColumnReference_4001( edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey source) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey 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 edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) { container = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) element; } } if (container == null) { return Collections.emptyList(); } LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); for (Iterator<?> links = container.getTableColumn().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference link = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.TableColumnReference) linkObject; if (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getLinkWithClassVisualID(link)) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column dst = link.getTarget(); edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey src = link.getSource(); if (src != source) { continue; } result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor( src, dst, link, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.providers.RelationalDatabase_MAVOElementTypes.TableColumnReference_4001, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.TableColumnReferenceEditPart.VISUAL_ID)); } return result; } /** * @generated */ private static Collection<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getOutgoingTypeModelFacetLinks_ForeignColumnReference_4002( edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey source) { edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey 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 edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) { container = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey) element; } } if (container == null) { return Collections.emptyList(); } LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> result = new LinkedList<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor>(); for (Iterator<?> links = container.getForeignColumn().iterator(); links.hasNext();) { EObject linkObject = (EObject) links.next(); if (false == linkObject instanceof edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference link = (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignColumnReference) linkObject; if (edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID != edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOVisualIDRegistry .getLinkWithClassVisualID(link)) { continue; } edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.Column dst = link.getTarget(); edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.ForeignKey src = link.getSource(); if (src != source) { continue; } result.add( new edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor( src, dst, link, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.providers.RelationalDatabase_MAVOElementTypes.ForeignColumnReference_4002, edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.edit.parts.ForeignColumnReferenceEditPart.VISUAL_ID)); } return result; } /** * @generated */ public static final DiagramUpdater TYPED_INSTANCE = new DiagramUpdater() { /** * @generated */ @Override public List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVONodeDescriptor> getSemanticChildren( View view) { return RelationalDatabase_MAVODiagramUpdater.getSemanticChildren(view); } /** * @generated */ @Override public List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getContainedLinks( View view) { return RelationalDatabase_MAVODiagramUpdater.getContainedLinks(view); } /** * @generated */ @Override public List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getIncomingLinks( View view) { return RelationalDatabase_MAVODiagramUpdater.getIncomingLinks(view); } /** * @generated */ @Override public List<edu.toronto.cs.se.modelepedia.relationaldatabase_mavo.diagram.part.RelationalDatabase_MAVOLinkDescriptor> getOutgoingLinks( View view) { return RelationalDatabase_MAVODiagramUpdater.getOutgoingLinks(view); } }; }