diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2014-07-17 13:28:30 +0600 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2014-07-17 13:28:30 +0600 |
commit | af1fcf5fe157c148102f2c1e0bf5182710bcb469 (patch) | |
tree | d873c1e1111d14f00b547cd5b0d24ece17d42f46 /server | |
parent | 5f9fca427ecf8779f531ad7185d0dba41bc55fe4 (diff) | |
parent | 24abd42922e4adf3eff60b63d4a5434424b3cfab (diff) | |
download | sonarqube-af1fcf5fe157c148102f2c1e0bf5182710bcb469.tar.gz sonarqube-af1fcf5fe157c148102f2c1e0bf5182710bcb469.zip |
Merge branch 'master' of https://github.com/SonarSource/sonarqube
Diffstat (limited to 'server')
4 files changed, 24 insertions, 17 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java index 7f496b39ea3..2fb0b470d19 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java @@ -191,10 +191,14 @@ public class QProfileService implements ServerComponent { factory.setDefault(key); } + /** + * Used in /api/profiles and in /profiles/export + * @param language + * @return + */ @CheckForNull - public String getDefault(String language) { - QualityProfileDto profile = factory.getDefault(language); - return profile != null ? profile.getKey() : null; + public QualityProfileDto getDefault(String language) { + return factory.getDefault(language); } private void verifyAdminPermission() { diff --git a/server/sonar-web/src/main/coffee/coding-rules/views/filter-bar-view.coffee b/server/sonar-web/src/main/coffee/coding-rules/views/filter-bar-view.coffee index 84641dd998e..4c9c455f2ca 100644 --- a/server/sonar-web/src/main/coffee/coding-rules/views/filter-bar-view.coffee +++ b/server/sonar-web/src/main/coffee/coding-rules/views/filter-bar-view.coffee @@ -3,12 +3,14 @@ define [ 'navigator/filters/base-filters', 'navigator/filters/favorite-filters', 'navigator/filters/more-criteria-filters', + 'navigator/filters/read-only-filters', 'templates/coding-rules' ], ( FilterBarView, BaseFilters, FavoriteFiltersModule, MoreCriteriaFilters, + ReadOnlyFilterView, Templates ) -> @@ -40,7 +42,8 @@ define [ addMoreCriteriaFilter: -> - disabledFilters = this.collection.where enabled: false + readOnlyFilters = @collection.where(type: ReadOnlyFilterView) + disabledFilters = _.difference(@collection.where(enabled: false), readOnlyFilters) if disabledFilters.length > 0 @moreCriteriaFilter = new BaseFilters.Filter type: MoreCriteriaFilters.MoreCriteriaFilterView, @@ -53,7 +56,7 @@ define [ changeEnabled: -> if @moreCriteriaFilter? disabledFilters = _.reject @collection.where(enabled: false), (filter) -> - filter.get('type') == MoreCriteriaFilters.MoreCriteriaFilterView + filter.get('type') in [MoreCriteriaFilters.MoreCriteriaFilterView, ReadOnlyFilterView] if disabledFilters.length == 0 @moreCriteriaFilter.set { enabled: false }, { silent: true } diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/profiles_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/profiles_controller.rb index d3fecdb935e..5897a32b222 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/profiles_controller.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/profiles_controller.rb @@ -40,14 +40,14 @@ class Api::ProfilesController < Api::ApiController project = Project.by_key(project_key) not_found('Unknown project') unless project if language.present? - default_profile_by_language[language] = Internal.quality_profiles.defaultProfile(language) + default_profile_by_language[language] = Internal.qprofile_service.getDefault(language) profile = Internal.quality_profiles.findProfileByProjectAndLanguage(project.id, language) profiles << profile if profile # Return default profile if the project is not associate to a profile profiles << default_profile_by_language[language] unless profile else Api::Utils.languages.each do |language| - default_profile_by_language[language.getKey()] = Internal.quality_profiles.defaultProfile(language.getKey()) + default_profile_by_language[language.getKey()] = Internal.qprofile_service.getDefault(language.getKey()) profile = Internal.quality_profiles.findProfileByProjectAndLanguage(project.id, language.getKey()) profiles << profile if profile # Return default profile if the project is not associate to a profile @@ -65,7 +65,7 @@ class Api::ProfilesController < Api::ApiController profiles.each do |p| lang = p.language unless default_profile_by_language[lang] - default_profile_by_language[lang] = Internal.quality_profiles.defaultProfile(lang.to_s) + default_profile_by_language[lang] = Internal.qprofile_service.getDefault(lang.to_s) end end @@ -83,9 +83,10 @@ class Api::ProfilesController < Api::ApiController access_denied unless has_role?(:profileadmin) require_parameters :language, :name - profile_key=Java::OrgSonarCoreQualityprofileDb::QualityProfileKey.of(params[:name], params[:language]) call_backend do - Internal.component(Java::OrgSonarServerQualityprofile::QProfileService.java_class).delete(profile_key) + profile = Internal.quality_profiles.profile(params[:name], params[:language]) + not_found('Profile not found') unless profile + Internal.component(Java::OrgSonarServerQualityprofile::QProfileService.java_class).delete(profile.key) end render_success('Profile destroyed') end @@ -97,8 +98,7 @@ class Api::ProfilesController < Api::ApiController verify_post_request profile = Internal.quality_profiles.profile(params[:name], params[:language]) not_found('Profile not found') unless profile - profile_key=Java::OrgSonarCoreQualityprofileDb::QualityProfileKey.of(profile.name, profile.language) - Internal.component(Java::OrgSonarServerQualityprofile::QProfileService.java_class).setDefault(profile_key) + Internal.component(Java::OrgSonarServerQualityprofile::QProfileService.java_class).setDefault(profile.key) render_success end @@ -131,13 +131,13 @@ class Api::ProfilesController < Api::ApiController language = params[:language] if (params[:name].blank?) - profile = Internal.quality_profiles.defaultProfile(language) + profile = Internal.qprofile_service.getDefault(language) else profile = Internal.quality_profiles.profile(params[:name], params[:language]) end - profile_key=Java::OrgSonarCoreQualityprofileDb::QualityProfileKey.of(profile.name, profile.language) - backup = Internal.component(Java::OrgSonarServerQualityprofile::QProfileService.java_class).backup(profile_key) + not_found('Profile not found') unless profile + backup = Internal.component(Java::OrgSonarServerQualityprofile::QProfileService.java_class).backup(profile.key) respond_to do |format| format.xml { render :xml => backup } @@ -228,7 +228,7 @@ class Api::ProfilesController < Api::ApiController xml.profile do xml.name(@profile.name) xml.language(@profile.language) - xml.parent(@profile.parent_name) if @profile.parent_name.present? + xml.parent(@profile.parent_kee) if @profile.parent_kee.present? xml.default(@profile.default_profile?) @active_rules.each do |active_rule| diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb index ab14ed861dd..e8a77e22cd9 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb @@ -52,7 +52,7 @@ <tbody> <% @profiles.select { |p| p.language == language.getKey() }.each do |profile| projects_count = projects_count(profile) - is_default_profile = default_profile && default_profile==profile.key() + is_default_profile = default_profile && default_profile.key()==profile.key() %> <tr class="<%= cycle 'even', 'odd', :name => language.getKey() -%> hoverable" id="<%= u profile.key() %>"> <td width="40%"> |