Search in sources :

Example 11 with MetadataEmfTableEditor

use of org.talend.core.ui.metadata.editor.MetadataEmfTableEditor in project tdi-studio-se by Talend.

the class JSONFileStep3Form method addFields.

@Override
protected void addFields() {
    // Header Fields
    Composite mainComposite = Form.startNewDimensionnedGridLayout(this, 2, WIDTH_GRIDDATA_PIXEL, 60);
    metadataNameText = new LabelledText(mainComposite, "Name");
    metadataCommentText = new LabelledText(mainComposite, "Comment");
    // Group MetaData
    Group groupMetaData = Form.createGroup(this, 1, "Schema", 280);
    Composite compositeMetaData = Form.startNewGridLayout(groupMetaData, 1);
    // Composite Guess
    Composite compositeGuessButton = Form.startNewDimensionnedGridLayout(compositeMetaData, 2, WIDTH_GRIDDATA_PIXEL, 40);
    informationLabel = new Label(compositeGuessButton, SWT.NONE);
    informationLabel.setText("Click Guess button to update the schema below according to your settings" + "                                                  ");
    informationLabel.setSize(500, HEIGHT_BUTTON_PIXEL);
    guessButton = new UtilsButton(compositeGuessButton, "Guess", WIDTH_BUTTON_PIXEL, HEIGHT_BUTTON_PIXEL);
    guessButton.setToolTipText("Click to update schema preview");
    // Composite MetadataTableEditorView
    Composite compositeTable = Form.startNewDimensionnedGridLayout(compositeMetaData, 1, WIDTH_GRIDDATA_PIXEL, 200);
    compositeTable.setLayout(new FillLayout());
    metadataEditor = new MetadataEmfTableEditor("Description of the Schema");
    tableEditorView = new MetadataEmfTableEditorView(compositeTable, SWT.NONE);
    if (!isInWizard()) {
        // Bottom Button
        Composite compositeBottomButton = Form.startNewGridLayout(this, 2, false, SWT.CENTER, SWT.CENTER);
        // Button Cancel
        cancelButton = new UtilsButton(compositeBottomButton, "Cancel", WIDTH_BUTTON_PIXEL, HEIGHT_BUTTON_PIXEL);
    }
// addUtilsButtonListeners(); changed by hqzhang, need not call here, has been called in setupForm()
}
Also used : LabelledText(org.talend.commons.ui.swt.formtools.LabelledText) MetadataEmfTableEditorView(org.talend.core.ui.metadata.editor.MetadataEmfTableEditorView) Group(org.eclipse.swt.widgets.Group) Composite(org.eclipse.swt.widgets.Composite) MetadataEmfTableEditor(org.talend.core.ui.metadata.editor.MetadataEmfTableEditor) Label(org.eclipse.swt.widgets.Label) UtilsButton(org.talend.commons.ui.swt.formtools.UtilsButton) FillLayout(org.eclipse.swt.layout.FillLayout)

Example 12 with MetadataEmfTableEditor

use of org.talend.core.ui.metadata.editor.MetadataEmfTableEditor in project tdi-studio-se by Talend.

the class AbstractJSONFileStepForm method initMetadataTable.

protected void initMetadataTable(List<FOXTreeNode> list, EList columnList) {
    int maxColumnsNumber = CoreUIPlugin.getDefault().getPreferenceStore().getInt(ITalendCorePrefConstants.MAXIMUM_AMOUNT_OF_COLUMNS_FOR_XML);
    for (FOXTreeNode node : list) {
        if (columnList.size() > maxColumnsNumber) {
            return;
        }
        MetadataEmfTableEditor editor = new MetadataEmfTableEditor();
        if (node instanceof Element) {
            String label = node.getLabel();
            if (!node.hasChildren() && label != null && !label.equals("")) {
                String columnName = label;
                if (columnName.contains(":")) {
                    //$NON-NLS-1$
                    //$NON-NLS-1$
                    columnName = columnName.split(":")[1];
                }
                columnName = columnName.replaceAll("[^a-zA-Z0-9]", "_");
                String dataType = node.getDataType();
                MetadataColumn metadataColumn = ConnectionFactory.eINSTANCE.createMetadataColumn();
                metadataColumn.setLabel(editor.getNextGeneratedColumnName(columnName, columnList));
                metadataColumn.setOriginalField(label);
                metadataColumn.setTalendType(dataType);
                columnList.add(metadataColumn);
                node.setColumn(ConvertionHelper.convertToIMetaDataColumn(metadataColumn));
            }
        }
        if (node instanceof Attribute) {
            String label = node.getLabel();
            if (label != null && !label.equals("")) {
                String columnName = label;
                if (columnName.contains(":")) {
                    //$NON-NLS-1$
                    //$NON-NLS-1$
                    columnName = columnName.split(":")[1];
                }
                columnName = columnName.replaceAll("[^a-zA-Z0-9]", "_");
                String dataType = node.getDataType();
                MetadataColumn metadataColumn = ConnectionFactory.eINSTANCE.createMetadataColumn();
                metadataColumn.setLabel(editor.getNextGeneratedColumnName(columnName, columnList));
                metadataColumn.setOriginalField(label);
                metadataColumn.setTalendType(dataType);
                columnList.add(metadataColumn);
                node.setColumn(ConvertionHelper.convertToIMetaDataColumn(metadataColumn));
            }
        }
        if (node.hasChildren()) {
            List<FOXTreeNode> children = node.getChildren();
            initMetadataTable(children, columnList);
        }
    }
}
Also used : FOXTreeNode(org.talend.metadata.managment.ui.wizard.metadata.xml.node.FOXTreeNode) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) Attribute(org.talend.metadata.managment.ui.wizard.metadata.xml.node.Attribute) MetadataEmfTableEditor(org.talend.core.ui.metadata.editor.MetadataEmfTableEditor) Element(org.talend.metadata.managment.ui.wizard.metadata.xml.node.Element)

Example 13 with MetadataEmfTableEditor

use of org.talend.core.ui.metadata.editor.MetadataEmfTableEditor in project tdi-studio-se by Talend.

the class WSDLSchemaDialog method createDialogArea.

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);
    composite.setLayout(new FillLayout());
    tableEditor = new MetadataEmfTableEditor("");
    tableEditor.setMetadataTable(metadataTable);
    // (List<MetadataColumn>)
    List<MetadataColumn> list = metadataTable.getColumns();
    // form.getSchemaViewer().getInput();
    tableEditor.addAll(list);
    tableEditorView = new MetadataEmfTableEditorView(composite, SWT.NONE);
    tableEditorView.setMetadataEditor(tableEditor);
    return composite;
}
Also used : MetadataEmfTableEditorView(org.talend.core.ui.metadata.editor.MetadataEmfTableEditorView) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) Composite(org.eclipse.swt.widgets.Composite) MetadataEmfTableEditor(org.talend.core.ui.metadata.editor.MetadataEmfTableEditor) FillLayout(org.eclipse.swt.layout.FillLayout)

Example 14 with MetadataEmfTableEditor

use of org.talend.core.ui.metadata.editor.MetadataEmfTableEditor in project tdi-studio-se by Talend.

the class GenericSchemaForm method addFields.

@Override
protected void addFields() {
    Composite mainComposite = Form.startNewDimensionnedGridLayout(this, 2, WIDTH_GRIDDATA_PIXEL, 60);
    //$NON-NLS-1$
    metadataNameText = new LabelledText(mainComposite, Messages.getString("GenericSchemaForm.metadataName"));
    //$NON-NLS-1$
    metadataCommentText = new LabelledText(mainComposite, Messages.getString("GenericSchemaForm.metadataComment"));
    //$NON-NLS-1$
    Group groupMetaData = Form.createGroup(this, 1, Messages.getString("GenericSchemaForm.groupMetadata"), 280);
    Composite compositeMetaData = Form.startNewGridLayout(groupMetaData, 1);
    Composite compositeTable = Form.startNewDimensionnedGridLayout(compositeMetaData, 1, WIDTH_GRIDDATA_PIXEL, 200);
    compositeTable.setLayout(new FillLayout());
    //$NON-NLS-1$
    metadataEditor = new MetadataEmfTableEditor(Messages.getString("GenericSchemaForm.metadataDescription"));
    tableEditorView = new MetadataEmfTableEditorView(compositeTable, SWT.NONE);
}
Also used : LabelledText(org.talend.commons.ui.swt.formtools.LabelledText) MetadataEmfTableEditorView(org.talend.core.ui.metadata.editor.MetadataEmfTableEditorView) Group(org.eclipse.swt.widgets.Group) Composite(org.eclipse.swt.widgets.Composite) MetadataEmfTableEditor(org.talend.core.ui.metadata.editor.MetadataEmfTableEditor) FillLayout(org.eclipse.swt.layout.FillLayout)

Example 15 with MetadataEmfTableEditor

use of org.talend.core.ui.metadata.editor.MetadataEmfTableEditor in project tdi-studio-se by Talend.

the class JSONFileSchemaDialog method createDialogArea.

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);
    composite.setLayout(new FillLayout());
    tableEditor = new MetadataEmfTableEditor("");
    MetadataTable metadataTable = form.getMetadataTable();
    tableEditor.setMetadataTable(metadataTable);
    // tableEditor.removeAll();
    List<MetadataColumn> list = (List<MetadataColumn>) form.getSchemaViewer().getInput();
    tableEditor.addAll(list);
    // if (list.size() > 0) {
    // for (MetadataColumn column : list) {
    // boolean toAdd = true;
    // for (int i = 0; i < currentColumnList.size(); i++) {
    // String label = column.getLabel();
    // String curLabel = currentColumnList.get(i).getLabel();
    // if (label.equals(curLabel)) {
    // toAdd = false;
    // break;
    // }
    // }
    // if (toAdd) {
    // tableEditor.add(column);
    // }
    // }
    // }
    tableEditorView = new MetadataEmfTableEditorView(composite, SWT.NONE);
    tableEditorView.setMetadataEditor(tableEditor);
    addListeners();
    return composite;
}
Also used : MetadataEmfTableEditorView(org.talend.core.ui.metadata.editor.MetadataEmfTableEditorView) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) Composite(org.eclipse.swt.widgets.Composite) MetadataEmfTableEditor(org.talend.core.ui.metadata.editor.MetadataEmfTableEditor) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) List(java.util.List) FillLayout(org.eclipse.swt.layout.FillLayout)

Aggregations

MetadataEmfTableEditor (org.talend.core.ui.metadata.editor.MetadataEmfTableEditor)15 MetadataColumn (org.talend.core.model.metadata.builder.connection.MetadataColumn)10 Composite (org.eclipse.swt.widgets.Composite)7 FillLayout (org.eclipse.swt.layout.FillLayout)6 MetadataEmfTableEditorView (org.talend.core.ui.metadata.editor.MetadataEmfTableEditorView)6 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)5 IModel (org.talend.designer.hl7.model.IModel)5 HL7MultiSchemaUI (org.talend.designer.hl7.ui.HL7MultiSchemaUI)5 ArrayList (java.util.ArrayList)4 List (java.util.List)4 Command (org.eclipse.gef.commands.Command)4 ExtendedTableResetDBTypesCommand (org.talend.core.ui.metadata.extended.command.ExtendedTableResetDBTypesCommand)4 MetadataEmfExportXmlCommand (org.talend.core.ui.metadata.extended.command.MetadataEmfExportXmlCommand)4 MetadataEmfImportXmlCommand (org.talend.core.ui.metadata.extended.command.MetadataEmfImportXmlCommand)4 MetadataEmfPasteCommand (org.talend.core.ui.metadata.extended.command.MetadataEmfPasteCommand)4 Group (org.eclipse.swt.widgets.Group)3 LabelledText (org.talend.commons.ui.swt.formtools.LabelledText)3 GridData (org.eclipse.swt.layout.GridData)2 AddPushButtonForExtendedTable (org.talend.commons.ui.swt.advanced.dataeditor.button.AddPushButtonForExtendedTable)2 ExtendedTableModel (org.talend.commons.ui.swt.extended.table.ExtendedTableModel)2