use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class RegexpMatchingIndicatorImplTest method testGetRegexWithDefaultSQLWhenNoJava.
/**
* Test method for {@link org.talend.dataquality.indicators.impl.RegexpMatchingIndicatorImpl#getJavaRegex()}.
*/
@Test
public void testGetRegexWithDefaultSQLWhenNoJava() {
// RegexpMatchingIndicator
RegexpMatchingIndicator createRegexpMatchingIndicator = IndicatorsFactory.eINSTANCE.createRegexpMatchingIndicator();
// ~RegexpMatchingIndicator
// IndicatorParameters
IndicatorParameters createIndicatorParameters = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
// ~IndicatorParameters
// Domain
Domain createDomain = DomainFactory.eINSTANCE.createDomain();
EList<Pattern> patterns = createDomain.getPatterns();
// ~Domain
// Pattern
Pattern createSQLPattern = PatternFactory.eINSTANCE.createPattern();
Pattern createMSSQLPattern = PatternFactory.eINSTANCE.createPattern();
patterns.add(createSQLPattern);
patterns.add(createMSSQLPattern);
// ~Pattern
// init default:SQL Pattern data
RegularExpression createDefaultExpression = PatternFactory.eINSTANCE.createRegularExpression();
TdExpression createDefaultTdExpression = RelationalFactory.eINSTANCE.createTdExpression();
createDefaultTdExpression.setBody("'sql body'");
createDefaultTdExpression.setLanguage("SQL");
createDefaultExpression.setExpression(createDefaultTdExpression);
createDefaultExpression.setExpressionType(ExpressionType.REGEXP.getLiteral());
EList<PatternComponent> components = createSQLPattern.getComponents();
components.add(createDefaultExpression);
// ~init default Pattern data
createIndicatorParameters.setDataValidDomain(createDomain);
createRegexpMatchingIndicator.setParameters(createIndicatorParameters);
// call getRegex()
String regexResult = createRegexpMatchingIndicator.getRegex();
// ~call getRegex()
Assert.assertTrue("sql body".equalsIgnoreCase(regexResult));
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class BinFrequencyIndicatorImplTest method testGetGroupLabel_1.
/**
* Test method for
* {@link org.talend.dataquality.indicators.impl.BinFrequencyIndicatorImpl#getFormatName(java.lang.Object)}. the
* domain parameter is set in this case.
*/
@Test
public void testGetGroupLabel_1() {
init();
IndicatorParameters parameters = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
// $NON-NLS-1$
Domain domain = DomainHelper.createContiguousClosedBinsIntoDomain("test", 2, 1, 9);
parameters.setBins(domain);
binFreqIndicator.setParameters(parameters);
binFreqIndicator.reset();
int i = 1;
String formatName = binFreqIndicator.getGroupLabel(i);
assertEquals(formatName, "id >= 1.0 AND id < 5.0");
i = 6;
formatName = binFreqIndicator.getGroupLabel(i);
assertEquals(formatName, "id >= 5.0 AND id < 9.0");
i = 12;
formatName = binFreqIndicator.getGroupLabel(i);
assertNull(formatName);
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class AbstractColumnDropTree method hasIndicatorParameters.
/**
* DOC msjian Comment method "hasIndicatorParameters".
*
* @param indicatorUnit
* @return
*/
private boolean hasIndicatorParameters(IndicatorUnit indicatorUnit) {
IndicatorParameters parameters = indicatorUnit.getIndicator().getParameters();
if (parameters == null) {
return false;
}
if (hideParameters(indicatorUnit)) {
return false;
}
if (indicatorUnit.getIndicator() instanceof FrequencyIndicator) {
// set on tree
if (parameters.getBins() == null) {
return false;
}
// ~
return true;
}
TextParameters tParameter = parameters.getTextParameter();
if (tParameter != null && !hideTextParameters(indicatorUnit)) {
return true;
}
DateParameters dParameters = parameters.getDateParameters();
if (dParameters != null) {
return true;
}
Domain indicatorValidDomain = parameters.getIndicatorValidDomain();
if (indicatorValidDomain != null) {
if (indicatorValidDomain.getRanges() != null && !indicatorValidDomain.getRanges().isEmpty()) {
return true;
}
}
Domain bins = parameters.getBins();
if (bins != null) {
return true;
}
return false;
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class IndicatorsComp method hasIndicatorParameters.
private boolean hasIndicatorParameters(Indicator indicator) {
IndicatorParameters parameters = indicator.getParameters();
if (parameters == null) {
return false;
}
Domain indicatorValidDomain = parameters.getIndicatorValidDomain();
if (indicatorValidDomain != null) {
return true;
}
return false;
}
use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.
the class SummaryStastictisExplorer method getInvalidRowsStatement.
/**
* zqin use this method in a menu ".
*
* View invalid rows" Method "getInvalidRowsStatement".
*
* @return the query to get the invalid rows (or null when all rows are valid)
*/
private String getInvalidRowsStatement() {
double value = Double.valueOf(entity.getValue());
String whereClause = null;
TdColumn column = (TdColumn) indicator.getAnalyzedElement();
IndicatorParameters parameters = indicator.getParameters();
if (parameters != null) {
String where1 = null;
Domain domain = parameters.getIndicatorValidDomain();
if (domain != null) {
where1 = getWhereInvalidClause(value, domain);
}
String where2 = null;
domain = parameters.getDataValidDomain();
if (domain != null) {
where2 = getWhereInvalidClause(value, domain);
}
if (where1 != null) {
whereClause = where1;
if (where2 != null) {
whereClause += dbmsLanguage.or() + where2;
}
} else if (where2 != null) {
whereClause = where2;
}
}
// add the data filter where clause
return whereClause != null ? SELECT_ALL + dbmsLanguage.from() + getFullyQualifiedTableName(column) + dbmsLanguage.where() + inBrackets(whereClause) + andDataFilterClause() : null;
}
Aggregations