@Test public void count_last_by_status_and_main_component_uuid() { insert("TASK_1", CeTaskTypes.REPORT, MAINCOMPONENT_1, SUCCESS); // component 2 insert("TASK_2", CeTaskTypes.REPORT, MAINCOMPONENT_2, SUCCESS); // status failed insert("TASK_3", CeTaskTypes.REPORT, MAINCOMPONENT_1, FAILED); // status canceled insert("TASK_4", CeTaskTypes.REPORT, MAINCOMPONENT_1, CANCELED); insert("TASK_5", CeTaskTypes.REPORT, MAINCOMPONENT_1, SUCCESS); db.commit(); assertThat(underTest.countLastByStatusAndMainComponentUuid(dbSession, SUCCESS, MAINCOMPONENT_1)).isEqualTo(1); assertThat(underTest.countLastByStatusAndMainComponentUuid(dbSession, SUCCESS, null)).isEqualTo(2); }
private ActivityStatusWsResponse doHandle(Request request) { try (DbSession dbSession = dbClient.openSession(false)) { Optional<ComponentDto> component = searchComponent(dbSession, request); String componentUuid = component.isPresent() ? component.get().uuid() : null; checkPermissions(component); int pendingCount = dbClient.ceQueueDao().countByStatusAndMainComponentUuid(dbSession, CeQueueDto.Status.PENDING, componentUuid); int inProgressCount = dbClient.ceQueueDao().countByStatusAndMainComponentUuid(dbSession, CeQueueDto.Status.IN_PROGRESS, componentUuid); int failingCount = dbClient.ceActivityDao().countLastByStatusAndMainComponentUuid(dbSession, CeActivityDto.Status.FAILED, componentUuid); return ActivityStatusWsResponse.newBuilder() .setPending(pendingCount) .setInProgress(inProgressCount) .setFailing(failingCount) .build(); } }