Search in sources :

Example 26 with Domain

use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.

the class IndicatorHelper method setDataDomainInIndicatorParameter.

public static void setDataDomainInIndicatorParameter(IndicatorParameters parameters, String min, String max) {
    assert parameters != null;
    Domain validDomain = parameters.getDataValidDomain();
    if (validDomain == null) {
        // $NON-NLS-1$
        validDomain = DomainHelper.createDomain("Data Thresholds");
        parameters.setDataValidDomain(validDomain);
    }
    addThresholdToIndiParameterDomain(min, max, ThresholdType.VALUE_THRESHOLD, validDomain);
}
Also used : Domain(org.talend.dataquality.domain.Domain)

Example 27 with Domain

use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.

the class PatternIndicatorFactory method createRegexpMatchingIndicator.

/**
 * Method "createRegexpMatchingIndicator".
 *
 * @param pattern the pattern from which the RegexpMatchingIndicator is created
 * @return the new RegexpMatchingIndicator with the same name as the pattern
 */
public static RegexpMatchingIndicator createRegexpMatchingIndicator(Pattern pattern) {
    RegexpMatchingIndicator patternMatchingIndicator = IndicatorsFactory.eINSTANCE.createRegexpMatchingIndicator();
    IndicatorParameters indicParams = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
    Domain validData = DomainFactory.eINSTANCE.createDomain();
    validData.getPatterns().add(pattern);
    indicParams.setDataValidDomain(validData);
    patternMatchingIndicator.setParameters(indicParams);
    patternMatchingIndicator.setName(pattern.getName());
    return patternMatchingIndicator;
}
Also used : IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) RegexpMatchingIndicator(org.talend.dataquality.indicators.RegexpMatchingIndicator) Domain(org.talend.dataquality.domain.Domain)

Example 28 with Domain

use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.

the class PatternIndicatorFactory method createSqlPatternMatchingIndicator.

/**
 * Method "createSqlPatternMatchingIndicator".
 *
 * @param pattern the pattern from which the SqlPatternMatchingIndicator is created
 * @return the new SqlPatternMatchingIndicator with the same name as the pattern
 */
public static SqlPatternMatchingIndicator createSqlPatternMatchingIndicator(Pattern pattern) {
    SqlPatternMatchingIndicator patternMatchingIndicator = IndicatorsFactory.eINSTANCE.createSqlPatternMatchingIndicator();
    IndicatorParameters indicParams = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
    Domain validData = DomainFactory.eINSTANCE.createDomain();
    validData.getPatterns().add(pattern);
    indicParams.setDataValidDomain(validData);
    patternMatchingIndicator.setParameters(indicParams);
    patternMatchingIndicator.setName(pattern.getName());
    return patternMatchingIndicator;
}
Also used : SqlPatternMatchingIndicator(org.talend.dataquality.indicators.SqlPatternMatchingIndicator) IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) Domain(org.talend.dataquality.domain.Domain)

Example 29 with Domain

use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.

the class DomainHelper method createContiguousClosedBinsIntoDomain.

/**
 * Method "createContiguousClosedBinsIntoDomain".
 *
 * @param domainName the domain name (can be null)
 * @param bins the "closed" bins (the first value of array is the beginning of the bins and the last value of the
 * array is the end of bins)
 * @return the new Domain
 */
public static Domain createContiguousClosedBinsIntoDomain(String domainName, double[] bins) {
    Domain domain = createDomain(domainName);
    for (int i = 0; i < bins.length - 1; i++) {
        double min = bins[i];
        double max = bins[i + 1];
        RangeRestriction rangeRestriction = createRealRangeRestriction(min, max);
        domain.getRanges().add(rangeRestriction);
    }
    return domain;
}
Also used : RangeRestriction(org.talend.dataquality.domain.RangeRestriction) Domain(org.talend.dataquality.domain.Domain)

Example 30 with Domain

use of org.talend.dataquality.domain.Domain in project tdq-studio-se by Talend.

the class DomainHelper method setDataFilterPattern.

/**
 * Method "setDataFilterPattern".
 *
 * @param dataFilters a list of data filters
 * @param type
 * @param domainName
 * @param filterPattern
 * @return
 */
private static Domain setDataFilterPattern(final Collection<Domain> dataFilters, PatternType type, DomainType domainName, String filterPattern) {
    RegularExpression filterExpr = BooleanExpressionHelper.createRegularExpression(null, filterPattern);
    for (Domain domain : dataFilters) {
        if (!domainName.label.equals(domain.getName())) {
            continue;
        }
        boolean exists = false;
        EList<Pattern> patterns = domain.getPatterns();
        for (Pattern pattern : patterns) {
            if (type.label.equals(pattern.getName())) {
                exists = true;
                // remove previous expressions
                pattern.getComponents().clear();
                pattern.getComponents().add(filterExpr);
            }
        }
        if (!exists) {
            // create pattern and set into the data filter
            addPatternToDomain(domain, filterExpr, filterPattern, type);
        }
        return domain;
    }
    // no data filter has not been set yet
    Domain domain = DomainFactory.eINSTANCE.createDomain();
    dataFilters.add(domain);
    domain.setName(domainName.label);
    addPatternToDomain(domain, filterExpr, filterPattern, type);
    return domain;
}
Also used : RegularExpression(org.talend.dataquality.domain.pattern.RegularExpression) Pattern(org.talend.dataquality.domain.pattern.Pattern) 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