Search in sources :

Example 1 with CustomerDefaultCategoryDataset

use of org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset in project tdq-studio-se by Talend.

the class FunctionalDependencyAnalysisResultPage method createTable.

/**
 * DOC xqliu Comment method "createTable".
 *
 * @param composite
 */
private void createTable(Composite composite) {
    final TableViewer tableViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    Table resultTable = tableViewer.getTable();
    resultTable.setLinesVisible(true);
    resultTable.setHeaderVisible(true);
    // create table headers
    TableStructureEntity tableStructure = getTableStructure();
    String[] fieldNames = tableStructure.getFieldNames();
    Integer[] fieldWidths = tableStructure.getFieldWidths();
    for (int i = 0; i < fieldNames.length; ++i) {
        TableColumn columnHeader = new TableColumn(resultTable, SWT.LEFT);
        columnHeader.setText(fieldNames[i]);
        columnHeader.setWidth(fieldWidths[i]);
    }
    // create table items
    CustomerDefaultCategoryDataset dataset = initCustomerDataset();
    ChartDataEntity[] dataEntities = dataset.getDataEntities();
    if (dataEntities != null) {
        // MOD mzhao bug 8839 There might be duplicate dependencies on left and right columnSet.
        if (canShowChartForResultPage() && TOPChartUtils.getInstance().getColumnCount(dataset.getDataset()) < dataEntities.length) {
            // $NON-NLS-1$
            MessageDialog.openError(// $NON-NLS-1$
            this.getEditor().getSite().getShell(), // $NON-NLS-1$
            "Duplicate dependencies", // $NON-NLS-1$
            "There might be duplicate dependencies on left and right columnSet.");
        } else {
            for (ChartDataEntity dataEntity : dataEntities) {
                TableItem item = new TableItem(resultTable, SWT.NULL);
                String numMatch = ((PatternChartDataEntity) dataEntity).getNumMatch();
                String numNoMatch = ((PatternChartDataEntity) dataEntity).getNumNoMatch();
                Number match = Long.parseLong(numMatch);
                Number notMatch = Long.parseLong(numNoMatch);
                Number row = match.intValue() + notMatch.intValue();
                item.setText(0, dataEntity.getLabel());
                item.setText(1, String.valueOf(match.intValue()));
                // TDQ-8695 display "N/A" if it is infinite or NaN
                double percentage = match.doubleValue() / row.doubleValue();
                if (Double.isNaN(percentage) || Double.isInfinite(percentage)) {
                    item.setText(2, PluginConstant.NA_STRING);
                } else {
                    item.setText(2, StringFormatUtil.format(String.valueOf(percentage), StringFormatUtil.PERCENT).toString());
                }
                item.setText(3, String.valueOf(row));
                item.setData(dataEntity);
            }
        }
    }
    GridData gd = new GridData();
    gd.heightHint = 180;
    gd.widthHint = 450;
    resultTable.setLayoutData(gd);
    // add menus
    ChartTableFactory.addMenuAndTip(tableViewer, new ColumnDependencyExplorer(), this.masterPage.getCurrentModelElement());
}
Also used : Table(org.eclipse.swt.widgets.Table) TableItem(org.eclipse.swt.widgets.TableItem) TableStructureEntity(org.talend.dataprofiler.core.ui.editor.preview.model.entity.TableStructureEntity) PatternChartDataEntity(org.talend.dq.indicators.preview.table.PatternChartDataEntity) ChartDataEntity(org.talend.dq.indicators.preview.table.ChartDataEntity) TableColumn(org.eclipse.swt.widgets.TableColumn) CustomerDefaultCategoryDataset(org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset) PatternChartDataEntity(org.talend.dq.indicators.preview.table.PatternChartDataEntity) GridData(org.eclipse.swt.layout.GridData) ColumnDependencyExplorer(org.talend.dq.analysis.explore.ColumnDependencyExplorer) TableViewer(org.eclipse.jface.viewers.TableViewer)

Example 2 with CustomerDefaultCategoryDataset

use of org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset in project tdq-studio-se by Talend.

the class FunctionalDependencyAnalysisResultPage method initCustomerDataset.

/**
 * DOC xqliu Comment method "initCustomerDataset".
 *
 * @return
 */
private CustomerDefaultCategoryDataset initCustomerDataset() {
    CustomerDefaultCategoryDataset dataset = new CustomerDefaultCategoryDataset();
    Analysis analysis = this.getAnalysisHandler().getAnalysis();
    for (Indicator indicator2 : analysis.getResults().getIndicators()) {
        ColumnDependencyIndicator indicator = (ColumnDependencyIndicator) indicator2;
        String label = ColumnDependencyHelper.getIndicatorName(indicator);
        if (getAnalysisHandler().getResultMetadata().getExecutionNumber() > 0) {
            Long matchCount = indicator.getDistinctACount() == null ? 0 : indicator.getDistinctACount();
            Long notMatchCount = indicator.getACount() == null ? 0 : indicator.getACount() - matchCount;
            // $NON-NLS-1$
            dataset.addValue(matchCount, DefaultMessagesImpl.getString("ColumnDependencyResultPage.Match"), label);
            // $NON-NLS-1$
            dataset.addValue(notMatchCount, DefaultMessagesImpl.getString("ColumnDependencyResultPage.NotMatch"), label);
            PatternChartDataEntity dataEntity = new PatternChartDataEntity();
            dataEntity.setLabel(label);
            dataEntity.setIndicator(indicator);
            dataEntity.setNumMatch(matchCount.toString());
            dataEntity.setNumNoMatch(notMatchCount.toString());
            dataset.addDataEntity(dataEntity);
        }
    }
    return dataset;
}
Also used : ColumnDependencyIndicator(org.talend.dataquality.indicators.columnset.ColumnDependencyIndicator) PatternChartDataEntity(org.talend.dq.indicators.preview.table.PatternChartDataEntity) Analysis(org.talend.dataquality.analysis.Analysis) CustomerDefaultCategoryDataset(org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset) Indicator(org.talend.dataquality.indicators.Indicator) ColumnDependencyIndicator(org.talend.dataquality.indicators.columnset.ColumnDependencyIndicator)

Example 3 with CustomerDefaultCategoryDataset

use of org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset in project tdq-studio-se by Talend.

the class ModeStatisticsState method getCustomerDataset.

public ICustomerDataset getCustomerDataset() {
    CustomerDefaultCategoryDataset customerdataset = new CustomerDefaultCategoryDataset();
    for (IndicatorUnit unit : units) {
        ChartDataEntity entity = ModeStatisticsStateUtil.createDataEntity(unit, unit.getIndicatorName());
        customerdataset.addDataEntity(entity);
    }
    return customerdataset;
}
Also used : IndicatorUnit(org.talend.dataprofiler.core.ui.editor.preview.IndicatorUnit) ChartDataEntity(org.talend.dq.indicators.preview.table.ChartDataEntity) CustomerDefaultCategoryDataset(org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset)

Example 4 with CustomerDefaultCategoryDataset

use of org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset in project tdq-studio-se by Talend.

the class PhoneNumbStatisticsState method getCustomerDataset.

/*
     * (non-Jsdoc)
     * 
     * @see org.talend.dataprofiler.core.ui.editor.preview.model.states.IChartTypeStates#getCustomerDataset()
     */
public ICustomerDataset getCustomerDataset() {
    CustomerDefaultCategoryDataset customerdataset = new CustomerDefaultCategoryDataset();
    for (IndicatorUnit unit : units) {
        String value = CommonStateUtil.getUnitValue(unit.getValue(), StringFormatUtil.DOUBLE_NUMBER);
        String label = unit.getIndicatorName();
        customerdataset.addValue(Double.parseDouble(value), label, label);
        ChartDataEntity entity = PhoneNumbStatisticsStateUtil.createDataEntity(unit.getIndicator(), value, label);
        customerdataset.addDataEntity(entity);
    }
    return customerdataset;
}
Also used : IndicatorUnit(org.talend.dataprofiler.core.ui.editor.preview.IndicatorUnit) ChartDataEntity(org.talend.dq.indicators.preview.table.ChartDataEntity) CustomerDefaultCategoryDataset(org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset)

Example 5 with CustomerDefaultCategoryDataset

use of org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset in project tdq-studio-se by Talend.

the class SimpleRuleStatisticsChartState method getCustomerDataset.

public ICustomerDataset getCustomerDataset() {
    CustomerDefaultCategoryDataset customerdataset = new CustomerDefaultCategoryDataset();
    for (TableIndicatorUnit unit : units) {
        String value = CommonStateUtil.getUnitValue(unit.getValue(), StringFormatUtil.DOUBLE_NUMBER);
        String label = unit.getIndicatorName();
        // $NON-NLS-1$
        customerdataset.addValue(Double.parseDouble(value), label, "");
        ChartDataEntity entity = CommonStateUtil.createDataEntity(unit, value, label);
        customerdataset.addDataEntity(entity);
    }
    return customerdataset;
}
Also used : TableIndicatorUnit(org.talend.dataprofiler.core.ui.editor.preview.TableIndicatorUnit) ChartDataEntity(org.talend.dq.indicators.preview.table.ChartDataEntity) CustomerDefaultCategoryDataset(org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset)

Aggregations

CustomerDefaultCategoryDataset (org.talend.dataprofiler.common.ui.editor.preview.CustomerDefaultCategoryDataset)20 ChartDataEntity (org.talend.dq.indicators.preview.table.ChartDataEntity)12 IndicatorUnit (org.talend.dataprofiler.core.ui.editor.preview.IndicatorUnit)10 FrequencyExt (org.talend.dq.indicators.ext.FrequencyExt)5 PatternChartDataEntity (org.talend.dq.indicators.preview.table.PatternChartDataEntity)4 TableIndicatorUnit (org.talend.dataprofiler.core.ui.editor.preview.TableIndicatorUnit)3 ArrayList (java.util.ArrayList)2 ColumnDependencyExplorer (org.talend.dq.analysis.explore.ColumnDependencyExplorer)2 HashMap (java.util.HashMap)1 List (java.util.List)1 TableViewer (org.eclipse.jface.viewers.TableViewer)1 GridData (org.eclipse.swt.layout.GridData)1 Table (org.eclipse.swt.widgets.Table)1 TableColumn (org.eclipse.swt.widgets.TableColumn)1 TableItem (org.eclipse.swt.widgets.TableItem)1 Test (org.junit.Test)1 ICustomerDataset (org.talend.dataprofiler.common.ui.editor.preview.ICustomerDataset)1 TableWithData (org.talend.dataprofiler.core.ui.editor.preview.model.TableWithData)1 CustomerDefaultBAWDataset (org.talend.dataprofiler.core.ui.editor.preview.model.dataset.CustomerDefaultBAWDataset)1 TableStructureEntity (org.talend.dataprofiler.core.ui.editor.preview.model.entity.TableStructureEntity)1