Search in sources :

Example 6 with DBTableRepNode

use of org.talend.dq.nodes.DBTableRepNode in project tdq-studio-se by Talend.

the class TableAnalysisDPSelectionPage method addListeners.

@Override
protected void addListeners() {
    addListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            Object object = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (object instanceof NamedColumnSet) {
                advanceToNextPageOrFinish();
            }
        }
    });
    addListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            // Connection oldTdDataProvider = null;
            NamedColumnSetAnalysisParameter paraneter = (NamedColumnSetAnalysisParameter) getConnectionParams();
            List tempList = ((IStructuredSelection) event.getSelection()).toList();
            List<NamedColumnSet> setList = new ArrayList<NamedColumnSet>();
            for (Object object : tempList) {
                if (object instanceof DBTableRepNode) {
                    DBTableRepNode tableNode = (DBTableRepNode) object;
                    // MOD klliu if table node is not initialized , then init that . bug 20097 2011-03-31
                    if (!tableNode.isInitialized()) {
                        tableNode.getChildren().get(0).getChildren();
                    }
                    // ~
                    setList.add(tableNode.getTdTable());
                }
            // if (object instanceof NamedColumnSet) {
            // NamedColumnSet set = (NamedColumnSet) object;
            // Connection tdProvider = ConnectionHelper.getTdDataProvider(TableHelper
            // .getParentCatalogOrSchema(set));
            // oldTdDataProvider = oldTdDataProvider == null ? tdProvider : oldTdDataProvider;
            // if (oldTdDataProvider != null && !oldTdDataProvider.equals(tdProvider)) {
            // MessageUI.openWarning(DefaultMessagesImpl
            // .getString("TableAnalysisDPSelectionPage.TableSelectWarning")); //$NON-NLS-1$
            // } else if (tdProvider != null && paraneter != null) {
            // setList.add(set);
            // paraneter.setTdDataProvider(oldTdDataProvider);
            // }
            // }
            }
            if (setList.size() > 0 && paraneter != null) {
                paraneter.setNamedColumnSets(setList.toArray(new NamedColumnSet[setList.size()]));
                DBTableRepNode recursiveFind = (DBTableRepNode) RepositoryNodeHelper.recursiveFind((TdTable) setList.get(0));
                RepositoryNode parent = recursiveFind.getParent().getParent();
                // MOD qiongli 2011-3-16 bug 19475
                RepositoryNode catalogNode = parent;
                if (parent instanceof DBCatalogRepNode) {
                    parent = parent.getParent();
                } else if (parent instanceof DBSchemaRepNode) {
                    parent = parent.getParent();
                    if (parent instanceof DBCatalogRepNode) {
                        catalogNode = parent;
                        parent = parent.getParent();
                    }
                }
                // TdTableRepositoryObject tableViewObject = (TdTableRepositoryObject) recursiveFind.getObject();
                // IRepositoryViewObject viewObject = parent.getObject();
                DBConnectionRepNode connNode = (DBConnectionRepNode) parent;
                paraneter.setConnectionRepNode(connNode);
                Connection connection = ConnectionHelper.getConnection((TdTable) setList.get(0));
                paraneter.setTdDataProvider(connection);
                List<IRepositoryNode> packagesNode = new ArrayList<IRepositoryNode>();
                packagesNode.add(catalogNode);
                paraneter.setPackages(packagesNode);
                setPageComplete(true);
            } else {
                setPageComplete(false);
            }
        }
    });
}
Also used : DBConnectionRepNode(org.talend.dq.nodes.DBConnectionRepNode) DBSchemaRepNode(org.talend.dq.nodes.DBSchemaRepNode) TdTable(org.talend.cwm.relational.TdTable) IRepositoryNode(org.talend.repository.model.IRepositoryNode) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Connection(org.talend.core.model.metadata.builder.connection.Connection) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) NamedColumnSetAnalysisParameter(org.talend.dq.analysis.parameters.NamedColumnSetAnalysisParameter) IRepositoryNode(org.talend.repository.model.IRepositoryNode) RepositoryNode(org.talend.repository.model.RepositoryNode) DBTableRepNode(org.talend.dq.nodes.DBTableRepNode) DBCatalogRepNode(org.talend.dq.nodes.DBCatalogRepNode) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) ArrayList(java.util.ArrayList) List(java.util.List) NamedColumnSet(orgomg.cwm.resource.relational.NamedColumnSet)

Example 7 with DBTableRepNode

use of org.talend.dq.nodes.DBTableRepNode in project tdq-studio-se by Talend.

the class ImageLib method getImageNameByRepositoryNode.

public static String getImageNameByRepositoryNode(IRepositoryNode node) {
    String imageName = null;
    IRepositoryViewObject viewObject = node.getObject();
    ENodeType type = node.getType();
    if (node instanceof ReportAnalysisRepNode) {
        imageName = ImageLib.ANALYSIS_OBJECT;
    } else if (node instanceof RecycleBinRepNode) {
        imageName = ImageLib.RECYCLEBIN_EMPTY;
    } else if (type.equals(ENodeType.SYSTEM_FOLDER)) {
        String label = viewObject.getLabel();
        if (label.equals(EResourceConstant.DATA_PROFILING.getName())) {
            imageName = ImageLib.DATA_PROFILING;
        } else if (label.equals(EResourceConstant.METADATA.getName())) {
            imageName = ImageLib.METADATA;
        } else if (node instanceof DBConnectionFolderRepNode) {
            imageName = ImageLib.CONNECTION;
        } else if (label.equals(EResourceConstant.FILEDELIMITED.getName())) {
            imageName = ImageLib.FILE_DELIMITED;
        } else if (label.equals(EResourceConstant.HADOOP_CLUSTER.getName())) {
            imageName = ImageLib.HADOOP_CLUSTER;
        } else if (label.equals(EResourceConstant.LIBRARIES.getName())) {
            imageName = ImageLib.LIBRARIES;
        } else if (label.equals(EResourceConstant.EXCHANGE.getName())) {
            imageName = ImageLib.EXCHANGE;
        } else {
            imageName = ImageLib.FOLDERNODE_IMAGE;
        }
    } else if (type.equals(ENodeType.SIMPLE_FOLDER)) {
        imageName = ImageLib.FOLDERNODE_IMAGE;
    } else if (type.equals(ENodeType.REPOSITORY_ELEMENT)) {
        if (node instanceof DBConnectionRepNode) {
            imageName = ImageLib.TD_DATAPROVIDER;
        } else if (node instanceof DFConnectionRepNode) {
            imageName = ImageLib.FILE_DELIMITED;
        } else if (node instanceof AnalysisRepNode) {
            imageName = ImageLib.ANALYSIS_OBJECT;
        } else if (node instanceof ReportRepNode) {
            imageName = ImageLib.REPORT_OBJECT;
        } else if (node instanceof SysIndicatorDefinitionRepNode) {
            imageName = ImageLib.IND_DEFINITION;
        } else if (node instanceof PatternRepNode) {
            imageName = ImageLib.PATTERN_REG;
        } else if (node instanceof RuleRepNode) {
            imageName = ImageLib.DQ_RULE;
        } else if (node instanceof SourceFileRepNode) {
            imageName = ImageLib.SOURCE_FILE;
        } else if (node instanceof ExchangeCategoryRepNode || node instanceof ExchangeComponentRepNode) {
            imageName = ImageLib.EXCHANGE;
        } else if (node instanceof JrxmlTempleteRepNode) {
            imageName = ImageLib.JRXML_ICON;
        }
    } else if (type.equals(ENodeType.TDQ_REPOSITORY_ELEMENT)) {
        if (node instanceof DBCatalogRepNode) {
            imageName = ImageLib.CATALOG;
        } else if (node instanceof DBSchemaRepNode) {
            imageName = ImageLib.SCHEMA;
        } else if (node instanceof DBTableFolderRepNode) {
            imageName = ImageLib.FOLDERNODE_IMAGE;
        } else if (node instanceof DBViewFolderRepNode) {
            imageName = ImageLib.FOLDERNODE_IMAGE;
        } else if (node instanceof DBTableRepNode || node instanceof DFTableRepNode) {
            imageName = ImageLib.TABLE;
        } else if (node instanceof DBViewRepNode) {
            imageName = ImageLib.VIEW;
        } else if (node instanceof DBColumnRepNode) {
            if (((DBColumnRepNode) node).isKey()) {
                imageName = ImageLib.PK_COLUMN;
            } else {
                imageName = ImageLib.TD_COLUMN;
            }
        } else if (node instanceof DFColumnRepNode) {
            imageName = ImageLib.TD_COLUMN;
        } else if (node instanceof DBColumnFolderRepNode || node instanceof DFColumnFolderRepNode) {
            imageName = ImageLib.FOLDERNODE_IMAGE;
        }
    }
    return imageName;
}
Also used : DBConnectionRepNode(org.talend.dq.nodes.DBConnectionRepNode) DBColumnRepNode(org.talend.dq.nodes.DBColumnRepNode) SourceFileRepNode(org.talend.dq.nodes.SourceFileRepNode) DBViewFolderRepNode(org.talend.dq.nodes.DBViewFolderRepNode) DBCatalogRepNode(org.talend.dq.nodes.DBCatalogRepNode) ReportRepNode(org.talend.dq.nodes.ReportRepNode) ExchangeComponentRepNode(org.talend.dataprofiler.core.ui.exchange.ExchangeComponentRepNode) SysIndicatorDefinitionRepNode(org.talend.dq.nodes.SysIndicatorDefinitionRepNode) DFTableRepNode(org.talend.dq.nodes.DFTableRepNode) DBConnectionFolderRepNode(org.talend.dq.nodes.DBConnectionFolderRepNode) DBViewRepNode(org.talend.dq.nodes.DBViewRepNode) PatternRepNode(org.talend.dq.nodes.PatternRepNode) DBTableFolderRepNode(org.talend.dq.nodes.DBTableFolderRepNode) DFColumnFolderRepNode(org.talend.dq.nodes.DFColumnFolderRepNode) DBSchemaRepNode(org.talend.dq.nodes.DBSchemaRepNode) RuleRepNode(org.talend.dq.nodes.RuleRepNode) JrxmlTempleteRepNode(org.talend.dq.nodes.JrxmlTempleteRepNode) RecycleBinRepNode(org.talend.dq.nodes.RecycleBinRepNode) DBColumnFolderRepNode(org.talend.dq.nodes.DBColumnFolderRepNode) DFColumnRepNode(org.talend.dq.nodes.DFColumnRepNode) DBTableRepNode(org.talend.dq.nodes.DBTableRepNode) ReportAnalysisRepNode(org.talend.dq.nodes.ReportAnalysisRepNode) AnalysisRepNode(org.talend.dq.nodes.AnalysisRepNode) ExchangeCategoryRepNode(org.talend.dataprofiler.core.ui.exchange.ExchangeCategoryRepNode) DFConnectionRepNode(org.talend.dq.nodes.DFConnectionRepNode) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ENodeType(org.talend.repository.model.IRepositoryNode.ENodeType) ReportAnalysisRepNode(org.talend.dq.nodes.ReportAnalysisRepNode)

Example 8 with DBTableRepNode

use of org.talend.dq.nodes.DBTableRepNode in project tdq-studio-se by Talend.

the class CreateAnalysisOnHDFSAction method run.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.jface.action.Action#run()
     */
@Override
public void run() {
    DBTableRepNode newTableNode = openCreateHiveTable();
    if (newTableNode != null) {
        List<IRepositoryNode> allColumns = newTableNode.getAllColumns();
        TreePath[] paths = new TreePath[allColumns.size()];
        int i = 0;
        for (IRepositoryNode column : allColumns) {
            paths[i++] = new TreePath(new Object[] { column });
        }
        CreateColumnAnalysisAction analysisAction = new CreateColumnAnalysisAction();
        analysisAction.setSelection(new TreeSelection(paths));
        analysisAction.run();
    }
}
Also used : DBTableRepNode(org.talend.dq.nodes.DBTableRepNode) IRepositoryNode(org.talend.repository.model.IRepositoryNode) TreePath(org.eclipse.jface.viewers.TreePath) CreateColumnAnalysisAction(org.talend.dataprofiler.core.ui.action.actions.predefined.CreateColumnAnalysisAction) TreeSelection(org.eclipse.jface.viewers.TreeSelection)

Example 9 with DBTableRepNode

use of org.talend.dq.nodes.DBTableRepNode in project tdq-studio-se by Talend.

the class ColumnsSelectionDialog method addCheckedListener.

/*
     * (non-Javadoc)
     * 
     * @seeorg.talend.dataprofiler.core.ui.dialog.TwoPartCheckSelectionDialog# addCheckedListener()
     */
@Override
protected void addCheckedListener() {
    // When user checks a checkbox in the tree, check all its children
    getTreeViewer().addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            // Added TDQ-8718 20140506 yyin: should not load from db when checking
            DQDBFolderRepositoryNode.setCallingFromColumnDialog(true);
            DQDBFolderRepositoryNode.setLoadDBFromDialog(false);
            try {
                ColumnSelectionViewer columnViewer = (ColumnSelectionViewer) event.getSource();
                TreePath treePath = new TreePath(new Object[] { event.getElement() });
                columnViewer.setSelection(new TreeSelection(treePath));
                setOutput(event.getElement());
                RepositoryNode selectedNode = (RepositoryNode) event.getElement();
                if (selectedNode instanceof DBTableRepNode || selectedNode instanceof DBViewRepNode || selectedNode instanceof DFTableRepNode) {
                    handleTreeElementsChecked(selectedNode, event.getChecked());
                } else {
                    checkChildrenElements(selectedNode, event.getChecked());
                }
                getTreeViewer().setSubtreeChecked(event.getElement(), event.getChecked());
                updateStatusBySelection();
            } finally {
                // Added TDQ-8718 20140506 yyin
                DQDBFolderRepositoryNode.setCallingFromColumnDialog(false);
                DQDBFolderRepositoryNode.setLoadDBFromDialog(true);
            }
        }

        private void checkChildrenElements(RepositoryNode repNode, Boolean checkedFlag) {
            Set<?> keySet = modelElementCheckedMap.keySet();
            RepositoryNode[] repNodeArray = (RepositoryNode[]) modelElementCheckedMap.keySet().toArray(new RepositoryNode[keySet.size()]);
            for (RepositoryNode reposNode : repNodeArray) {
                RepositoryNode parentNode = reposNode.getParent();
                while (parentNode != null) {
                    if (repNode.equals(parentNode)) {
                        handleTreeElementsChecked(reposNode, checkedFlag);
                        break;
                    } else {
                        parentNode = parentNode.getParent();
                    }
                }
            }
        }
    });
    getTableViewer().addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            handleTableElementsChecked((RepositoryNode) event.getElement(), event.getChecked());
            updateStatusBySelection();
        }
    });
}
Also used : DBTableRepNode(org.talend.dq.nodes.DBTableRepNode) Set(java.util.Set) TreePath(org.eclipse.jface.viewers.TreePath) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) TreeSelection(org.eclipse.jface.viewers.TreeSelection) DFTableRepNode(org.talend.dq.nodes.DFTableRepNode) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent) RepositoryNode(org.talend.repository.model.RepositoryNode) DQDBFolderRepositoryNode(org.talend.dq.nodes.DQDBFolderRepositoryNode) IRepositoryNode(org.talend.repository.model.IRepositoryNode) DBViewRepNode(org.talend.dq.nodes.DBViewRepNode)

Example 10 with DBTableRepNode

use of org.talend.dq.nodes.DBTableRepNode in project tdq-studio-se by Talend.

the class ColumnsSelectionDialog method getAllCheckedTableNodes.

/**
 * Compute the checked Table Nodes.
 *
 * @param repNodeArray
 * @return
 */
private List<RepositoryNode> getAllCheckedTableNodes() {
    Set<?> keySet = modelElementCheckedMap.keySet();
    RepositoryNode[] tableNodesFromMap = keySet.toArray(new RepositoryNode[keySet.size()]);
    List<RepositoryNode> allcheckedTableNodes = new ArrayList<RepositoryNode>();
    for (Object checkElement : this.getTreeViewer().getCheckedElements()) {
        if ((checkElement instanceof DBTableRepNode || checkElement instanceof DBViewRepNode || checkElement instanceof DFTableRepNode) && ((RepositoryNode) checkElement).getId() != null) {
            allcheckedTableNodes.add((RepositoryNode) checkElement);
        }
    }
    for (RepositoryNode node : tableNodesFromMap) {
        if (node.getId() == null) {
            continue;
        }
        if (!allcheckedTableNodes.contains(node)) {
            allcheckedTableNodes.add(node);
        }
    }
    return allcheckedTableNodes;
}
Also used : DBTableRepNode(org.talend.dq.nodes.DBTableRepNode) ArrayList(java.util.ArrayList) DFTableRepNode(org.talend.dq.nodes.DFTableRepNode) RepositoryNode(org.talend.repository.model.RepositoryNode) DQDBFolderRepositoryNode(org.talend.dq.nodes.DQDBFolderRepositoryNode) IRepositoryNode(org.talend.repository.model.IRepositoryNode) DBViewRepNode(org.talend.dq.nodes.DBViewRepNode)

Aggregations

DBTableRepNode (org.talend.dq.nodes.DBTableRepNode)31 DBViewRepNode (org.talend.dq.nodes.DBViewRepNode)21 IRepositoryNode (org.talend.repository.model.IRepositoryNode)18 ArrayList (java.util.ArrayList)13 RepositoryNode (org.talend.repository.model.RepositoryNode)12 DFTableRepNode (org.talend.dq.nodes.DFTableRepNode)11 DBColumnRepNode (org.talend.dq.nodes.DBColumnRepNode)9 TreeSelection (org.eclipse.jface.viewers.TreeSelection)8 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)7 TdTable (org.talend.cwm.relational.TdTable)6 DBCatalogRepNode (org.talend.dq.nodes.DBCatalogRepNode)6 DBConnectionRepNode (org.talend.dq.nodes.DBConnectionRepNode)6 DBSchemaRepNode (org.talend.dq.nodes.DBSchemaRepNode)6 DFColumnRepNode (org.talend.dq.nodes.DFColumnRepNode)6 List (java.util.List)5 Test (org.junit.Test)5 PatternRepNode (org.talend.dq.nodes.PatternRepNode)5 SysIndicatorDefinitionRepNode (org.talend.dq.nodes.SysIndicatorDefinitionRepNode)5 TreeItem (org.eclipse.swt.widgets.TreeItem)4 DBColumnFolderRepNode (org.talend.dq.nodes.DBColumnFolderRepNode)4