test_class.declarator: corruptionRiskDashboardIndicatorsStatsController
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private CorruptionRiskDashboardIndicatorsStatsController corruptionRiskDashboardIndicatorsStatsController;
test_class.type: CorruptionRiskDashboardIndicatorsStatsController
test_class.var_name: corruptionRiskDashboardIndicatorsStatsController
test_class.declarator: releaseFlaggingService
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private ReleaseFlaggingService releaseFlaggingService;
test_class.type: ReleaseFlaggingService
test_class.var_name: releaseFlaggingService
test_class.declarator: releaseRepository
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private FlaggedReleaseRepository releaseRepository;
test_class.type: FlaggedReleaseRepository
test_class.var_name: releaseRepository
test_class.declarator: objectMapper
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private ObjectMapper objectMapper;
test_class.type: ObjectMapper
test_class.var_name: objectMapper
test_class.file: web/src/test/java/org/devgateway/ocds/web/rest/controller/CorruptionRiskDashboardIndicatorsStatsControllerTest.java
test_class.identifier: CorruptionRiskDashboardIndicatorsStatsControllerTest
test_class.superclass: extends AbstractEndPointControllerTest
test_case.body: @Test
      public void totalEligibleProjectsByIndicatorTypeByYearTest() throws Exception {
          final List<Document> result = corruptionRiskDashboardIndicatorsStatsController
                  .totalEligibleProjectsByIndicatorTypeByYear(new YearFilterPagingRequest());
          Assert.assertEquals(6, result.size());
  
          Assert.assertEquals(FlagType.COLLUSION.toString(), result.get(0).get(CorruptionRiskDashboardIndicatorsStatsController
                  .Keys.TYPE));
          Assert.assertEquals(2014, result.get(0).get(CorruptionRiskDashboardIndicatorsStatsController.Keys.YEAR));
          Assert.assertEquals(1, result.get(0).get(CorruptionRiskDashboardIndicatorsStatsController.Keys
                  .ELIGIBLE_COUNT));
          Assert.assertEquals(1, result.get(0).get(CorruptionRiskDashboardIndicatorsStatsController.Keys
                  .ELIGIBLE_PROJECT_COUNT));
  
          Assert.assertEquals(FlagType.FRAUD.toString(), result.get(1).get(CorruptionRiskDashboardIndicatorsStatsController
                  .Keys.TYPE));
          Assert.assertEquals(2014, result.get(1).get(CorruptionRiskDashboardIndicatorsStatsController.Keys.YEAR));
          Assert.assertEquals(1, result.get(1).get(CorruptionRiskDashboardIndicatorsStatsController.Keys.ELIGIBLE_COUNT));
          Assert.assertEquals(1, result.get(1).get(CorruptionRiskDashboardIndicatorsStatsController.Keys.ELIGIBLE_PROJECT_COUNT));
  
          Assert.assertEquals(FlagType.RIGGING.toString(), result.get(2).get
                  (CorruptionRiskDashboardIndicatorsStatsController
                  .Keys.TYPE));
          Assert.assertEquals(2014, result.get(2).get(CorruptionRiskDashboardIndicatorsStatsController.Keys.YEAR));
          Assert.assertEquals(1, result.get(2).get(CorruptionRiskDashboardIndicatorsStatsController.Keys
                  .ELIGIBLE_COUNT));
          Assert.assertEquals(1, result.get(2).get(CorruptionRiskDashboardIndicatorsStatsController.Keys
                  .ELIGIBLE_PROJECT_COUNT));
  
          Assert.assertEquals(FlagType.COLLUSION.toString(), result.get(3).get
                  (CorruptionRiskDashboardIndicatorsStatsController
                  .Keys.TYPE));
          Assert.assertEquals(2015, result.get(3).get(CorruptionRiskDashboardIndicatorsStatsController.Keys.YEAR));
          Assert.assertEquals(1, result.get(3).get(CorruptionRiskDashboardIndicatorsStatsController.Keys
                  .ELIGIBLE_COUNT));
          Assert.assertEquals(1, result.get(3).get(CorruptionRiskDashboardIndicatorsStatsController.Keys
                  .ELIGIBLE_PROJECT_COUNT));
      }
test_case.class_method_signature: CorruptionRiskDashboardIndicatorsStatsControllerTest.totalEligibleProjectsByIndicatorTypeByYearTest()
test_case.full_signature: @Test public void totalEligibleProjectsByIndicatorTypeByYearTest()
test_case.identifier: totalEligibleProjectsByIndicatorTypeByYearTest
test_case.invocations: totalEligibleProjectsByIndicatorTypeByYear assertEquals size assertEquals toString get get assertEquals get get assertEquals get get assertEquals get get assertEquals toString get get assertEquals get get assertEquals get get assertEquals get get assertEquals toString get get assertEquals get get assertEquals get get assertEquals get get assertEquals toString get get assertEquals get get assertEquals get get assertEquals get get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void totalEligibleProjectsByIndicatorTypeByYearTest()
focal_class.declarator: ELIGIBLE_STATS = "eligibleStats"
focal_class.modifier: private static final
focal_class.original_string: private static final String ELIGIBLE_STATS = "eligibleStats";
focal_class.type: String
focal_class.var_name: ELIGIBLE_STATS
focal_class.declarator: FLAGGED_STATS = "flaggedStats"
focal_class.modifier: private static final
focal_class.original_string: private static final String FLAGGED_STATS = "flaggedStats";
focal_class.type: String
focal_class.var_name: FLAGGED_STATS
focal_class.file: web/src/main/java/org/devgateway/ocds/web/rest/controller/CorruptionRiskDashboardIndicatorsStatsController.java
focal_class.identifier: CorruptionRiskDashboardIndicatorsStatsController
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalFlaggedIndicatorsByIndicatorType(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the indicators flagged, and groups them by indicator type. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalFlaggedIndicatorsByIndicatorType", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalFlaggedIndicatorsByIndicatorType(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.identifier: totalFlaggedIndicatorsByIndicatorType
focal_class.modifiers: @ApiOperation(value = "Counts the indicators flagged, and groups them by indicator type. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalFlaggedIndicatorsByIndicatorType", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalFlaggedIndicatorsByIndicatorType(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalEligibleIndicatorsByIndicatorType(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the indicators eligible, and groups them by indicator type. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalEligibleIndicatorsByIndicatorType", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalEligibleIndicatorsByIndicatorType(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.identifier: totalEligibleIndicatorsByIndicatorType
focal_class.modifiers: @ApiOperation(value = "Counts the indicators eligible, and groups them by indicator type. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalEligibleIndicatorsByIndicatorType", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalEligibleIndicatorsByIndicatorType(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalFlags(final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the indicators that are flagged, across all releases. If one " + "indicator has multiple types is only counted once, so this is different from flaggedStats and " + "cannot be reproduced by just summing up all types in flaggedStats!") @RequestMapping(value = "/api/totalFlags", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalFlags(final YearFilterPagingRequest filter)
focal_class.identifier: totalFlags
focal_class.modifiers: @ApiOperation(value = "Counts the indicators that are flagged, across all releases. If one " + "indicator has multiple types is only counted once, so this is different from flaggedStats and " + "cannot be reproduced by just summing up all types in flaggedStats!") @RequestMapping(value = "/api/totalFlags", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalFlags(final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalIndicatorsByIndicatorType(String statsProperty,
                                                            final YearFilterPagingRequest filter)
focal_class.full_signature: private List<Document> totalIndicatorsByIndicatorType(String statsProperty,
                                                            final YearFilterPagingRequest filter)
focal_class.identifier: totalIndicatorsByIndicatorType
focal_class.modifiers: private
focal_class.parameters: (String statsProperty,
                                                            final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalIndicatorsByIndicatorType(String statsProperty,
                                                            final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalFlaggedIndicatorsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the indicators flagged, and groups them by indicator type and by year/month. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalFlaggedIndicatorsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalFlaggedIndicatorsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.identifier: totalFlaggedIndicatorsByIndicatorTypeByYear
focal_class.modifiers: @ApiOperation(value = "Counts the indicators flagged, and groups them by indicator type and by year/month. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalFlaggedIndicatorsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalFlaggedIndicatorsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalEligibleIndicatorsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the indicators eligible, and groups them by indicator type and by year/month. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalEligibleIndicatorsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalEligibleIndicatorsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.identifier: totalEligibleIndicatorsByIndicatorTypeByYear
focal_class.modifiers: @ApiOperation(value = "Counts the indicators eligible, and groups them by indicator type and by year/month. " + "An indicator that has two types it will be counted twice, once in each group.") @RequestMapping(value = "/api/totalEligibleIndicatorsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalEligibleIndicatorsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalIndicatorsByIndicatorTypeByYear(String statsProperty,
                                                                  final YearFilterPagingRequest filter)
focal_class.full_signature: private List<Document> totalIndicatorsByIndicatorTypeByYear(String statsProperty,
                                                                  final YearFilterPagingRequest filter)
focal_class.identifier: totalIndicatorsByIndicatorTypeByYear
focal_class.modifiers: private
focal_class.parameters: (String statsProperty,
                                                                  final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalIndicatorsByIndicatorTypeByYear(String statsProperty,
                                                                  final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalFlaggedProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the projects and the indicators flagged, grouped by indicator type. " + "The 'count' represents the number of indicators flagged, the 'projectCount' represents the number" + " of projects flagged.") @RequestMapping(value = "/api/totalFlaggedProjectsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalFlaggedProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.identifier: totalFlaggedProjectsByIndicatorTypeByYear
focal_class.modifiers: @ApiOperation(value = "Counts the projects and the indicators flagged, grouped by indicator type. " + "The 'count' represents the number of indicators flagged, the 'projectCount' represents the number" + " of projects flagged.") @RequestMapping(value = "/api/totalFlaggedProjectsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalFlaggedProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Counts the projects and the indicators eligible, grouped by indicator type. " + "The 'count' represents the number of indicators eligible, the 'projectCount' represents the number" + " of projects eligible.") @RequestMapping(value = "/api/totalEligibleProjectsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.identifier: totalEligibleProjectsByIndicatorTypeByYear
focal_class.modifiers: @ApiOperation(value = "Counts the projects and the indicators eligible, grouped by indicator type. " + "The 'count' represents the number of indicators eligible, the 'projectCount' represents the number" + " of projects eligible.") @RequestMapping(value = "/api/totalEligibleProjectsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalProjectsByIndicatorTypeByYear(String statsProperty,
                                                                final YearFilterPagingRequest filter)
focal_class.full_signature: private List<Document> totalProjectsByIndicatorTypeByYear(String statsProperty,
                                                                final YearFilterPagingRequest filter)
focal_class.identifier: totalProjectsByIndicatorTypeByYear
focal_class.modifiers: private
focal_class.parameters: (String statsProperty,
                                                                final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalProjectsByIndicatorTypeByYear(String statsProperty,
                                                                final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalProjectsByYear(final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Count total projects by year/month.") @RequestMapping(value = "/api/totalProjectsByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalProjectsByYear(final YearFilterPagingRequest filter)
focal_class.identifier: totalProjectsByYear
focal_class.modifiers: @ApiOperation(value = "Count total projects by year/month.") @RequestMapping(value = "/api/totalProjectsByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> totalProjectsByYear(final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.findByYearAndTypeAndMonth(List<Document> source, Integer year, String type, Integer month)
focal_class.full_signature: private List<Document> findByYearAndTypeAndMonth(List<Document> source, Integer year, String type, Integer month)
focal_class.identifier: findByYearAndTypeAndMonth
focal_class.modifiers: private
focal_class.parameters: (List<Document> source, Integer year, String type, Integer month)
focal_class.return: List<Document>
focal_class.signature: List<Document> findByYearAndTypeAndMonth(List<Document> source, Integer year, String type, Integer month)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.percentTotalProjectsFlaggedByYear(final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Percent of total projects flagged (denominator is total projects)") @RequestMapping(value = "/api/percentTotalProjectsFlaggedByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> percentTotalProjectsFlaggedByYear(final YearFilterPagingRequest filter)
focal_class.identifier: percentTotalProjectsFlaggedByYear
focal_class.modifiers: @ApiOperation(value = "Percent of total projects flagged (denominator is total projects)") @RequestMapping(value = "/api/percentTotalProjectsFlaggedByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> percentTotalProjectsFlaggedByYear(final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.percentTotalProjectsEligibleByYear(final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Percent of total projects eligible (denominator is total projects)") @RequestMapping(value = "/api/percentTotalProjectsEligibleByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> percentTotalProjectsEligibleByYear(final YearFilterPagingRequest filter)
focal_class.identifier: percentTotalProjectsEligibleByYear
focal_class.modifiers: @ApiOperation(value = "Percent of total projects eligible (denominator is total projects)") @RequestMapping(value = "/api/percentTotalProjectsEligibleByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> percentTotalProjectsEligibleByYear(final YearFilterPagingRequest filter)
focal_class.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.percentOfEligibleProjectsFlaggedByYear(final YearFilterPagingRequest filter)
focal_class.full_signature: @ApiOperation(value = "Percent of eligible projects flagged (denominator is number of eligible projects)") @RequestMapping(value = "/api/percentOfEligibleProjectsFlaggedByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> percentOfEligibleProjectsFlaggedByYear(final YearFilterPagingRequest filter)
focal_class.identifier: percentOfEligibleProjectsFlaggedByYear
focal_class.modifiers: @ApiOperation(value = "Percent of eligible projects flagged (denominator is number of eligible projects)") @RequestMapping(value = "/api/percentOfEligibleProjectsFlaggedByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_class.parameters: (final YearFilterPagingRequest filter)
focal_class.return: List<Document>
focal_class.signature: List<Document> percentOfEligibleProjectsFlaggedByYear(final YearFilterPagingRequest filter)
focal_class.superclass: extends GenericOCDSController
focal_method.body: @ApiOperation(value = "Counts the projects and the indicators eligible, grouped by indicator type. "
              + "The 'count' represents the number of indicators eligible, the 'projectCount' represents the number"
              + " of projects eligible.")
      @RequestMapping(value = "/api/totalEligibleProjectsByIndicatorTypeByYear",
              method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
      public List<Document> totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter) {
          return totalProjectsByIndicatorTypeByYear(ELIGIBLE_STATS, filter);
      }
focal_method.class_method_signature: CorruptionRiskDashboardIndicatorsStatsController.totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_method.full_signature: @ApiOperation(value = "Counts the projects and the indicators eligible, grouped by indicator type. " + "The 'count' represents the number of indicators eligible, the 'projectCount' represents the number" + " of projects eligible.") @RequestMapping(value = "/api/totalEligibleProjectsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public List<Document> totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_method.identifier: totalEligibleProjectsByIndicatorTypeByYear
focal_method.invocations: totalProjectsByIndicatorTypeByYear
focal_method.modifiers: @ApiOperation(value = "Counts the projects and the indicators eligible, grouped by indicator type. " + "The 'count' represents the number of indicators eligible, the 'projectCount' represents the number" + " of projects eligible.") @RequestMapping(value = "/api/totalEligibleProjectsByIndicatorTypeByYear", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json") public
focal_method.parameters: (
              @ModelAttribute @Valid final YearFilterPagingRequest filter)
focal_method.return: List<Document>
focal_method.signature: List<Document> totalEligibleProjectsByIndicatorTypeByYear(
              @ModelAttribute @Valid final YearFilterPagingRequest filter)