private void doHandle(Request request, Response response, String componentKey, @Nullable String branchKey, @Nullable String pullRequestKey) { try (DbSession dbSession = dbClient.openSession(false)) { ComponentDto component = loadComponent(dbSession, componentKey, branchKey, pullRequestKey); userSession.checkComponentPermission(UserRole.USER, component); checkRequest(isProject(component), "Component '%s' must be a project.", componentKey); AnalysisStatusWsResponse.Builder responseBuilder = AnalysisStatusWsResponse.newBuilder(); CeActivityDto lastActivity = dbClient.ceActivityDao().selectLastByComponentUuid(dbSession, component.uuid()).orElse(null); responseBuilder.setComponent(formatComponent(dbSession, component, lastActivity, branchKey, pullRequestKey)); writeProtobuf(responseBuilder.build(), request, response); } }