Search in sources :

Example 1 with UpperQuartileIndicator

use of org.talend.dataquality.indicators.UpperQuartileIndicator in project tdq-studio-se by Talend.

the class SummaryStastictisExplorerRealTest method testGetQueryMap.

/**
 * Test method for {@link org.talend.dq.analysis.explore.SummaryStastictisExplorer#getQueryMap()}.
 */
@Test
public void testGetQueryMap() {
    // testing code for SQL Engine here
    SummaryStastictisExplorer summaryExplorerSql = new SummaryStastictisExplorer();
    Analysis analysisReal = AnalysisFactory.eINSTANCE.createAnalysis();
    AnalysisParameters analysisParametersReal = AnalysisFactory.eINSTANCE.createAnalysisParameters();
    analysisParametersReal.setExecutionLanguage(ExecutionLanguage.SQL);
    analysisReal.setParameters(analysisParametersReal);
    AnalysisContext analysisContextReal = AnalysisFactory.eINSTANCE.createAnalysisContext();
    DataManager dataManagerReal = SoftwaredeploymentFactory.eINSTANCE.createDataManager();
    analysisContextReal.setConnection(dataManagerReal);
    analysisReal.setContext(analysisContextReal);
    summaryExplorerSql.setAnalysis(analysisReal);
    TdColumn tdColumnReal = org.talend.cwm.relational.RelationalFactory.eINSTANCE.createTdColumn();
    TdTable tdTableReal = org.talend.cwm.relational.RelationalFactory.eINSTANCE.createTdTable();
    // $NON-NLS-1$
    tdTableReal.setName("tableName");
    tdColumnReal.setOwner(tdTableReal);
    // $NON-NLS-1$
    tdColumnReal.setName("id");
    TdSqlDataType tdsqlReal = org.talend.cwm.relational.RelationalFactory.eINSTANCE.createTdSqlDataType();
    // $NON-NLS-1$
    tdsqlReal.setName("Integer");
    tdColumnReal.setSqlDataType(tdsqlReal);
    // test for MeanIndicator
    MeanIndicator meanIndicator = IndicatorsFactory.eINSTANCE.createMeanIndicator();
    meanIndicator.setAnalyzedElement(tdColumnReal);
    IndicatorDefinition meanIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    meanIndicatorDef.setName("Mean");
    meanIndicator.setIndicatorDefinition(meanIndicatorDef);
    ChartDataEntity entityReal = new ChartDataEntity();
    // $NON-NLS-1$
    entityReal.setValue("0");
    entityReal.setIndicator(meanIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    Map<String, String> queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for MedianIndicator
    MedianIndicator medianIndicator = IndicatorsFactory.eINSTANCE.createMedianIndicator();
    medianIndicator.setAnalyzedElement(tdColumnReal);
    IndicatorDefinition medianIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    medianIndicatorDef.setName("Median");
    medianIndicator.setIndicatorDefinition(medianIndicatorDef);
    entityReal.setIndicator(medianIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 1);
    // test for IQRIndicator
    MaxValueIndicator maxValueIndicator = IndicatorsFactory.eINSTANCE.createMaxValueIndicator();
    // $NON-NLS-1$
    maxValueIndicator.setValue("80");
    IndicatorDefinition maxValueIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    maxValueIndicatorDef.setName("Maximum");
    maxValueIndicator.setIndicatorDefinition(maxValueIndicatorDef);
    MinValueIndicator minValueIndicator = IndicatorsFactory.eINSTANCE.createMinValueIndicator();
    // $NON-NLS-1$
    minValueIndicator.setValue("20");
    IndicatorDefinition minValueIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    minValueIndicatorDef.setName("Minimum");
    minValueIndicator.setIndicatorDefinition(minValueIndicatorDef);
    IQRIndicator iqrIndicator = IndicatorsFactory.eINSTANCE.createIQRIndicator();
    iqrIndicator.setUpperValue(maxValueIndicator);
    iqrIndicator.setLowerValue(minValueIndicator);
    iqrIndicator.setAnalyzedElement(tdColumnReal);
    IndicatorDefinition iqrIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    iqrIndicatorDef.setName("Inter Quartile Range");
    iqrIndicator.setIndicatorDefinition(iqrIndicatorDef);
    entityReal.setIndicator(iqrIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 2);
    // test for LowerQuartileIndicator
    LowerQuartileIndicator lowerQuartileIndicator = IndicatorsFactory.eINSTANCE.createLowerQuartileIndicator();
    lowerQuartileIndicator.setAnalyzedElement(tdColumnReal);
    IndicatorDefinition lowerQuartileIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    lowerQuartileIndicatorDef.setName("Lower Quartile");
    lowerQuartileIndicator.setIndicatorDefinition(lowerQuartileIndicatorDef);
    entityReal.setIndicator(lowerQuartileIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 1);
    // test for UpperQuartileIndicator
    UpperQuartileIndicator upperQuartileIndicator = IndicatorsFactory.eINSTANCE.createUpperQuartileIndicator();
    upperQuartileIndicator.setAnalyzedElement(tdColumnReal);
    IndicatorDefinition upperQuartileIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    upperQuartileIndicatorDef.setName("Upper Quartile");
    upperQuartileIndicator.setIndicatorDefinition(upperQuartileIndicatorDef);
    entityReal.setIndicator(upperQuartileIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 1);
    // test for RangeIndicator
    RangeIndicator rangeIndicator = IndicatorsFactory.eINSTANCE.createRangeIndicator();
    rangeIndicator.setUpperValue(maxValueIndicator);
    rangeIndicator.setLowerValue(minValueIndicator);
    rangeIndicator.setAnalyzedElement(tdColumnReal);
    IndicatorDefinition rangeIndicatorDef = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
    rangeIndicatorDef.setName("Range");
    rangeIndicator.setIndicatorDefinition(rangeIndicatorDef);
    entityReal.setIndicator(rangeIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 2);
    // test for MinValueIndicator
    minValueIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(minValueIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 1);
    // test for MaxValueIndicator
    maxValueIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(maxValueIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.size() == 1);
    // testing code for Java Engine here
    analysisParametersReal.setExecutionLanguage(ExecutionLanguage.JAVA);
    analysisReal.setParameters(analysisParametersReal);
    summaryExplorerSql.setAnalysis(analysisReal);
    // test for MeanIndicator
    meanIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(meanIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for MedianIndicator
    medianIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(medianIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for IQRIndicator
    iqrIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(iqrIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for LowerQuartileIndicator
    lowerQuartileIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(lowerQuartileIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for UpperQuartileIndicator
    upperQuartileIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(upperQuartileIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for RangeIndicator
    rangeIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(rangeIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for MinValueIndicator
    minValueIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(minValueIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
    // test for MaxValueIndicator
    maxValueIndicator.setAnalyzedElement(tdColumnReal);
    entityReal.setIndicator(maxValueIndicator);
    summaryExplorerSql.setEnitty(entityReal);
    queryMap = summaryExplorerSql.getQueryMap();
    Assert.assertTrue(queryMap.isEmpty());
}
Also used : TdTable(org.talend.cwm.relational.TdTable) MedianIndicator(org.talend.dataquality.indicators.MedianIndicator) IQRIndicator(org.talend.dataquality.indicators.IQRIndicator) DataManager(orgomg.cwm.foundation.softwaredeployment.DataManager) AnalysisContext(org.talend.dataquality.analysis.AnalysisContext) ChartDataEntity(org.talend.dq.indicators.preview.table.ChartDataEntity) TdSqlDataType(org.talend.cwm.relational.TdSqlDataType) IndicatorDefinition(org.talend.dataquality.indicators.definition.IndicatorDefinition) MaxValueIndicator(org.talend.dataquality.indicators.MaxValueIndicator) TdColumn(org.talend.cwm.relational.TdColumn) Analysis(org.talend.dataquality.analysis.Analysis) AnalysisParameters(org.talend.dataquality.analysis.AnalysisParameters) RangeIndicator(org.talend.dataquality.indicators.RangeIndicator) LowerQuartileIndicator(org.talend.dataquality.indicators.LowerQuartileIndicator) UpperQuartileIndicator(org.talend.dataquality.indicators.UpperQuartileIndicator) MeanIndicator(org.talend.dataquality.indicators.MeanIndicator) MinValueIndicator(org.talend.dataquality.indicators.MinValueIndicator) Test(org.junit.Test)

Example 2 with UpperQuartileIndicator

use of org.talend.dataquality.indicators.UpperQuartileIndicator in project tdq-studio-se by Talend.

the class IndicatorCommonUtil method getIndicatorValue.

public static Object getIndicatorValue(Indicator indicator) {
    Object value = null;
    IndicatorEnum type = IndicatorEnum.findIndicatorEnum(indicator.eClass());
    if (type != null) {
        try {
            if (type == IndicatorEnum.RangeIndicatorEnum || type == IndicatorEnum.IQRIndicatorEnum) {
                value = ((RangeIndicator) indicator).getRange();
                ((RangeIndicator) indicator).setComputed(true);
            } else if (indicator.isComputed()) {
                switch(type) {
                    case RowCountIndicatorEnum:
                        value = ((RowCountIndicator) indicator).getCount();
                        break;
                    case NullCountIndicatorEnum:
                        value = ((NullCountIndicator) indicator).getNullCount();
                        break;
                    case DistinctCountIndicatorEnum:
                        value = ((DistinctCountIndicator) indicator).getDistinctValueCount();
                        break;
                    case UniqueIndicatorEnum:
                        value = (((UniqueCountIndicator) indicator).getUniqueValueCount());
                        break;
                    case DuplicateCountIndicatorEnum:
                        value = ((DuplicateCountIndicator) indicator).getDuplicateValueCount();
                        break;
                    case BlankCountIndicatorEnum:
                        value = ((BlankCountIndicator) indicator).getBlankCount();
                        break;
                    case DefValueCountIndicatorEnum:
                        value = ((DefValueCountIndicator) indicator).getDefaultValCount();
                        break;
                    case MinLengthIndicatorEnum:
                        value = ((MinLengthIndicator) indicator).getLength();
                        break;
                    case MinLengthWithNullIndicatorEnum:
                        value = ((MinLengthWithNullIndicator) indicator).getLength();
                        break;
                    case MinLengthWithBlankIndicatorEnum:
                        value = ((MinLengthWithBlankIndicator) indicator).getLength();
                        break;
                    case MinLengthWithBlankNullIndicatorEnum:
                        value = ((MinLengthWithBlankNullIndicator) indicator).getLength();
                        break;
                    case MaxLengthIndicatorEnum:
                        value = ((MaxLengthIndicator) indicator).getLength();
                        break;
                    case MaxLengthWithNullIndicatorEnum:
                        value = ((MaxLengthWithNullIndicator) indicator).getLength();
                        break;
                    case MaxLengthWithBlankIndicatorEnum:
                        value = ((MaxLengthWithBlankIndicator) indicator).getLength();
                        break;
                    case MaxLengthWithBlankNullIndicatorEnum:
                        value = ((MaxLengthWithBlankNullIndicator) indicator).getLength();
                        break;
                    case AverageLengthIndicatorEnum:
                        value = ((AverageLengthIndicator) indicator).getAverageLength();
                        break;
                    case AverageLengthWithNullIndicatorEnum:
                        value = ((AvgLengthWithNullIndicator) indicator).getAverageLength();
                        break;
                    case AverageLengthWithBlankIndicatorEnum:
                        value = ((AvgLengthWithBlankIndicator) indicator).getAverageLength();
                        break;
                    case AverageLengthWithNullBlankIndicatorEnum:
                        value = ((AvgLengthWithBlankNullIndicator) indicator).getAverageLength();
                        break;
                    case FrequencyIndicatorEnum:
                    case DateFrequencyIndicatorEnum:
                    case WeekFrequencyIndicatorEnum:
                    case MonthFrequencyIndicatorEnum:
                    case QuarterFrequencyIndicatorEnum:
                    case YearFrequencyIndicatorEnum:
                    case BinFrequencyIndicatorEnum:
                    case LowFrequencyIndicatorEnum:
                    case DateLowFrequencyIndicatorEnum:
                    case WeekLowFrequencyIndicatorEnum:
                    case MonthLowFrequencyIndicatorEnum:
                    case QuarterLowFrequencyIndicatorEnum:
                    case YearLowFrequencyIndicatorEnum:
                    case BinLowFrequencyIndicatorEnum:
                    case PatternFreqIndicatorEnum:
                    case PatternLowFreqIndicatorEnum:
                    case EastAsiaPatternFreqIndicatorEnum:
                    case EastAsiaPatternLowFreqIndicatorEnum:
                    case DatePatternFreqIndicatorEnum:
                    case SoundexIndicatorEnum:
                    case SoundexLowIndicatorEnum:
                    case BenfordLawFrequencyIndicatorEnum:
                        value = handleFrequency(indicator);
                        break;
                    case MeanIndicatorEnum:
                        value = ((MeanIndicator) indicator).getMean();
                        break;
                    case MedianIndicatorEnum:
                        value = ((MedianIndicator) indicator).getMedian();
                        break;
                    case MinValueIndicatorEnum:
                        value = ((MinValueIndicator) indicator).getValue();
                        break;
                    case MaxValueIndicatorEnum:
                        value = ((MaxValueIndicator) indicator).getValue();
                        break;
                    case LowerQuartileIndicatorEnum:
                        value = ((LowerQuartileIndicator) indicator).getValue();
                        break;
                    case UpperQuartileIndicatorEnum:
                        value = ((UpperQuartileIndicator) indicator).getValue();
                        break;
                    case RegexpMatchingIndicatorEnum:
                    case SqlPatternMatchingIndicatorEnum:
                    case AllMatchIndicatorEnum:
                        value = handleMatchingValue(indicator);
                        break;
                    case ModeIndicatorEnum:
                        value = ((ModeIndicator) indicator).getMode();
                        break;
                    case UserDefinedIndicatorEnum:
                        value = handleUDIValue(indicator);
                        break;
                    case WhereRuleIndicatorEnum:
                        Long userCount = ((WhereRuleIndicator) indicator).getUserCount();
                        value = userCount == null ? 0 : userCount;
                        break;
                    // MOD qiongli 2011-7-21 feature 22362
                    case ValidPhoneCountIndicatorEnum:
                        value = ((ValidPhoneCountIndicator) indicator).getValidPhoneNumCount();
                        break;
                    case ValidRegCodeCountIndicatorEnum:
                        value = ((ValidRegCodeCountIndicator) indicator).getValidRegCount();
                        break;
                    case InvalidRegCodeCountIndicatorEnum:
                        value = ((InvalidRegCodeCountIndicator) indicator).getInvalidRegCount();
                        break;
                    case WellFormE164PhoneCountIndicatorEnum:
                        value = ((WellFormE164PhoneCountIndicator) indicator).getWellFormE164PhoneCount();
                        break;
                    case WellFormIntePhoneCountIndicatorEnum:
                        value = ((WellFormIntePhoneCountIndicator) indicator).getWellFormIntePhoneCount();
                        break;
                    case WellFormNationalPhoneCountIndicatorEnum:
                        value = ((WellFormNationalPhoneCountIndicator) indicator).getWellFormNatiPhoneCount();
                        break;
                    case PossiblePhoneCountIndicatorEnum:
                        value = ((PossiblePhoneCountIndicator) indicator).getPossiblePhoneCount();
                        break;
                    case FormatFreqPieIndictorEnum:
                        value = handleFreqPie(indicator);
                    default:
                }
                if (value == null || "null".equalsIgnoreCase(value.toString())) {
                    // $NON-NLS-1$
                    indicator.setComputed(false);
                }
            }
        } catch (Exception e) {
            // $NON-NLS-1$
            log.error(Messages.getString("IndicatorCommonUtil.FailValue", e.getMessage()), e);
        }
    }
    return value;
}
Also used : IndicatorEnum(org.talend.dq.nodes.indicator.type.IndicatorEnum) MinLengthWithNullIndicator(org.talend.dataquality.indicators.MinLengthWithNullIndicator) BlankCountIndicator(org.talend.dataquality.indicators.BlankCountIndicator) MaxLengthWithBlankIndicator(org.talend.dataquality.indicators.MaxLengthWithBlankIndicator) MedianIndicator(org.talend.dataquality.indicators.MedianIndicator) ModeIndicator(org.talend.dataquality.indicators.ModeIndicator) MinLengthWithBlankIndicator(org.talend.dataquality.indicators.MinLengthWithBlankIndicator) AvgLengthWithNullIndicator(org.talend.dataquality.indicators.AvgLengthWithNullIndicator) NullCountIndicator(org.talend.dataquality.indicators.NullCountIndicator) DistinctCountIndicator(org.talend.dataquality.indicators.DistinctCountIndicator) WellFormIntePhoneCountIndicator(org.talend.dataquality.indicators.WellFormIntePhoneCountIndicator) MaxValueIndicator(org.talend.dataquality.indicators.MaxValueIndicator) MaxLengthWithBlankNullIndicator(org.talend.dataquality.indicators.MaxLengthWithBlankNullIndicator) LowerQuartileIndicator(org.talend.dataquality.indicators.LowerQuartileIndicator) RowCountIndicator(org.talend.dataquality.indicators.RowCountIndicator) MeanIndicator(org.talend.dataquality.indicators.MeanIndicator) WellFormE164PhoneCountIndicator(org.talend.dataquality.indicators.WellFormE164PhoneCountIndicator) PossiblePhoneCountIndicator(org.talend.dataquality.indicators.PossiblePhoneCountIndicator) ValidPhoneCountIndicator(org.talend.dataquality.indicators.ValidPhoneCountIndicator) DuplicateCountIndicator(org.talend.dataquality.indicators.DuplicateCountIndicator) MaxLengthWithNullIndicator(org.talend.dataquality.indicators.MaxLengthWithNullIndicator) MaxLengthIndicator(org.talend.dataquality.indicators.MaxLengthIndicator) MinLengthWithBlankNullIndicator(org.talend.dataquality.indicators.MinLengthWithBlankNullIndicator) AvgLengthWithBlankIndicator(org.talend.dataquality.indicators.AvgLengthWithBlankIndicator) ValidRegCodeCountIndicator(org.talend.dataquality.indicators.ValidRegCodeCountIndicator) MinLengthIndicator(org.talend.dataquality.indicators.MinLengthIndicator) InvalidRegCodeCountIndicator(org.talend.dataquality.indicators.InvalidRegCodeCountIndicator) DefValueCountIndicator(org.talend.dataquality.indicators.DefValueCountIndicator) AverageLengthIndicator(org.talend.dataquality.indicators.AverageLengthIndicator) AvgLengthWithBlankNullIndicator(org.talend.dataquality.indicators.AvgLengthWithBlankNullIndicator) RangeIndicator(org.talend.dataquality.indicators.RangeIndicator) UpperQuartileIndicator(org.talend.dataquality.indicators.UpperQuartileIndicator) WellFormNationalPhoneCountIndicator(org.talend.dataquality.indicators.WellFormNationalPhoneCountIndicator) MinValueIndicator(org.talend.dataquality.indicators.MinValueIndicator)

Aggregations

LowerQuartileIndicator (org.talend.dataquality.indicators.LowerQuartileIndicator)2 MaxValueIndicator (org.talend.dataquality.indicators.MaxValueIndicator)2 MeanIndicator (org.talend.dataquality.indicators.MeanIndicator)2 MedianIndicator (org.talend.dataquality.indicators.MedianIndicator)2 MinValueIndicator (org.talend.dataquality.indicators.MinValueIndicator)2 RangeIndicator (org.talend.dataquality.indicators.RangeIndicator)2 UpperQuartileIndicator (org.talend.dataquality.indicators.UpperQuartileIndicator)2 Test (org.junit.Test)1 TdColumn (org.talend.cwm.relational.TdColumn)1 TdSqlDataType (org.talend.cwm.relational.TdSqlDataType)1 TdTable (org.talend.cwm.relational.TdTable)1 Analysis (org.talend.dataquality.analysis.Analysis)1 AnalysisContext (org.talend.dataquality.analysis.AnalysisContext)1 AnalysisParameters (org.talend.dataquality.analysis.AnalysisParameters)1 AverageLengthIndicator (org.talend.dataquality.indicators.AverageLengthIndicator)1 AvgLengthWithBlankIndicator (org.talend.dataquality.indicators.AvgLengthWithBlankIndicator)1 AvgLengthWithBlankNullIndicator (org.talend.dataquality.indicators.AvgLengthWithBlankNullIndicator)1 AvgLengthWithNullIndicator (org.talend.dataquality.indicators.AvgLengthWithNullIndicator)1 BlankCountIndicator (org.talend.dataquality.indicators.BlankCountIndicator)1 DefValueCountIndicator (org.talend.dataquality.indicators.DefValueCountIndicator)1