Search in sources :

Example 66 with Domain

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

the class DomainHelper method getPattern.

private static String getPattern(final Collection<Domain> dataFilters, DomainType domainType, PatternType patternType) {
    if (dataFilters == null) {
        return null;
    }
    for (Domain domain : dataFilters) {
        if (!domainType.label.equals(domain.getName())) {
            continue;
        }
        EList<Pattern> patterns = domain.getPatterns();
        for (Pattern pattern : patterns) {
            if (patternType.label.equals(pattern.getName())) {
                PatternComponent next = pattern.getComponents().iterator().next();
                if (next == null) {
                    continue;
                } else {
                    RegularExpression regexp = (RegularExpression) next;
                    Expression expression = regexp.getExpression();
                    if (expression != null) {
                        return expression.getBody();
                    }
                }
            }
        }
    }
    return null;
}
Also used : Pattern(org.talend.dataquality.domain.pattern.Pattern) RegularExpression(org.talend.dataquality.domain.pattern.RegularExpression) RegularExpression(org.talend.dataquality.domain.pattern.RegularExpression) Expression(orgomg.cwm.objectmodel.core.Expression) PatternComponent(org.talend.dataquality.domain.pattern.PatternComponent) Domain(org.talend.dataquality.domain.Domain)

Example 67 with Domain

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

the class PatternNode method getIndicatorInstance.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.dq.nodes.indicator.AbstractNode#getIndicatorInstance()
     */
@Override
public Indicator getIndicatorInstance() {
    Indicator patternIndicatorInstance = super.getIndicatorInstance();
    IndicatorParameters createIndicatorParameter = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
    Domain createDomain = DomainFactory.eINSTANCE.createDomain();
    createDomain.getPatterns().add(pattern);
    createIndicatorParameter.setDataValidDomain(createDomain);
    patternIndicatorInstance.setParameters(createIndicatorParameter);
    return patternIndicatorInstance;
}
Also used : IndicatorParameters(org.talend.dataquality.indicators.IndicatorParameters) Domain(org.talend.dataquality.domain.Domain) Indicator(org.talend.dataquality.indicators.Indicator)

Example 68 with Domain

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

the class AnalysisDuplicateHandle method update.

/*
     * (non-Javadoc)
     * 
     * @see
     * org.talend.dataprofiler.core.ui.action.actions.duplicate.DuplicateEMFResourceHandle#update(orgomg.cwm.objectmodel
     * .core.ModelElement, orgomg.cwm.objectmodel.core.ModelElement)
     */
@Override
protected ModelElement update(ModelElement oldObject, ModelElement newObject) {
    ModelElement tempObject = newObject;
    tempObject = super.update(oldObject, tempObject);
    // copy the client dependency if any
    newObject.getClientDependency().addAll(oldObject.getClientDependency());
    // Added yyin 2012-10-10 TDQ-6236, create a new domain instead of using the domain in the original object
    EList<Domain> dataFilters = ((Analysis) tempObject).getParameters().getDataFilter();
    if (!dataFilters.isEmpty()) {
        // if the old already be copied into the duplicated one, replace it with a new one
        // MOD msjian TDQ-6513 TDQ-5180 2013-1-4: fix duplicate action lost filters
        int dataFiltersSize = dataFilters.size();
        String tablePattern = DomainHelper.getTablePattern(dataFilters);
        String viewPattern = DomainHelper.getViewPattern(dataFilters);
        dataFilters.clear();
        for (int i = 0; i < dataFiltersSize; i++) {
            // $NON-NLS-1$
            Domain domain = DomainHelper.createDomain("Analysis Data Filter");
            dataFilters.add(domain);
            // except overview analysis, the data filter type is range
            String dataFilterStr = AnalysisHelper.getStringDataFilter((Analysis) oldObject, i);
            if (dataFilterStr != null) {
                AnalysisHelper.setStringDataFilter((Analysis) tempObject, dataFilterStr, i);
            }
        }
        // the overview analysis, the data filter type is pattern
        if (tablePattern != null) {
            DomainHelper.setDataFilterTablePattern(dataFilters, tablePattern);
        }
        if (viewPattern != null) {
            DomainHelper.setDataFilterViewPattern(dataFilters, viewPattern);
        }
    // TDQ-6513 TDQ-5180~
    }
    return tempObject;
}
Also used : ModelElement(orgomg.cwm.objectmodel.core.ModelElement) 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