From f1eda9d89e4d6a09acd3ff6b382e1fe21b39e068 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Thu, 20 Apr 2017 18:53:31 +0200 Subject: [PATCH] SONAR-9150 Return paging in api/organizations/search --- .../db/organization/OrganizationDao.java | 5 + .../db/organization/OrganizationMapper.java | 4 +- .../db/organization/OrganizationMapper.xml | 5 + .../db/organization/OrganizationDaoTest.java | 13 +++ .../server/organization/ws/SearchAction.java | 25 +++-- .../organization/ws/search-example.json | 5 + .../organization/ws/SearchActionTest.java | 101 +++++++++++------- .../src/main/protobuf/ws-organizations.proto | 1 + 8 files changed, 109 insertions(+), 50 deletions(-) diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationDao.java index 7db35478b53..7626e23a991 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationDao.java @@ -48,6 +48,11 @@ public class OrganizationDao implements Dao { getMapper(dbSession).insert(organization); } + public int countByQuery(DbSession dbSession, OrganizationQuery organizationQuery) { + requireNonNull(organizationQuery, "organizationQuery can't be null"); + return getMapper(dbSession).countByQuery(organizationQuery); + } + public List selectByQuery(DbSession dbSession, OrganizationQuery organizationQuery, Pagination pagination) { requireNonNull(organizationQuery, "organizationQuery can't be null"); return getMapper(dbSession).selectByQuery(organizationQuery, pagination); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationMapper.java index 8e511f5a75d..d1350aa9a7c 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationMapper.java @@ -27,6 +27,8 @@ import org.sonar.db.Pagination; public interface OrganizationMapper { void insert(@Param("organization") OrganizationDto organization); + int countByQuery(@Param("query") OrganizationQuery organizationQuery); + List selectByQuery(@Param("query") OrganizationQuery organizationQuery, @Param("pagination") Pagination pagination); @@ -64,7 +66,7 @@ public interface OrganizationMapper { @Param("defaultTemplates") DefaultTemplates defaultTemplates, @Param("now") long now); void updateDefaultGroupId(@Param("organizationUuid") String organizationUuid, - @Param("defaultGroupId") int defaultGroupId, @Param("now") long now); + @Param("defaultGroupId") int defaultGroupId, @Param("now") long now); int deleteByUuid(@Param("uuid") String uuid); } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/organization/OrganizationMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/organization/OrganizationMapper.xml index b8ce8643386..d3bc8b02e00 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/organization/OrganizationMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/organization/OrganizationMapper.xml @@ -56,6 +56,11 @@ + +