use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class FunctionalDependencyAnalysisDetailsPage method saveAnalysis.
/*
* (non-Javadoc)
*
* @see org.talend.dataprofiler.core.ui.editor.analysis.AbstractAnalysisMetadataPage#saveAnalysis()
*/
@Override
protected void saveAnalysis() throws DataprofilerCoreException {
analysisHandler.changeDefaultRowLoaded(rowLoadedText.getText());
analysisHandler.changeSampleDataShowWay(sampleDataShowWayCombo.getText());
for (Domain domain : getCurrentModelElement().getParameters().getDataFilter()) {
domain.setName(getCurrentModelElement().getName());
}
IRepositoryViewObject reposObject = null;
getAnalysisHandler().clearAnalysis();
List<RepositoryNode> columnListAANode = anaColumnCompareViewer.getColumnListA();
List<RepositoryNode> columnListBBNode = anaColumnCompareViewer.getColumnListB();
AnalysisBuilder anaBuilder = new AnalysisBuilder();
anaBuilder.setAnalysis(getCurrentModelElement());
Connection tdDataProvider = null;
for (int i = 0; i < columnListAANode.size(); i++) {
if (columnListBBNode.size() > i) {
ColumnDependencyIndicator indicator = ColumnsetFactory.eINSTANCE.createColumnDependencyIndicator();
TdColumn columnA = (TdColumn) ((MetadataColumnRepositoryObject) columnListAANode.get(i).getObject()).getTdColumn();
TdColumn columnB = (TdColumn) ((MetadataColumnRepositoryObject) columnListBBNode.get(i).getObject()).getTdColumn();
indicator.setColumnA(columnA);
indicator.setColumnB(columnB);
indicator.setIndicatorDefinition(DefinitionHandler.getInstance().getFDRuleDefaultIndicatorDefinition());
getCurrentModelElement().getResults().getIndicators().add(indicator);
anaBuilder.addElementToAnalyze(columnA, indicator);
// ADD this line qiongli 2010-6-8
anaBuilder.addElementToAnalyze(columnB, indicator);
}
}
if (columnListAANode.size() > 0) {
reposObject = columnListAANode.get(0).getObject();
tdDataProvider = ((ConnectionItem) reposObject.getProperty().getItem()).getConnection();
// MOD qiongli bug 14437:Add dependency
getCurrentModelElement().getContext().setConnection(tdDataProvider);
TypedReturnCode<Dependency> rc = DependenciesHandler.getInstance().setDependencyOn(getCurrentModelElement(), tdDataProvider);
if (!rc.isOk()) {
// $NON-NLS-1$
log.info("fail to save dependency analysis:" + getCurrentModelElement().getFileName());
}
} else {
getCurrentModelElement().getContext().setConnection(null);
}
// save the number of connections per analysis
this.saveNumberOfConnectionsPerAnalysis();
// 2011.1.12 MOD by zhsne to unify anlysis and connection id when saving.
this.nameText.setText(getCurrentModelElement().getName());
// MOD yyi 2012-02-08 TDQ-4621:Explicitly set true for updating dependencies.
ReturnCode saved = ElementWriterFactory.getInstance().createAnalysisWrite().save(getCurrentRepNode().getObject().getProperty().getItem(), true);
// MOD yyi 2012-02-03 TDQ-3602:Avoid to rewriting all analyzes after saving, no reason to update all analyzes
// which is depended in the referred connection.
// Extract saving log function.
// @see org.talend.dataprofiler.core.ui.editor.analysis.AbstractAnalysisMetadataPage#logSaved(ReturnCode)
logSaved(saved);
anaColumnCompareViewer.setDirty(false);
dataFilterComp.setDirty(false);
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class AbstractFilterMetadataPage method saveAnalysis.
@Override
public void saveAnalysis() throws DataprofilerCoreException {
// ADD xqliu 2010-01-04 bug 10190
if (isConnectionAnalysis()) {
// MOD zshen 2010-03-19 bug 12041
AnalysisHelper.setReloadDatabases(getCurrentModelElement(), reloadDatabasesBtn.getSelection());
}
// ~
EList<Domain> dataFilters = getCurrentModelElement().getParameters().getDataFilter();
if (!this.tableFilterText.getText().equals(DomainHelper.getTablePattern(dataFilters))) {
DomainHelper.setDataFilterTablePattern(dataFilters, tableFilterText.getText());
latestTableFilterValue = this.tableFilterText.getText();
}
if (!this.viewFilterText.getText().equals(DomainHelper.getViewPattern(dataFilters))) {
DomainHelper.setDataFilterViewPattern(dataFilters, viewFilterText.getText());
latestViewFilterValue = this.viewFilterText.getText();
}
// save the number of connections per analysis
this.saveNumberOfConnectionsPerAnalysis();
// 2011.1.12 MOD by zhsne to unify anlysis and connection id when saving.
this.nameText.setText(getCurrentModelElement().getName());
// ~
// MOD yyi 2012-02-08 TDQ-4621:Explicitly set true for updating dependencies.
ReturnCode saved = ElementWriterFactory.getInstance().createAnalysisWrite().save(getCurrentRepNode().getObject().getProperty().getItem(), true);
// MOD yyi 2012-02-03 TDQ-3602:Avoid to rewriting all analyzes after saving, no reason to update all analyzes
// which is depended in the referred connection.
// Extract saving log function.
// @see org.talend.dataprofiler.core.ui.editor.analysis.AbstractAnalysisMetadataPage#logSaved(ReturnCode)
logSaved(saved);
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class AbstractFilterMetadataPage method createAnalysisParamSection.
/**
* create Analysis Param Section.
*/
private void createAnalysisParamSection() {
analysisParamSection = createSection(form, topComp, // $NON-NLS-1$
DefaultMessagesImpl.getString("ConnectionMasterDetailsPage.analysisParameter"));
Composite sectionClient = toolkit.createComposite(analysisParamSection);
sectionClient.setLayout(new GridLayout(1, false));
Composite comp1 = new Composite(sectionClient, SWT.NONE);
this.createAnalysisLimitComposite(comp1);
Composite comp2 = new Composite(sectionClient, SWT.NONE);
comp2.setLayout(new GridLayout(2, false));
GridDataFactory.fillDefaults().grab(true, true).applyTo(comp2);
Label tableFilterLabel = new Label(comp2, SWT.None);
// $NON-NLS-1$
tableFilterLabel.setText(DefaultMessagesImpl.getString("ConnectionMasterDetailsPage.filterOnTable"));
tableFilterLabel.setLayoutData(new GridData());
tableFilterText = new Text(comp2, SWT.BORDER);
EList<Domain> dataFilters = getCurrentModelElement().getParameters().getDataFilter();
String tablePattern = DomainHelper.getTablePattern(dataFilters);
latestTableFilterValue = tablePattern == null ? PluginConstant.EMPTY_STRING : tablePattern;
tableFilterText.setText(latestTableFilterValue);
// $NON-NLS-1$
tableFilterText.setToolTipText(DefaultMessagesImpl.getString("AbstractFilterMetadataPage.FilterTables"));
GridDataFactory.fillDefaults().grab(true, false).applyTo(tableFilterText);
tableFilterText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
setDirty(true);
}
});
Label viewFilterLabel = new Label(comp2, SWT.None);
// $NON-NLS-1$
viewFilterLabel.setText(DefaultMessagesImpl.getString("ConnectionMasterDetailsPage.filterOnView"));
viewFilterLabel.setLayoutData(new GridData());
viewFilterText = new Text(comp2, SWT.BORDER);
String viewPattern = DomainHelper.getViewPattern(dataFilters);
latestViewFilterValue = viewPattern == null ? PluginConstant.EMPTY_STRING : viewPattern;
viewFilterText.setText(latestViewFilterValue);
// $NON-NLS-1$
viewFilterText.setToolTipText(DefaultMessagesImpl.getString("AbstractFilterMetadataPage.FilterViews"));
GridDataFactory.fillDefaults().grab(true, false).applyTo(viewFilterText);
viewFilterText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
setDirty(true);
}
});
// ADD yyi 2011-05-31 16158:add whitespace check for text fields.
addWhitespaceValidate(tableFilterText, viewFilterText);
// ADD xqliu 2010-01-04 bug 10190
createReloadDatabasesButton(comp2);
// ~
analysisParamSection.setClient(sectionClient);
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class BinFrequencyIndicatorImpl method getGroupLabel.
/*
* (non-Javadoc)
*
* if the bin parameter is set,look range name as a new name.
*/
protected String getGroupLabel(Object name) {
if (name == null) {
return null;
}
if (parameters != null) {
Domain bins = parameters.getBins();
if (bins != null) {
EList<RangeRestriction> ranges = bins.getRanges();
for (RangeRestriction range : ranges) {
double minRealValue = DomainHelper.getRealValue(range.getLowerValue());
double maxRealValue = DomainHelper.getRealValue(range.getUpperValue());
double inputValue = Double.valueOf(name.toString());
if (minRealValue <= inputValue && inputValue < maxRealValue) {
return range.getName();
}
}
// if the data(name) is not in these ranges,return null and ignor it.
return null;
}
}
return name.toString();
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class IndicatorParametersImpl method basicSetDataValidDomain.
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public NotificationChain basicSetDataValidDomain(Domain newDataValidDomain, NotificationChain msgs) {
Domain oldDataValidDomain = dataValidDomain;
dataValidDomain = newDataValidDomain;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IndicatorsPackage.INDICATOR_PARAMETERS__DATA_VALID_DOMAIN, oldDataValidDomain, newDataValidDomain);
if (msgs == null) {
msgs = notification;
} else {
msgs.add(notification);
}
}
return msgs;
}
Aggregations