package org.talend.dq.analysis.explore;
import org.eclipse.emf.common.util.EList;
import orgomg.cwm.objectmodel.core.Expression;
public class RegexPatternExplorer extends PatternExplorer {
@Override
protected void initRegularExpressionParameter() {
// MOD gdbu 2011-12-5 TDQ-4087 get function name from sql sentence when use MSSQL
EList<Expression> instantiatedExpressions = indicator.getInstantiatedExpressions();
if (instantiatedExpressions.size() > 0) {
Expression expression = instantiatedExpressions.get(0);
String regexp = dbmsLanguage.getRegexPatternString(indicator);
dbmsLanguage.setRegularExpressionFunction(dbmsLanguage.extractRegularExpressionFunction(expression, regexp));
dbmsLanguage.setFunctionReturnValue(dbmsLanguage.extractRegularExpressionFunctionReturnValue(expression, regexp));
}
}
@Override
protected String getRegexNotLike(String regexPatternString) {
return dbmsLanguage.regexNotLike(columnName, regexPatternString)+ dbmsLanguage.getFunctionReturnValue();
}
@Override
protected String getRegexLike(String regexPatternString) {
return dbmsLanguage.regexLike(columnName, regexPatternString)+ dbmsLanguage.getFunctionReturnValue();
}
}