From: Teryk Bellahsene Date: Mon, 8 Jun 2015 12:50:02 +0000 (+0200) Subject: SONAR-6570 WS metrics/search count take into account the isCustom property X-Git-Tag: 5.2-RC1~1576 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7e74953459b608feb1772d398cb640b10f20a21c;p=sonarqube.git SONAR-6570 WS metrics/search count take into account the isCustom property --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/metric/persistence/MetricDao.java b/server/sonar-server/src/main/java/org/sonar/server/metric/persistence/MetricDao.java index 63611986243..a9f669dda25 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/metric/persistence/MetricDao.java +++ b/server/sonar-server/src/main/java/org/sonar/server/metric/persistence/MetricDao.java @@ -79,6 +79,10 @@ public class MetricDao implements DaoComponent { return mapper(session).selectAllEnabled(properties, new RowBounds(searchOptions.getOffset(), searchOptions.getLimit())); } + public int countEnabled(DbSession session, @Nullable Boolean isCustom) { + return mapper(session).countEnabled(isCustom); + } + public void insert(DbSession session, MetricDto dto) { mapper(session).insert(dto); } @@ -106,10 +110,6 @@ public class MetricDao implements DaoComponent { }); } - public int countCustom(DbSession session) { - return mapper(session).countCustom(); - } - public void update(DbSession session, MetricDto metric) { mapper(session).update(metric); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/metric/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/metric/ws/SearchAction.java index a9d2c6c00da..da138001d80 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/metric/ws/SearchAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/metric/ws/SearchAction.java @@ -89,7 +89,7 @@ public class SearchAction implements MetricsWsAction { DbSession dbSession = dbClient.openSession(false); try { List metrics = dbClient.metricDao().selectEnabled(dbSession, isCustom, searchOptions); - int nbMetrics = dbClient.metricDao().countCustom(dbSession); + int nbMetrics = dbClient.metricDao().countEnabled(dbSession, isCustom); JsonWriter json = response.newJsonWriter(); json.beginObject(); Set desiredFields = desiredFields(request.paramAsStrings(Param.FIELDS)); diff --git a/sonar-core/src/main/java/org/sonar/core/metric/db/MetricMapper.java b/sonar-core/src/main/java/org/sonar/core/metric/db/MetricMapper.java index abf450248e8..619670bfab4 100644 --- a/sonar-core/src/main/java/org/sonar/core/metric/db/MetricMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/metric/db/MetricMapper.java @@ -22,6 +22,7 @@ package org.sonar.core.metric.db; import java.util.List; import java.util.Map; +import javax.annotation.Nullable; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.session.RowBounds; @@ -41,7 +42,7 @@ public interface MetricMapper { void disable(@Param("ids") List ids); - int countCustom(); + int countEnabled(@Param("isCustom") @Nullable Boolean isCustom); void update(MetricDto metric); diff --git a/sonar-core/src/main/resources/org/sonar/core/metric/db/MetricMapper.xml b/sonar-core/src/main/resources/org/sonar/core/metric/db/MetricMapper.xml index 94d8727cada..9278b7252a5 100644 --- a/sonar-core/src/main/resources/org/sonar/core/metric/db/MetricMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/metric/db/MetricMapper.xml @@ -47,12 +47,19 @@ ORDER BY UPPER(m.short_name), m.short_name - SELECT COUNT(*) FROM metrics m AND m.enabled=${_true} - AND m.user_managed=${_true} + + + AND m.user_managed=${_true} + + + AND m.user_managed=${_false} + +