// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dq.indicators; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Set; import org.talend.dataquality.analysis.Analysis; import org.talend.dq.helper.SampleDataUtils; import org.talend.utils.sugars.ReturnCode; /** * DOC zshen class global comment. Detailled comment */ public class IndicatorEvaluatorWithSampleData extends IndicatorEvaluator { /** * DOC zshen IndicatorEvaluatorWithSampleData constructor comment. * * @param analysis */ public IndicatorEvaluatorWithSampleData(Analysis analysis) { super(analysis); } /* * (non-Javadoc) * * @see org.talend.dq.indicators.Evaluator#createStatement() */ @Override protected Statement createStatement() throws SQLException { return SampleDataUtils.getInstance().getSampleDataStatement(this.analysis); } /* * (non-Javadoc) * * @see org.talend.dq.indicators.Evaluator#selectCatalog(java.lang.String) */ @Override public boolean selectCatalog(String catalogName) { // there is sample data mode with java engin so that not need selectCatalog return true; } /* * (non-Javadoc) * * @see org.talend.dq.indicators.Evaluator#checkConnection() */ @Override protected ReturnCode checkConnection() { // sample data mode need to check connection return new ReturnCode(true); } /* * (non-Javadoc) * * @see org.talend.dq.indicators.IndicatorEvaluator#sortColumnName(java.util.Set, java.lang.String) */ @Override public List<String> sortColumnName(Set<String> columns, String sqlStatement) { // for sqlStatement.mssqlOdbc case need to be make sure it is work well List<String> columnNameList = new ArrayList<String>(); Iterator<String> iterator = columns.iterator(); while (iterator.hasNext()) { String next = iterator.next(); columnNameList.add(next); } return columnNameList; } }