📄 dbdesignerdiagramupdater.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 + -