use of org.talend.dataquality.indicators.TextParameters in project tdq-studio-se by Talend.
the class ValidPhoneCountIndicatorImplTest method setUp.
@Before
public void setUp() throws Exception {
validPhoneCountIndicatorImpl = new ValidPhoneCountIndicatorImpl();
IndicatorParameters createIndicatorParameters = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
TextParameters textParameters = IndicatorsFactory.eINSTANCE.createTextParameters();
textParameters.setCountryCode(java.util.Locale.SIMPLIFIED_CHINESE.getCountry());
createIndicatorParameters.setTextParameter(textParameters);
validPhoneCountIndicatorImpl.setParameters(createIndicatorParameters);
}
use of org.talend.dataquality.indicators.TextParameters in project tdq-studio-se by Talend.
the class ColumnAnalysisSqlExecutor method createSqlQuery.
/**
* Method "createSqlQuery".
*
* @param dataFilterExpression
* @param analysis
* @param indicator
*
* @throws ParseException
* @throws AnalysisExecutionException
*/
private boolean createSqlQuery(String dataFilterAsString, Indicator indicator) throws AnalysisExecutionException {
TypedReturnCode<TdColumn> checkResult = getTdColumn(indicator);
if (!checkResult.isOk()) {
return false;
}
TdColumn tdColumn = checkResult.getObject();
if (tdColumn.eIsProxy()) {
tdColumn = (TdColumn) EObjectHelper.resolveObject(tdColumn);
}
TypedReturnCode<String> columnName = getColumnName(indicator, tdColumn);
if (!columnName.isOk()) {
return false;
}
String colName = columnName.getObject();
TypedReturnCode<IndicatorDefinition> id = getIndicatorDefinition(indicator);
if (!id.isOk()) {
return false;
}
IndicatorDefinition indicatorDefinition = id.getObject();
// get correct language for current database
String language = dbms().getDbmsName();
// --- create select statement
// get indicator's sql columnS (generate the real SQL statement from its definition)
Expression sqlGenericExpression = dbms().getSqlExpression(indicatorDefinition);
final EClass indicatorEclass = indicator.eClass();
if (sqlGenericExpression == null || sqlGenericExpression.getBody() == null) {
// analysis, will not check the sql expression and create again(from the definition).
if (UDIHelper.isUDI(indicator) && indicator.getInstantiatedExpressions().size() > 0) {
return Boolean.TRUE;
}
// expressions.
if (IndicatorsPackage.eINSTANCE.getRegexpMatchingIndicator().equals(indicatorEclass)) {
// $NON-NLS-1$
traceError(Messages.getString("ColumnAnalysisSqlExecutor.PLEASEREMOVEALLPATTEN"));
return Boolean.FALSE;
}
traceError(Messages.getString(// $NON-NLS-1$
"ColumnAnalysisSqlExecutor.UNSUPPORTEDINDICATOR", (indicator.getName() != null ? AnalysisExecutorHelper.getIndicatorName(indicator) : indicatorEclass.getName())));
return Boolean.FALSE;
}
// --- get indicator parameters and convert them into sql expression
List<String> whereExpression = new ArrayList<String>();
if (StringUtils.isNotBlank(dataFilterAsString)) {
whereExpression.add(dataFilterAsString);
}
List<String> rangeStrings = null;
DateGrain dateAggregationType = null;
IndicatorParameters parameters = indicator.getParameters();
if (parameters != null) {
// handle bins
Domain bins = parameters.getBins();
if (bins != null) {
rangeStrings = getBinsAsGenericString(bins.getRanges(), colName);
}
DateParameters dateParameters = parameters.getDateParameters();
if (dateParameters != null) {
dateAggregationType = dateParameters.getDateAggregationType();
}
TextParameters textParameter = parameters.getTextParameter();
if (textParameter != null) {
if (textParameter.isIgnoreCase()) {
colName = dbms().toUpperCase(colName);
}
if (!textParameter.isUseBlank() && IndicatorsPackage.eINSTANCE.getLengthIndicator().isSuperTypeOf(indicatorEclass)) {
String tdColName = getQuotedColumnName(tdColumn);
// $NON-NLS-1$
tdColName = dbms().replaceNullsWithString(tdColName, "'NULL TALEND'");
} else if (textParameter.isUseBlank() && IndicatorsPackage.eINSTANCE.getFrequencyIndicator().isSuperTypeOf(indicatorEclass)) {
colName = dbms().trim(colName);
}
}
}
TypedReturnCode<String> completedQuery = getCompletedQuery(indicator, tdColumn, colName, indicatorDefinition, language, sqlGenericExpression, indicatorEclass, whereExpression, rangeStrings, dateAggregationType);
if (!completedQuery.isOk()) {
return false;
}
String finalQuery = completedQuery.getObject();
if (finalQuery != null) {
TdExpression instantiateSqlExpression = BooleanExpressionHelper.createTdExpression(language, finalQuery);
indicator.setInstantiatedExpression(instantiateSqlExpression);
return true;
}
return false;
}
use of org.talend.dataquality.indicators.TextParameters in project tdq-studio-se by Talend.
the class AnalysisTableTreeViewer method hasIndicatorParameters.
/**
* DOC msjian Comment method "hasIndicatorParameters".
*
* @param indicatorUnit
* @return
*/
private boolean hasIndicatorParameters(TableIndicatorUnit indicatorUnit) {
IndicatorParameters parameters = indicatorUnit.getIndicator().getParameters();
if (parameters == null) {
return false;
}
if (indicatorUnit.getIndicator() instanceof FrequencyIndicator) {
return true;
}
TextParameters tParameter = parameters.getTextParameter();
if (tParameter != null) {
return true;
}
DateParameters dParameters = parameters.getDateParameters();
if (dParameters != null) {
return true;
}
Domain dataValidDomain = parameters.getDataValidDomain();
if (dataValidDomain != null) {
return true;
}
Domain indicatorValidDomain = parameters.getIndicatorValidDomain();
if (indicatorValidDomain != null) {
return true;
}
Domain bins = parameters.getBins();
if (bins != null) {
return true;
}
return false;
}
use of org.talend.dataquality.indicators.TextParameters in project tdq-studio-se by Talend.
the class TextLengthForm method initialize.
/*
* (non-Javadoc)
*
* @see org.talend.dataprofiler.core.ui.utils.AbstractForm#initialize()
*/
@Override
protected void initialize() {
TextParameters textParameter = parameters.getTextParameter();
if (textParameter != null) {
nullBtn.setSelection(textParameter.isUseNulls());
blankBtn.setSelection(textParameter.isUseBlank());
}
}
use of org.talend.dataquality.indicators.TextParameters in project tdq-studio-se by Talend.
the class TextLengthForm method performFinish.
@Override
public boolean performFinish() {
TextParameters textParameter = parameters.getTextParameter();
if (textParameter == null) {
textParameter = IndicatorsFactory.eINSTANCE.createTextParameters();
}
textParameter.setUseNulls(nullBtn.getSelection());
textParameter.setUseBlank(blankBtn.getSelection());
parameters.setTextParameter(textParameter);
return true;
}
Aggregations