From b8f14b0c67995f3372af529772d91ee9c1af8874 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Wed, 8 Jan 2014 17:27:05 +0100 Subject: [PATCH] SONAR-4923 List inheritance profiles now uses Java facade --- .../qualityprofile/db/QualityProfileDao.java | 13 +++++++++ .../db/QualityProfileMapper.java | 2 +- .../db/QualityProfileMapper.xml | 9 ++++++ .../db/QualityProfileDaoTest.java | 10 +++++++ .../select_by_language.xml | 12 ++++++++ .../server/qualityprofile/QProfileRule.java | 8 ++++-- .../server/qualityprofile/QProfileSearch.java | 22 +++++++++++++++ .../server/qualityprofile/QProfiles.java | 14 +++++++++- .../sonar/server/rule/ProfileRuleQuery.java | 17 +++++++++++ .../org/sonar/server/rule/ProfileRules.java | 12 ++++++-- .../app/controllers/profiles_controller.rb | 11 ++++++-- .../WEB-INF/app/helpers/profiles_helper.rb | 7 +++-- .../app/views/profiles/inheritance.html.erb | 14 +++++----- .../qualityprofile/QProfileSearchTest.java | 28 ++++++++++++++++++- .../server/qualityprofile/QProfilesTest.java | 13 +++++++++ .../server/rule/ProfileRuleQueryTest.java | 20 ++++++++++--- .../sonar/server/rule/ProfileRulesTest.java | 9 ++++++ .../active_rule25.json | 2 +- .../active_rule391.json | 2 +- 19 files changed, 198 insertions(+), 27 deletions(-) create mode 100644 sonar-core/src/test/resources/org/sonar/core/qualityprofile/db/QualityProfileDaoTest/select_by_language.xml diff --git a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java index 646d3edf2d9..b4fb64c40fa 100644 --- a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java +++ b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java @@ -26,6 +26,8 @@ import org.sonar.api.ServerComponent; import org.sonar.core.component.ComponentDto; import org.sonar.core.persistence.MyBatis; +import javax.annotation.CheckForNull; + import java.util.List; public class QualityProfileDao implements ServerComponent { @@ -97,6 +99,16 @@ public class QualityProfileDao implements ServerComponent { } } + public List selectByLanguage(String language) { + SqlSession session = mybatis.openSession(); + try { + return session.getMapper(QualityProfileMapper.class).selectByLanguage(language); + } finally { + MyBatis.closeQuietly(session); + } + } + + @CheckForNull public QualityProfileDto selectById(Integer id) { SqlSession session = mybatis.openSession(); try { @@ -106,6 +118,7 @@ public class QualityProfileDao implements ServerComponent { } } + @CheckForNull public QualityProfileDto selectParent(Integer childId) { SqlSession session = mybatis.openSession(); try { diff --git a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java index 089e6b5d8bd..8338ab6c885 100644 --- a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java @@ -46,6 +46,7 @@ public interface QualityProfileMapper { @CheckForNull QualityProfileDto selectById(@Param("id") Integer id); + List selectByLanguage(String language); // INHERITANCE @@ -64,5 +65,4 @@ public interface QualityProfileMapper { List selectByProject(@Param("projectId") Long projectId, @Param("key") String propertyKeyPrefix); - } diff --git a/sonar-core/src/main/resources/org/sonar/core/qualityprofile/db/QualityProfileMapper.xml b/sonar-core/src/main/resources/org/sonar/core/qualityprofile/db/QualityProfileMapper.xml index 3fdf3073ce1..2d833b76faf 100644 --- a/sonar-core/src/main/resources/org/sonar/core/qualityprofile/db/QualityProfileMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/qualityprofile/db/QualityProfileMapper.xml @@ -46,6 +46,15 @@ + +