aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2014-07-17 13:28:30 +0600
committerStas Vilchik <vilchiks@gmail.com>2014-07-17 13:28:30 +0600
commitaf1fcf5fe157c148102f2c1e0bf5182710bcb469 (patch)
treed873c1e1111d14f00b547cd5b0d24ece17d42f46 /server
parent5f9fca427ecf8779f531ad7185d0dba41bc55fe4 (diff)
parent24abd42922e4adf3eff60b63d4a5434424b3cfab (diff)
downloadsonarqube-af1fcf5fe157c148102f2c1e0bf5182710bcb469.tar.gz
sonarqube-af1fcf5fe157c148102f2c1e0bf5182710bcb469.zip
Merge branch 'master' of https://github.com/SonarSource/sonarqube
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java10
-rw-r--r--server/sonar-web/src/main/coffee/coding-rules/views/filter-bar-view.coffee7
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/profiles_controller.rb22
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb2
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%">