From d0ace9eba4fcb4e79eb10a57f1f596e4237702f7 Mon Sep 17 00:00:00 2001 From: OrlovAlexander Date: Tue, 10 Dec 2024 11:02:07 +0100 Subject: SONAR-23734 Total number of applications Telemetry --- .../src/it/java/org/sonar/db/project/ProjectDaoIT.java | 10 ++++++++++ .../src/main/java/org/sonar/db/project/ProjectDao.java | 4 ++++ .../src/main/java/org/sonar/db/project/ProjectMapper.java | 2 ++ .../src/main/resources/org/sonar/db/project/ProjectMapper.xml | 6 ++++++ 4 files changed, 22 insertions(+) (limited to 'server/sonar-db-dao') diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/project/ProjectDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/project/ProjectDaoIT.java index 51d0f300426..b44d0d98d08 100644 --- a/server/sonar-db-dao/src/it/java/org/sonar/db/project/ProjectDaoIT.java +++ b/server/sonar-db-dao/src/it/java/org/sonar/db/project/ProjectDaoIT.java @@ -489,6 +489,16 @@ class ProjectDaoIT { assertThat(projectDao.countProjects(db.getSession())).isEqualTo(10); } + @Test + void countApplications_shouldReturn_correctValue() { + assertThat(projectDao.countProjects(db.getSession())).isZero(); + + IntStream.range(0, 3).forEach(x -> db.components().insertPrivateProject()); + IntStream.range(0, 5).forEach(x -> db.components().insertPrivateApplication()); + + assertThat(projectDao.countApplications(db.getSession())).isEqualTo(5); + } + @Test void countProjects_by_ai_codefix_enablement() { var dto1 = createProject("o1", "p1").setAiCodeFixEnabled(true); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectDao.java index 40ff12f7d9e..78544955364 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectDao.java @@ -160,6 +160,10 @@ public class ProjectDao implements Dao { return mapper(session).countProjects(); } + public int countApplications(DbSession session) { + return mapper(session).countApplications(); + } + public int countAiCodeFixEnabledProjects(DbSession session) { return mapper(session).countProjectsByAiCodeFixEnablement(true); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectMapper.java index fff27584ee6..d0047c9a2cc 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/project/ProjectMapper.java @@ -78,5 +78,7 @@ public interface ProjectMapper { int countProjects(); + int countApplications(); + int countProjectsByAiCodeFixEnablement(@Param("aiCodeFixEnabled") boolean aiCodeFixEnabled); } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/project/ProjectMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/project/ProjectMapper.xml index fa11cb1353c..d8818c409d5 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/project/ProjectMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/project/ProjectMapper.xml @@ -226,6 +226,12 @@ where p.qualifier = 'TRK' + +