Search in sources :

Example 6 with IMetadataConnection

use of org.talend.core.model.metadata.IMetadataConnection in project tdi-studio-se by Talend.

the class MetadataColumnComparator method saveEMFMetadataColumn.

@SuppressWarnings("unchecked")
private static void saveEMFMetadataColumn(String id, List<MetadataColumn> columnNodes) {
    DatabaseConnectionItem item = getEMFItem(id);
    final DatabaseConnection connection = (DatabaseConnection) item.getConnection();
    IMetadataConnection iMetadataConnection = ConvertionHelper.convert(connection);
    Set<MetadataTable> tableset = ConnectionHelper.getTables(connection);
    List<MetadataTable> tables = new ArrayList<MetadataTable>();
    tables.addAll(tableset);
    List<MetadataColumn> emfCols = new ArrayList<MetadataColumn>();
    List<MetadataColumn> dbCols = new ArrayList<MetadataColumn>();
    for (MetadataColumn col : columnNodes) {
        for (MetadataTable table : tables) {
            if (table.getLabel().equals(col.getTable().getLabel())) {
                List<TdColumn> returnCols = ExtractMetaDataFromDataBase.returnMetadataColumnsFormTable(iMetadataConnection, table.getSourceName());
                for (MetadataColumn emfcolumn : table.getColumns()) {
                    for (MetadataColumn column : returnCols) {
                        if (emfcolumn.getLabel().equals(col.getLabel()) && column.getLabel().equals(col.getOriginalField())) {
                            emfCols.add(emfcolumn);
                            dbCols.add(column);
                        }
                    }
                }
            }
        }
    }
    saveOneMetadataColumn(emfCols, columnNodes, dbCols);
    saveMetaData(item);
}
Also used : MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) TdColumn(org.talend.cwm.relational.TdColumn) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) ArrayList(java.util.ArrayList) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) IMetadataConnection(org.talend.core.model.metadata.IMetadataConnection) DatabaseConnectionItem(org.talend.core.model.properties.DatabaseConnectionItem)

Example 7 with IMetadataConnection

use of org.talend.core.model.metadata.IMetadataConnection in project tdi-studio-se by Talend.

the class MetadataColumnComparator method getRepositoryNodeFromDB.

/**
     * method "getRepositoryNodeFromDB".
     * 
     * @param oldNode
     * @return
     */
@SuppressWarnings("unchecked")
public RepositoryNode getRepositoryNodeFromDB(RepositoryNode oldNode, String selectedContext) {
    DatabaseConnectionItem item = getItem(getRoot(oldNode));
    DatabaseConnection connection = (DatabaseConnection) item.getConnection();
    IMetadataConnection iMetadataConnection = ConvertionHelper.convert(connection, false, selectedContext);
    try {
        modifyOldRepositoryNode(connection, iMetadataConnection, oldNode);
    } catch (Exception e) {
        ExceptionHandler.process(e);
    }
    return oldNode;
}
Also used : DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) IMetadataConnection(org.talend.core.model.metadata.IMetadataConnection) SQLException(java.sql.SQLException) PersistenceException(org.talend.commons.exception.PersistenceException) DatabaseConnectionItem(org.talend.core.model.properties.DatabaseConnectionItem)

Example 8 with IMetadataConnection

use of org.talend.core.model.metadata.IMetadataConnection in project tdi-studio-se by Talend.

the class ColumnListController method updateColumnsOnElement.

private static void updateColumnsOnElement(IElement element, List<ColumnNameChanged> columnsChanged, boolean synWidthWithMetadataColumn, String[] prevColumnNameList, String[] curColumnNameList, String[] curColumnValueList, List<String> refColumnListNamesTmpWithSourceName, List<String> refColumnListValuesTmp, String[] refColumnListNames, String[] refColumnListValues, boolean isSCDComponent, boolean isEdifactComponent, Map<String, Boolean> customColMap) {
    List<String> columnList;
    String[] columnNameList;
    String edifactId = null;
    if (isEdifactComponent) {
        for (IElementParameter par : element.getElementParametersWithChildrens()) {
            if (par.getName().equals("REPOSITORY_PROPERTY_TYPE")) {
                edifactId = par.getValue().toString();
                break;
            }
        }
    }
    for (int i = 0; i < element.getElementParameters().size(); i++) {
        IElementParameter param = element.getElementParameters().get(i);
        columnList = getColumnList(element, param.getContext(), null);
        columnNameList = columnList.toArray(new String[0]);
        if (param.getFieldType() == EParameterFieldType.COLUMN_LIST && !isSCDComponent) {
            curColumnNameList = columnNameList;
            curColumnValueList = columnNameList;
        }
        if (param.getFieldType() == EParameterFieldType.PREV_COLUMN_LIST) {
            curColumnNameList = prevColumnNameList;
            curColumnValueList = prevColumnNameList;
        }
        if (param.getFieldType() == EParameterFieldType.LOOKUP_COLUMN_LIST) {
            curColumnNameList = refColumnListNames;
            curColumnValueList = refColumnListValues;
        }
        if ((param.getFieldType() == EParameterFieldType.COLUMN_LIST && !isSCDComponent) || param.getFieldType() == EParameterFieldType.PREV_COLUMN_LIST || param.getFieldType() == EParameterFieldType.LOOKUP_COLUMN_LIST) {
            param.setListItemsDisplayName(curColumnNameList);
            param.setListItemsValue(curColumnValueList);
            // for bug 10945
            // 10155
            boolean currentColumnStillExist = ArrayUtils.contains(curColumnValueList, param.getValue());
            if (!currentColumnStillExist) {
                for (int j = 0; j < refColumnListNamesTmpWithSourceName.size(); j++) {
                    if (param.getValue().equals(refColumnListNamesTmpWithSourceName.get(j))) {
                        param.setValue(refColumnListValuesTmp.get(j));
                        break;
                    }
                }
                currentColumnStillExist = ArrayUtils.contains(curColumnValueList, param.getValue());
            }
            if (curColumnNameList.length > 0 && !currentColumnStillExist) {
                param.setValue(curColumnValueList[0]);
            } else if (!currentColumnStillExist) {
                //$NON-NLS-1$
                param.setValue("");
            }
            syncNodePropertiesColumns(param, columnsChanged, curColumnNameList);
        }
        if (param.getFieldType() == EParameterFieldType.TABLE) {
            Object[] itemsValue = param.getListItemsValue();
            for (Object element2 : itemsValue) {
                if (element2 instanceof IElementParameter) {
                    IElementParameter tmpParam = (IElementParameter) element2;
                    columnList = getColumnList(element, tmpParam.getContext(), customColMap);
                    String[] tableColumnNameList = columnList.toArray(new String[0]);
                    if (tmpParam.getFieldType() == EParameterFieldType.COLUMN_LIST) {
                        curColumnNameList = tableColumnNameList;
                        curColumnValueList = tableColumnNameList;
                    }
                    if (tmpParam.getFieldType() == EParameterFieldType.PREV_COLUMN_LIST && element instanceof INode) {
                        curColumnNameList = prevColumnNameList;
                        curColumnValueList = prevColumnNameList;
                    }
                    // needed for traces with breakpoint, feature:
                    if (tmpParam.getFieldType() == EParameterFieldType.PREV_COLUMN_LIST && element instanceof IConnection) {
                        curColumnNameList = tableColumnNameList;
                        curColumnValueList = tableColumnNameList;
                    }
                    if (tmpParam.getFieldType() == EParameterFieldType.LOOKUP_COLUMN_LIST) {
                        curColumnNameList = refColumnListNames;
                        curColumnValueList = refColumnListValues;
                    }
                    if (tmpParam.getFieldType() == EParameterFieldType.COLUMN_LIST || tmpParam.getFieldType() == EParameterFieldType.PREV_COLUMN_LIST || tmpParam.getFieldType() == EParameterFieldType.LOOKUP_COLUMN_LIST) {
                        List<String[]> filterColumns = filterColumns(tmpParam, curColumnNameList, curColumnValueList, customColMap);
                        curColumnNameList = filterColumns.get(0);
                        curColumnValueList = filterColumns.get(1);
                        tmpParam.setListItemsDisplayCodeName(curColumnNameList);
                        tmpParam.setListItemsDisplayName(curColumnNameList);
                        tmpParam.setListItemsValue(curColumnValueList);
                        if (curColumnValueList.length > 0) {
                            tmpParam.setDefaultClosedListValue(curColumnValueList[0]);
                        } else {
                            //$NON-NLS-1$
                            tmpParam.setDefaultClosedListValue("");
                        }
                        syncNodePropertiesTableColumns(param, columnsChanged, curColumnNameList, tmpParam);
                    }
                }
            }
        }
        if (param.isBasedOnSchema()) {
            List<Map<String, Object>> paramValues = (List<Map<String, Object>>) param.getValue();
            List<Map<String, Object>> newParamValues = new ArrayList<Map<String, Object>>();
            for (int j = 0; j < columnNameList.length; j++) {
                String columnName = columnNameList[j];
                String[] codes = param.getListItemsDisplayCodeName();
                Map<String, Object> newLine = null;
                boolean found = false;
                ColumnNameChanged colChanged = null;
                if (columnsChanged != null) {
                    for (int k = 0; k < columnsChanged.size() && !found; k++) {
                        colChanged = columnsChanged.get(k);
                        if (colChanged.getNewName().equals(columnName)) {
                            found = true;
                        }
                    }
                }
                if (found) {
                    found = false;
                    for (int k = 0; k < paramValues.size() && !found; k++) {
                        Map<String, Object> currentLine = paramValues.get(k);
                        if (currentLine.get(codes[0]).equals(colChanged.getOldName())) {
                            currentLine.put(codes[0], colChanged.getNewName());
                            found = true;
                        }
                    }
                }
                found = false;
                for (int k = 0; k < paramValues.size() && !found; k++) {
                    Map<String, Object> currentLine = paramValues.get(k);
                    if (currentLine.get(codes[0]) == null) {
                        currentLine.put(codes[0], columnName);
                    }
                    if (currentLine.get(codes[0]).equals(columnName)) {
                        found = true;
                        newLine = currentLine;
                    }
                }
                if (!found) {
                    newLine = TableController.createNewLine(param);
                    newLine.put(codes[0], columnName);
                    reUsedColumnFunctionArrayCheck(newLine, element, codes);
                    if (!StringUtils.isEmpty(edifactId)) {
                        org.talend.core.model.metadata.builder.connection.Connection connection = MetadataToolHelper.getConnectionFromRepository(edifactId);
                        if (connection != null && connection instanceof EDIFACTConnection) {
                            List<org.talend.core.model.metadata.builder.connection.MetadataTable> tables = ConnectionHelper.getTablesWithOrders(connection);
                            for (MetadataColumn col : tables.get(0).getColumns()) {
                                if (col.getLabel().equals(columnName)) {
                                    if (col instanceof EDIFACTColumn) {
                                        EDIFACTColumn edicolumn = (EDIFACTColumn) col;
                                        String ediXpath = edicolumn.getEDIXpath();
                                        newLine.put(codes[0], columnName);
                                        newLine.put(codes[1], ediXpath);
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (element instanceof Node) {
                        Node node = (Node) element;
                        String familyName = node.getComponent().getOriginalFamilyName();
                        /** need add second parameter for hbase input/output component **/
                        if (familyName != null && familyName.equals("Databases/HBase")) {
                            for (IElementParameter par : node.getElementParametersWithChildrens()) {
                                if (par.getName().equals("REPOSITORY_PROPERTY_TYPE")) {
                                    String hbaseConnectionId = par.getValue().toString();
                                    String columnFamily = null;
                                    org.talend.core.model.metadata.builder.connection.Connection connection = MetadataToolHelper.getConnectionFromRepository(hbaseConnectionId);
                                    if (connection != null && connection instanceof DatabaseConnection) {
                                        /* use imetadataconnection because maybe it's in context model */
                                        IMetadataConnection metadataConnection = ConvertionHelper.convert(connection);
                                        List<org.talend.core.model.metadata.builder.connection.MetadataTable> tables = ConnectionHelper.getTablesWithOrders(connection);
                                        boolean find = false;
                                        for (org.talend.core.model.metadata.builder.connection.MetadataTable table : tables) {
                                            for (MetadataColumn column : table.getColumns()) {
                                                if (column.getLabel() != null && column.getLabel().equals(columnName)) {
                                                    for (TaggedValue tv : column.getTaggedValue()) {
                                                        String tag = tv.getTag();
                                                        if (tag != null && tag.equals("COLUMN FAMILY")) {
                                                            String value = tv.getValue();
                                                            if (value != null) {
                                                                columnFamily = value;
                                                                break;
                                                            }
                                                        }
                                                    }
                                                }
                                                if (find) {
                                                    break;
                                                }
                                            }
                                            if (find) {
                                                break;
                                            }
                                        }
                                    }
                                    if (columnFamily != null) {
                                        newLine.put(codes[1], TalendTextUtils.addQuotes(columnFamily));
                                        break;
                                    }
                                }
                            }
                        }
                    }
                /* should put other attribute for edi mapping */
                }
                if (synWidthWithMetadataColumn) {
                    setColumnSize(newLine, element, codes, param);
                }
                newParamValues.add(j, newLine);
            }
            paramValues.clear();
            paramValues.addAll(newParamValues);
        } else if (param.isColumnsBasedOnSchema()) {
            List<Map<String, Object>> paramValues = (List<Map<String, Object>>) param.getValue();
            List<Map<String, Object>> newParamValues = new ArrayList<Map<String, Object>>();
            String[] listRepositoryItem = new String[columnNameList.length];
            String[] listItemsDisplayValue = new String[columnNameList.length];
            String[] listItemsDisplayCodeValue = new String[columnNameList.length];
            Object[] listItemsValue = new Object[columnNameList.length];
            String[] listItemsShowIf = new String[columnNameList.length];
            String[] listItemsNotShowIf = new String[columnNameList.length];
            ElementParameter newParam;
            for (int j = 0; j < columnNameList.length; j++) {
                String columnName = columnNameList[j];
                listItemsDisplayCodeValue[j] = columnName;
                listItemsDisplayValue[j] = columnName;
                //$NON-NLS-1$
                listRepositoryItem[j] = "";
                listItemsShowIf[j] = null;
                listItemsNotShowIf[j] = null;
                newParam = new ElementParameter(element);
                newParam.setName(columnName);
                //$NON-NLS-1$
                newParam.setDisplayName("");
                newParam.setFieldType(EParameterFieldType.TEXT);
                //$NON-NLS-1$
                newParam.setValue("");
                listItemsValue[j] = newParam;
                boolean found = false;
                ColumnNameChanged colChanged = null;
                if (columnsChanged != null) {
                    for (int k = 0; k < columnsChanged.size() && !found; k++) {
                        colChanged = columnsChanged.get(k);
                        if (colChanged.getNewName().equals(columnName)) {
                            found = true;
                        }
                    }
                }
                for (int k = 0; k < paramValues.size(); k++) {
                    Map<String, Object> line = paramValues.get(k);
                    Map<String, Object> newline = new HashMap<String, Object>();
                    if (found) {
                        Object object = line.get(colChanged.getOldName());
                        if (object != null) {
                            newline.put(colChanged.getNewName(), object);
                            line.remove(colChanged.getOldName());
                            line.putAll(newline);
                        }
                    }
                }
            }
            param.setListItemsDisplayName(listItemsDisplayValue);
            param.setListItemsDisplayCodeName(listItemsDisplayCodeValue);
            param.setListItemsValue(listItemsValue);
            param.setListRepositoryItems(listRepositoryItem);
            param.setListItemsShowIf(listItemsShowIf);
            param.setListItemsNotShowIf(listItemsNotShowIf);
        }
    }
}
Also used : INode(org.talend.core.model.process.INode) Node(org.talend.designer.core.ui.editor.nodes.Node) INode(org.talend.core.model.process.INode) ArrayList(java.util.ArrayList) IConnection(org.talend.core.model.process.IConnection) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) ColumnNameChanged(org.talend.core.model.metadata.ColumnNameChanged) IElementParameter(org.talend.core.model.process.IElementParameter) ElementParameter(org.talend.designer.core.model.components.ElementParameter) EDIFACTConnection(org.talend.core.model.metadata.builder.connection.EDIFACTConnection) IMetadataTable(org.talend.core.model.metadata.IMetadataTable) MetadataTable(org.talend.core.model.metadata.MetadataTable) IElementParameter(org.talend.core.model.process.IElementParameter) Connection(org.talend.core.model.metadata.builder.connection.Connection) List(java.util.List) ArrayList(java.util.ArrayList) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) EDIFACTColumn(org.talend.core.model.metadata.builder.connection.EDIFACTColumn) TaggedValue(orgomg.cwm.objectmodel.core.TaggedValue) IMetadataConnection(org.talend.core.model.metadata.IMetadataConnection) Point(org.eclipse.swt.graphics.Point) JSONObject(org.talend.utils.json.JSONObject) Map(java.util.Map) HashMap(java.util.HashMap)

Example 9 with IMetadataConnection

use of org.talend.core.model.metadata.IMetadataConnection in project tdi-studio-se by Talend.

the class AbstractElementPropertySectionController method checkExistConnections.

protected boolean checkExistConnections(IMetadataConnection metadataConnection) {
    java.sql.Connection connection = null;
    try {
        List list = new ArrayList();
        list = ExtractMetaDataUtils.getInstance().connect(metadataConnection.getDbType(), metadataConnection.getUrl(), metadataConnection.getUsername(), metadataConnection.getPassword(), metadataConnection.getDriverClass(), metadataConnection.getDriverJarPath(), metadataConnection.getDbVersionString(), metadataConnection.getAdditionalParams());
        if (list != null && list.size() > 0) {
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i) instanceof Connection) {
                    connection = (java.sql.Connection) list.get(i);
                }
            }
        }
    } catch (SQLException e) {
        return false;
    } catch (Exception e) {
        return false;
    } finally {
        try {
            if (connection != null && !connection.isClosed()) {
                connection.close();
            }
        } catch (SQLException e) {
        //
        }
    }
    return true;
}
Also used : SQLException(java.sql.SQLException) ArrayList(java.util.ArrayList) IMetadataConnection(org.talend.core.model.metadata.IMetadataConnection) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) Connection(org.talend.core.model.metadata.builder.connection.Connection) ArrayList(java.util.ArrayList) List(java.util.List) SQLException(java.sql.SQLException) PersistenceException(org.talend.commons.exception.PersistenceException)

Example 10 with IMetadataConnection

use of org.talend.core.model.metadata.IMetadataConnection in project tdi-studio-se by Talend.

the class GuessSchemaController method runShadowProcessForPerl.

private void runShadowProcessForPerl() {
    final ProgressMonitorDialog pmd = new ProgressMonitorDialog(this.composite.getShell());
    try {
        pmd.run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                if (columns != null) {
                    columns.clear();
                }
                //$NON-NLS-1$
                monitor.beginTask(Messages.getString("GuessSchemaController.waitOpenDatabase"), IProgressMonitor.UNKNOWN);
                if (connParameters == null) {
                    initConnectionParameters();
                }
                ISQLBuilderService service = (ISQLBuilderService) GlobalServiceRegister.getDefault().getService(ISQLBuilderService.class);
                DatabaseConnection connt = service.createConnection(connParameters);
                IMetadataConnection iMetadataConnection = null;
                boolean isStatus = false;
                ExtractMetaDataUtils extractMeta = ExtractMetaDataUtils.getInstance();
                if (connt != null) {
                    iMetadataConnection = ConvertionHelper.convert(connt);
                    isStatus = checkConnection(iMetadataConnection);
                }
                if (!monitor.isCanceled()) {
                    try {
                        if (isStatus) {
                            extractMeta.getConnection(iMetadataConnection.getDbType(), iMetadataConnection.getUrl(), iMetadataConnection.getUsername(), iMetadataConnection.getPassword(), iMetadataConnection.getDatabase(), iMetadataConnection.getSchema(), iMetadataConnection.getDriverClass(), iMetadataConnection.getDriverJarPath(), iMetadataConnection.getDbVersionString(), iMetadataConnection.getAdditionalParams());
                            if (extractMeta.getConn() != null) {
                                Statement smst = extractMeta.getConn().createStatement();
                                extractMeta.setQueryStatementTimeout(smst);
                                ResultSet rs = smst.executeQuery(memoSQL);
                                ResultSetMetaData rsmd = rs.getMetaData();
                                int numbOfColumn = rsmd.getColumnCount();
                                int count = 0;
                                List<String[]> cvsArrays = new ArrayList<String[]>();
                                while (rs.next() && count < 50) {
                                    String[] dataOneRow = new String[numbOfColumn];
                                    for (int i = 1; i <= numbOfColumn; i++) {
                                        String tempStr = rs.getString(i);
                                        dataOneRow[i - 1] = tempStr;
                                    }
                                    cvsArrays.add(dataOneRow);
                                    count++;
                                }
                                refreshMetaDataTable(rsmd, cvsArrays);
                                extractMeta.closeConnection();
                            }
                        } else {
                            Display.getDefault().asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    //$NON-NLS-1$
                                    String pid = "org.talend.sqlbuilder";
                                    //$NON-NLS-1$
                                    String mainMsg = "Database connection is failed. ";
                                    ErrorDialogWithDetailAreaAndContinueButton dialog = new ErrorDialogWithDetailAreaAndContinueButton(composite.getShell(), pid, mainMsg, connParameters.getConnectionComment());
                                    if (dialog.getCodeOfButton() == Window.OK) {
                                        openParamemerDialog(composite.getShell(), part.getProcess().getContextManager());
                                    }
                                }
                            });
                        }
                    } catch (Exception e) {
                        extractMeta.closeConnection();
                        ExceptionHandler.process(e);
                        final String strExcepton = "Connect to DB error ,or some errors in SQL query string, or 'Guess Schema' not compatible with current SQL query string." + System.getProperty("line.separator");
                        Display.getDefault().asyncExec(new Runnable() {

                            @Override
                            public void run() {
                                MessageDialog.openWarning(composite.getShell(), Messages.getString("GuessSchemaController.connError"), //$NON-NLS-1$
                                strExcepton);
                            }
                        });
                    }
                }
            }
        });
    } catch (Exception e) {
        ExceptionHandler.process(e);
    }
}
Also used : ErrorDialogWithDetailAreaAndContinueButton(org.talend.commons.ui.swt.dialogs.ErrorDialogWithDetailAreaAndContinueButton) Statement(java.sql.Statement) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) IMetadataConnection(org.talend.core.model.metadata.IMetadataConnection) ExtractMetaDataUtils(org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils) InvocationTargetException(java.lang.reflect.InvocationTargetException) ISQLBuilderService(org.talend.core.ui.services.ISQLBuilderService) InvocationTargetException(java.lang.reflect.InvocationTargetException) SQLException(java.sql.SQLException) ProcessorException(org.talend.designer.runprocess.ProcessorException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) ResultSetMetaData(java.sql.ResultSetMetaData) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ResultSet(java.sql.ResultSet) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) List(java.util.List) ArrayList(java.util.ArrayList)

Aggregations

IMetadataConnection (org.talend.core.model.metadata.IMetadataConnection)19 DatabaseConnection (org.talend.core.model.metadata.builder.connection.DatabaseConnection)17 ArrayList (java.util.ArrayList)9 SQLException (java.sql.SQLException)8 List (java.util.List)6 Connection (org.talend.core.model.metadata.builder.connection.Connection)5 DatabaseConnectionItem (org.talend.core.model.properties.DatabaseConnectionItem)5 Shell (org.eclipse.swt.widgets.Shell)4 PersistenceException (org.talend.commons.exception.PersistenceException)4 ErrorDialogWithDetailAreaAndContinueButton (org.talend.commons.ui.swt.dialogs.ErrorDialogWithDetailAreaAndContinueButton)4 InvocationTargetException (java.lang.reflect.InvocationTargetException)3 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)3 MetadataColumn (org.talend.core.model.metadata.builder.connection.MetadataColumn)3 MetadataTable (org.talend.core.model.metadata.builder.connection.MetadataTable)3 SQLBuilderDialog (org.talend.sqlbuilder.ui.SQLBuilderDialog)3 ResultSet (java.sql.ResultSet)2 ResultSetMetaData (java.sql.ResultSetMetaData)2 ProgressMonitorDialog (org.eclipse.jface.dialogs.ProgressMonitorDialog)2 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2