Search in sources :

Example 6 with Table

use of org.talend.sqlbuilder.erdiagram.ui.nodes.Table in project tdi-studio-se by Talend.

the class CreateTableCommand method execute.

@Override
public void execute() {
    for (MetadataTable metadataTable : metaTables) {
        if (!tableNames.contains(metadataTable.getSourceName())) {
            Table table = new Table();
            table.setMetadataTable(metadataTable, null);
            table.setErDiagram(erDiagram);
            erDiagram.addTable(table);
            erDiagram.getMetadataTables().add(metadataTable);
        }
    }
    IRunnableWithProgress progress = new IRunnableWithProgress() {

        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            //$NON-NLS-1$
            monitor.beginTask("", IProgressMonitor.UNKNOWN);
            try {
                fks = EMFRepositoryNodeManager.getInstance().getPKFromTables(erDiagram.getMetadataTables(), erDiagram.getErDiagramComposite().getDialog().getSelectedContext());
            } finally {
                monitor.done();
            }
        }
    };
    ISQLBuilderDialog dialog = erDiagram.getErDiagramComposite().getDialog();
    UIUtils.runWithProgress(progress, true, dialog.getProgressMonitor(), dialog.getShell());
    erDiagram.setRelations(fks);
}
Also used : IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) Table(org.talend.sqlbuilder.erdiagram.ui.nodes.Table) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) ISQLBuilderDialog(org.talend.sqlbuilder.ui.ISQLBuilderDialog) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress)

Example 7 with Table

use of org.talend.sqlbuilder.erdiagram.ui.nodes.Table in project tdi-studio-se by Talend.

the class DeleteTableCommand method execute.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.gef.commands.Command#execute()
     */
@Override
public void execute() {
    for (Table table : this.tables) {
        erDiagram.removeTable(table);
        for (Object obj : table.getColumns()) {
            if (obj instanceof Column) {
                List<Relation> inputs = ((Column) obj).getInputs();
                List<Relation> outputs = ((Column) obj).getOutputs();
                for (Relation relation : inputs) {
                    Column preColumn = relation.getSource();
                    if (!columns.contains(preColumn)) {
                        preColumn.removeOutputRelation(relation);
                    }
                }
                for (Relation relation : outputs) {
                    Column preColumn = relation.getTarget();
                    if (!columns.contains(preColumn)) {
                        preColumn.removeInputRelation(relation);
                    }
                }
            }
        }
    }
}
Also used : Relation(org.talend.sqlbuilder.erdiagram.ui.nodes.Relation) Table(org.talend.sqlbuilder.erdiagram.ui.nodes.Table) Column(org.talend.sqlbuilder.erdiagram.ui.nodes.Column)

Example 8 with Table

use of org.talend.sqlbuilder.erdiagram.ui.nodes.Table in project tdi-studio-se by Talend.

the class ErDiagramPartFactory method createEditPart.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart, java.lang.Object)
     */
public EditPart createEditPart(EditPart context, Object model) {
    EditPart part = null;
    if (model instanceof ErDiagram) {
        part = new ErDiagramPart();
    } else if (model instanceof Column) {
        part = new ColumnPart();
    } else if (model instanceof Table) {
        part = new TablePart();
    } else if (model instanceof Relation) {
        part = new RelationPart();
    } else {
        return null;
    }
    // tell the newly created part about the model object
    part.setModel(model);
    return part;
}
Also used : RelationPart(org.talend.sqlbuilder.erdiagram.ui.parts.RelationPart) Relation(org.talend.sqlbuilder.erdiagram.ui.nodes.Relation) Table(org.talend.sqlbuilder.erdiagram.ui.nodes.Table) ErDiagram(org.talend.sqlbuilder.erdiagram.ui.nodes.ErDiagram) Column(org.talend.sqlbuilder.erdiagram.ui.nodes.Column) EditPart(org.eclipse.gef.EditPart) TablePart(org.talend.sqlbuilder.erdiagram.ui.parts.TablePart) ColumnPart(org.talend.sqlbuilder.erdiagram.ui.parts.ColumnPart) ErDiagramPart(org.talend.sqlbuilder.erdiagram.ui.parts.ErDiagramPart)

Example 9 with Table

use of org.talend.sqlbuilder.erdiagram.ui.nodes.Table in project tdi-studio-se by Talend.

the class ErDiagramPart method caculateTablesLocation.

public void caculateTablesLocation() {
    List tables = getModelChildren();
    for (Iterator it = tables.iterator(); it.hasNext(); ) {
        Table table = (Table) it.next();
        Dimension tableSize = table.getSize();
        table.setLocation(tableSize.width + 20, table.getLocation().y);
    }
}
Also used : Table(org.talend.sqlbuilder.erdiagram.ui.nodes.Table) Iterator(java.util.Iterator) List(java.util.List) Dimension(org.eclipse.draw2d.geometry.Dimension)

Aggregations

Table (org.talend.sqlbuilder.erdiagram.ui.nodes.Table)9 ArrayList (java.util.ArrayList)4 MetadataTable (org.talend.core.model.metadata.builder.connection.MetadataTable)4 Column (org.talend.sqlbuilder.erdiagram.ui.nodes.Column)3 ErDiagram (org.talend.sqlbuilder.erdiagram.ui.nodes.ErDiagram)3 Relation (org.talend.sqlbuilder.erdiagram.ui.nodes.Relation)3 List (java.util.List)2 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)2 Dimension (org.eclipse.draw2d.geometry.Dimension)2 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)2 MetadataColumn (org.talend.core.model.metadata.builder.connection.MetadataColumn)2 ColumnPart (org.talend.sqlbuilder.erdiagram.ui.parts.ColumnPart)2 ErDiagramPart (org.talend.sqlbuilder.erdiagram.ui.parts.ErDiagramPart)2 TablePart (org.talend.sqlbuilder.erdiagram.ui.parts.TablePart)2 Iterator (java.util.Iterator)1 Matcher (java.util.regex.Matcher)1 Pattern (java.util.regex.Pattern)1 CheckBox (org.eclipse.draw2d.CheckBox)1 Point (org.eclipse.draw2d.geometry.Point)1 Rectangle (org.eclipse.draw2d.geometry.Rectangle)1