use of org.talend.dq.analysis.explore.ColumnDependencyExplorer 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());
}
use of org.talend.dq.analysis.explore.ColumnDependencyExplorer in project tdq-studio-se by Talend.
the class FunctionalDependencyAnalysisResultPage method createChart.
/**
* DOC jet create result chart.
* <p>
* the chart must include
*
* @param sectionClient
* @param analysis
*/
private void createChart(Composite sectionClient, Analysis analysis) {
CustomerDefaultCategoryDataset dataset = initCustomerDataset();
Object createChart = TOPChartUtils.getInstance().createStackedBarChart(DefaultMessagesImpl.getString("ColumnDependencyResultPage.dependencyStrength"), dataset, true, // $NON-NLS-1$
true);
TOPChartUtils.getInstance().decorateColumnDependency(createChart);
Object chartComp = TOPChartUtils.getInstance().createChartComposite(sectionClient, SWT.NONE, createChart, true);
addMenuToChartComp(chartComp, new ColumnDependencyExplorer(), getAnalysisHandler().getAnalysis(), ((ICustomerDataset) dataset).getDataEntities());
}
Aggregations