Search in sources :

Example 11 with Domain

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));
}
Also used : Pattern(org.talend.dataquality.domain.pattern.Pattern) RegularExpression(org.talend.dataquality.domain.pattern.RegularExpression) TdExpression(org.talend.cwm.relational.TdExpression) IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) PatternComponent(org.talend.dataquality.domain.pattern.PatternComponent) RegexpMatchingIndicator(org.talend.dataquality.indicators.RegexpMatchingIndicator) Domain(org.talend.dataquality.domain.Domain) Test(org.junit.Test)

Example 12 with Domain

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);
}
Also used : IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) Domain(org.talend.dataquality.domain.Domain) Test(org.junit.Test)

Example 13 with Domain

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;
}
Also used : TextParameters(org.talend.dataquality.indicators.TextParameters) IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) DateParameters(org.talend.dataquality.indicators.DateParameters) Domain(org.talend.dataquality.domain.Domain) FrequencyIndicator(org.talend.dataquality.indicators.FrequencyIndicator)

Example 14 with Domain

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;
}
Also used : IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) Domain(org.talend.dataquality.domain.Domain)

Example 15 with Domain

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;
}
Also used : TdColumn(org.talend.cwm.relational.TdColumn) IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) Domain(org.talend.dataquality.domain.Domain)

Aggregations

Domain (org.talend.dataquality.domain.Domain)68 IndicatorParameters (org.talend.dataquality.indicators.IndicatorParameters)27 Pattern (org.talend.dataquality.domain.pattern.Pattern)16 RegularExpression (org.talend.dataquality.domain.pattern.RegularExpression)14 Expression (orgomg.cwm.objectmodel.core.Expression)14 TdColumn (org.talend.cwm.relational.TdColumn)13 TdExpression (org.talend.cwm.relational.TdExpression)13 RangeRestriction (org.talend.dataquality.domain.RangeRestriction)13 Test (org.junit.Test)12 Analysis (org.talend.dataquality.analysis.Analysis)12 ArrayList (java.util.ArrayList)10 ReturnCode (org.talend.utils.sugars.ReturnCode)9 Indicator (org.talend.dataquality.indicators.Indicator)6 PatternMatchingIndicator (org.talend.dataquality.indicators.PatternMatchingIndicator)6 IRepositoryNode (org.talend.repository.model.IRepositoryNode)6 ModelElement (orgomg.cwm.objectmodel.core.ModelElement)6 Connection (org.talend.core.model.metadata.builder.connection.Connection)5 DatabaseConnection (org.talend.core.model.metadata.builder.connection.DatabaseConnection)5 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)5 AnalysisContext (org.talend.dataquality.analysis.AnalysisContext)5