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;
}
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;
}
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;
}
Aggregations