@Override public void setUpTest() { // --------------------------------------------------------------------- // Services // --------------------------------------------------------------------- dataIntegrityService = (DataIntegrityService) getBean(DataIntegrityService.ID); dataElementService = (DataElementService) getBean(DataElementService.ID); indicatorService = (IndicatorService) getBean(IndicatorService.ID); dataSetService = (DataSetService) getBean(DataSetService.ID); organisationUnitService = (OrganisationUnitService) getBean(OrganisationUnitService.ID); organisationUnitGroupService = (OrganisationUnitGroupService) getBean(OrganisationUnitGroupService.ID); // --------------------------------------------------------------------- // Objects // --------------------------------------------------------------------- elementA = createDataElement('A'); elementB = createDataElement('B'); elementC = createDataElement('C'); dataElementService.addDataElement(elementA); dataElementService.addDataElement(elementB); dataElementService.addDataElement(elementC); indicatorTypeA = createIndicatorType('A'); indicatorService.addIndicatorType(indicatorTypeA); indicatorA = createIndicator('A', indicatorTypeA); indicatorB = createIndicator('B', indicatorTypeA); indicatorC = createIndicator('C', indicatorTypeA); indicatorA.setNumerator(" "); indicatorB.setNumerator("Numerator"); indicatorB.setDenominator("Denominator"); indicatorC.setNumerator("Numerator"); indicatorC.setDenominator("Denominator"); indicatorService.addIndicator(indicatorA); indicatorService.addIndicator(indicatorB); indicatorService.addIndicator(indicatorC); unitA = createOrganisationUnit('A'); unitB = createOrganisationUnit('B', unitA); unitC = createOrganisationUnit('C', unitB); unitD = createOrganisationUnit('D', unitC); unitE = createOrganisationUnit('E', unitD); unitF = createOrganisationUnit('F'); organisationUnitService.addOrganisationUnit(unitA); organisationUnitService.addOrganisationUnit(unitB); organisationUnitService.addOrganisationUnit(unitC); organisationUnitService.addOrganisationUnit(unitD); organisationUnitService.addOrganisationUnit(unitE); organisationUnitService.addOrganisationUnit(unitF); unitA.setParent(unitC); organisationUnitService.updateOrganisationUnit(unitA); dataSetA = createDataSet('A', new MonthlyPeriodType()); dataSetB = createDataSet('B', new QuarterlyPeriodType()); dataSetA.getDataElements().add(elementA); dataSetA.getDataElements().add(elementB); elementA.getDataSets().add(dataSetA); elementB.getDataSets().add(dataSetA); dataSetA.getSources().add(unitA); unitA.getDataSets().add(dataSetA); dataSetB.getDataElements().add(elementA); elementA.getDataSets().add(dataSetB); dataSetService.addDataSet(dataSetA); dataSetService.addDataSet(dataSetB); // --------------------------------------------------------------------- // Groups // --------------------------------------------------------------------- elementGroupA = createDataElementGroup('A'); elementGroupA.getMembers().add(elementA); elementA.getGroups().add(elementGroupA); dataElementService.addDataElementGroup(elementGroupA); indicatorGroupA = createIndicatorGroup('A'); indicatorGroupA.getMembers().add(indicatorA); indicatorA.getGroups().add(indicatorGroupA); indicatorService.addIndicatorGroup(indicatorGroupA); unitGroupA = createOrganisationUnitGroup('A'); unitGroupB = createOrganisationUnitGroup('B'); unitGroupC = createOrganisationUnitGroup('C'); unitGroupD = createOrganisationUnitGroup('D'); unitGroupA.getMembers().add(unitA); unitGroupA.getMembers().add(unitB); unitGroupA.getMembers().add(unitC); unitA.getGroups().add(unitGroupA); unitB.getGroups().add(unitGroupA); unitC.getGroups().add(unitGroupA); unitGroupB.getMembers().add(unitA); unitGroupB.getMembers().add(unitB); unitGroupB.getMembers().add(unitF); unitA.getGroups().add(unitGroupB); unitB.getGroups().add(unitGroupB); unitF.getGroups().add(unitGroupB); unitGroupC.getMembers().add(unitA); unitA.getGroups().add(unitGroupC); organisationUnitGroupService.addOrganisationUnitGroup(unitGroupA); organisationUnitGroupService.addOrganisationUnitGroup(unitGroupB); organisationUnitGroupService.addOrganisationUnitGroup(unitGroupC); organisationUnitGroupService.addOrganisationUnitGroup(unitGroupD); // --------------------------------------------------------------------- // Group sets // --------------------------------------------------------------------- unitGroupSetA = createOrganisationUnitGroupSet('A'); unitGroupSetB = createOrganisationUnitGroupSet('B'); unitGroupSetA.setCompulsory(true); unitGroupSetB.setCompulsory(false); unitGroupSetA.getOrganisationUnitGroups().add(unitGroupA); unitGroupA.setGroupSet(unitGroupSetA); unitGroupSetB.getOrganisationUnitGroups().add(unitGroupB); unitGroupSetB.getOrganisationUnitGroups().add(unitGroupC); unitGroupB.setGroupSet(unitGroupSetB); unitGroupC.setGroupSet(unitGroupSetB); organisationUnitGroupService.addOrganisationUnitGroupSet(unitGroupSetA); organisationUnitGroupService.addOrganisationUnitGroupSet(unitGroupSetB); }
@Override public void setUpTest() { aggregationService = (AggregationService) getBean(AggregationService.ID); categoryService = (DataElementCategoryService) getBean(DataElementCategoryService.ID); dataElementService = (DataElementService) getBean(DataElementService.ID); indicatorService = (IndicatorService) getBean(IndicatorService.ID); dataSetService = (DataSetService) getBean(DataSetService.ID); periodService = (PeriodService) getBean(PeriodService.ID); organisationUnitService = (OrganisationUnitService) getBean(OrganisationUnitService.ID); dataValueService = (DataValueService) getBean(DataValueService.ID); expressionService = (ExpressionService) getBean(ExpressionService.ID); // --------------------------------------------------------------------- // Setup Dimensions // --------------------------------------------------------------------- categoryOptionA = new DataElementCategoryOption("Male"); categoryOptionB = new DataElementCategoryOption("Female"); categoryService.addDataElementCategoryOption(categoryOptionA); categoryService.addDataElementCategoryOption(categoryOptionB); category = new DataElementCategory("Gender"); category.getCategoryOptions().add(categoryOptionA); category.getCategoryOptions().add(categoryOptionB); categoryService.addDataElementCategory(category); categoryCombo = new DataElementCategoryCombo("Gender"); categoryCombo.getCategories().add(category); categoryService.addDataElementCategoryCombo(categoryCombo); categoryOptionComboA = createCategoryOptionCombo(categoryCombo, categoryOptionA); categoryOptionComboB = createCategoryOptionCombo(categoryCombo, categoryOptionB); categoryService.addDataElementCategoryOptionCombo(categoryOptionComboA); categoryService.addDataElementCategoryOptionCombo(categoryOptionComboB); // --------------------------------------------------------------------- // Setup DataElements // --------------------------------------------------------------------- dataElementA = createDataElement( 'A', DataElement.VALUE_TYPE_INT, DataElement.AGGREGATION_OPERATOR_SUM, categoryCombo); dataElementB = createDataElement( 'B', DataElement.VALUE_TYPE_BOOL, DataElement.AGGREGATION_OPERATOR_SUM, categoryCombo); dataElementC = createDataElement( 'C', DataElement.VALUE_TYPE_INT, DataElement.AGGREGATION_OPERATOR_SUM, categoryCombo); dataElementService.addDataElement(dataElementA); dataElementService.addDataElement(dataElementB); dataElementService.addDataElement(dataElementC); // --------------------------------------------------------------------- // Setup Indicators // --------------------------------------------------------------------- indicatorType = createIndicatorType('A'); indicatorType.setFactor(100); indicatorService.addIndicatorType(indicatorType); indicatorA = createIndicator('A', indicatorType); indicatorA.setNumerator( "#{" + dataElementA.getUid() + SEPARATOR + categoryOptionComboA.getUid() + "}+150"); indicatorA.setDenominator( "#{" + dataElementB.getUid() + SEPARATOR + categoryOptionComboA.getUid() + "}"); indicatorB = createIndicator('B', indicatorType); indicatorB.setNumerator("#{" + dataElementC.getUid() + "}"); indicatorB.setDenominator("1"); indicatorService.addIndicator(indicatorA); indicatorService.addIndicator(indicatorB); // --------------------------------------------------------------------- // Setup DataSets (to get correct PeriodType for DataElements) // --------------------------------------------------------------------- dataSet = createDataSet('A', new MonthlyPeriodType()); dataSet.getDataElements().add(dataElementA); dataSet.getDataElements().add(dataElementB); dataSetService.addDataSet(dataSet); dataElementA.getDataSets().add(dataSet); dataElementB.getDataSets().add(dataSet); dataElementC.getDataSets().add(dataSet); dataElementService.updateDataElement(dataElementA); dataElementService.updateDataElement(dataElementB); dataElementService.updateDataElement(dataElementC); // --------------------------------------------------------------------- // Setup Periods // --------------------------------------------------------------------- PeriodType monthly = new MonthlyPeriodType(); periodA = createPeriod(monthly, mar01, mar31); periodB = createPeriod(monthly, apr01, apr30); periodC = createPeriod(monthly, may01, may31); periodService.addPeriod(periodA); periodService.addPeriod(periodB); periodService.addPeriod(periodC); // --------------------------------------------------------------------- // Setup OrganisationUnits // --------------------------------------------------------------------- unitA = createOrganisationUnit('A'); unitB = createOrganisationUnit('B', unitA); unitC = createOrganisationUnit('C', unitA); unitD = createOrganisationUnit('D', unitB); unitE = createOrganisationUnit('E', unitB); unitF = createOrganisationUnit('F', unitB); unitG = createOrganisationUnit('G', unitF); unitH = createOrganisationUnit('H', unitF); unitI = createOrganisationUnit('I'); organisationUnitService.addOrganisationUnit(unitA); organisationUnitService.addOrganisationUnit(unitB); organisationUnitService.addOrganisationUnit(unitC); organisationUnitService.addOrganisationUnit(unitD); organisationUnitService.addOrganisationUnit(unitE); organisationUnitService.addOrganisationUnit(unitF); organisationUnitService.addOrganisationUnit(unitG); organisationUnitService.addOrganisationUnit(unitH); organisationUnitService.addOrganisationUnit(unitI); // --------------------------------------------------------------------- // Setup DataValues // --------------------------------------------------------------------- dataValueService.addDataValue( createDataValue(dataElementA, periodA, unitC, "90", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodA, unitD, "10", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodA, unitE, "35", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodA, unitF, "25", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodA, unitG, "20", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodA, unitH, "60", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodB, unitC, "70", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodB, unitD, "40", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodB, unitE, "65", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodB, unitF, "55", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodB, unitG, "20", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodB, unitH, "15", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodC, unitC, "95", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodC, unitD, "40", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodC, unitE, "45", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodC, unitF, "30", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodC, unitG, "50", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementA, periodC, unitH, "70", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodA, unitC, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodA, unitD, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodA, unitE, F, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodA, unitF, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodA, unitG, F, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodA, unitH, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodB, unitC, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodB, unitD, F, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodB, unitE, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodB, unitF, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodB, unitG, F, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodB, unitH, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodC, unitC, F, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodC, unitD, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodC, unitE, F, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodC, unitF, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodC, unitG, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementB, periodC, unitH, T, categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementC, periodA, unitB, "30", categoryOptionComboA)); dataValueService.addDataValue( createDataValue(dataElementC, periodA, unitB, "20", categoryOptionComboB)); aggregationService.clearCache(); }