⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbdesignerdiagramupdater.java

📁 eclipse平台
💻 JAVA
字号:
package dbdesigner.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 dbdesigner.Column;
import dbdesigner.Database;
import dbdesigner.DbdesignerPackage;
import dbdesigner.FKRelation;
import dbdesigner.Table;
import dbdesigner.diagram.edit.parts.ColumnEditPart;
import dbdesigner.diagram.edit.parts.DatabaseEditPart;
import dbdesigner.diagram.edit.parts.FKRelationEditPart;
import dbdesigner.diagram.edit.parts.TableColumnCompartmentEditPart;
import dbdesigner.diagram.edit.parts.TableEditPart;
import dbdesigner.diagram.providers.DbdesignerElementTypes;

/**
 * @generated
 */
public class DbdesignerDiagramUpdater {

	/**
	 * @generated
	 */
	public static List getSemanticChildren(View view) {
		switch (DbdesignerVisualIDRegistry.getVisualID(view)) {
		case TableColumnCompartmentEditPart.VISUAL_ID:
			return getTableColumnCompartment_5001SemanticChildren(view);
		case DatabaseEditPart.VISUAL_ID:
			return getDatabase_79SemanticChildren(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getTableColumnCompartment_5001SemanticChildren(View view) {
		Table modelElement = (Table) view.getElement();
		List result = new LinkedList();
		for (Iterator it = modelElement.getColumns().iterator(); it.hasNext();) {
			Column childElement = (Column) it.next();
			int visualID = DbdesignerVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == ColumnEditPart.VISUAL_ID) {
				result
						.add(new DbdesignerNodeDescriptor(childElement,
								visualID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDatabase_79SemanticChildren(View view) {
		Database modelElement = (Database) view.getElement();
		List result = new LinkedList();
		for (Iterator it = modelElement.getTables().iterator(); it.hasNext();) {
			Table childElement = (Table) it.next();
			int visualID = DbdesignerVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == TableEditPart.VISUAL_ID) {
				result
						.add(new DbdesignerNodeDescriptor(childElement,
								visualID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List getContainedLinks(View view) {
		switch (DbdesignerVisualIDRegistry.getVisualID(view)) {
		case TableEditPart.VISUAL_ID:
			return getTable_1001ContainedLinks(view);
		case ColumnEditPart.VISUAL_ID:
			return getColumn_2001ContainedLinks(view);
		case FKRelationEditPart.VISUAL_ID:
			return getFKRelation_3001ContainedLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getIncomingLinks(View view) {
		switch (DbdesignerVisualIDRegistry.getVisualID(view)) {
		case TableEditPart.VISUAL_ID:
			return getTable_1001IncomingLinks(view);
		case ColumnEditPart.VISUAL_ID:
			return getColumn_2001IncomingLinks(view);
		case FKRelationEditPart.VISUAL_ID:
			return getFKRelation_3001IncomingLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getOutgoingLinks(View view) {
		switch (DbdesignerVisualIDRegistry.getVisualID(view)) {
		case TableEditPart.VISUAL_ID:
			return getTable_1001OutgoingLinks(view);
		case ColumnEditPart.VISUAL_ID:
			return getColumn_2001OutgoingLinks(view);
		case FKRelationEditPart.VISUAL_ID:
			return getFKRelation_3001OutgoingLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getTable_1001ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getColumn_2001ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getFKRelation_3001ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getTable_1001IncomingLinks(View view) {
		Table modelElement = (Table) view.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result.addAll(getIncomingTypeModelFacetLinks_FKRelation_3001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getColumn_2001IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getFKRelation_3001IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getTable_1001OutgoingLinks(View view) {
		Table modelElement = (Table) view.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingTypeModelFacetLinks_FKRelation_3001(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getColumn_2001OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getFKRelation_3001OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_FKRelation_3001(
			Table 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() != DbdesignerPackage.eINSTANCE
					.getFKRelation_Target()
					|| false == setting.getEObject() instanceof FKRelation) {
				continue;
			}
			FKRelation link = (FKRelation) setting.getEObject();
			if (FKRelationEditPart.VISUAL_ID != DbdesignerVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			Table src = link.getSource();
			result.add(new DbdesignerLinkDescriptor(src, target, link,
					DbdesignerElementTypes.FKRelation_3001,
					FKRelationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_FKRelation_3001(
			Table source) {
		Database 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 Database) {
				container = (Database) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getFkrelations().iterator(); links
				.hasNext();) {
			Object linkObject = links.next();
			if (false == linkObject instanceof FKRelation) {
				continue;
			}
			FKRelation link = (FKRelation) linkObject;
			if (FKRelationEditPart.VISUAL_ID != DbdesignerVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			Table dst = link.getTarget();
			Table src = link.getSource();
			if (src != source) {
				continue;
			}
			result.add(new DbdesignerLinkDescriptor(src, dst, link,
					DbdesignerElementTypes.FKRelation_3001,
					FKRelationEditPart.VISUAL_ID));
		}
		return result;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -