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);
}
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);
}
}
}
}
}
}
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;
}
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);
}
}
Aggregations