From 07c32b4203652add50d6f87d5a7e769be97dd856 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 2 Apr 2014 15:35:37 +0200 Subject: [PATCH] SONAR-5191 fix some usage of java list.sort in ruby code --- .../webapp/WEB-INF/app/controllers/account_controller.rb | 2 +- .../app/controllers/api/updatecenter_controller.rb | 2 +- .../WEB-INF/app/controllers/api/widgets_controller.rb | 2 +- .../WEB-INF/app/controllers/dashboard_controller.rb | 4 ++-- .../app/controllers/permission_templates_controller.rb | 4 ++-- .../webapp/WEB-INF/app/controllers/roles_controller.rb | 6 +++--- .../app/controllers/rules_configuration_controller.rb | 6 +++--- .../src/main/webapp/WEB-INF/app/models/api/utils.rb | 8 ++++++-- 8 files changed, 19 insertions(+), 15 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/account_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/account_controller.rb index d16315a4783..a90cd7539b2 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/account_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/account_controller.rb @@ -97,7 +97,7 @@ class AccountController < ApplicationController end def dispatchers_for_scope(scope) - notification_service.getDispatcherKeysForProperty(scope, "true").sort {|x,y| dispatcher_name(x) <=> dispatcher_name(y)} + notification_service.getDispatcherKeysForProperty(scope, "true").to_a.sort {|x,y| dispatcher_name(x) <=> dispatcher_name(y)} end def dispatcher_name(dispatcher_key) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/updatecenter_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/updatecenter_controller.rb index 9816fed0f15..555eb77744d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/updatecenter_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/updatecenter_controller.rb @@ -65,6 +65,6 @@ class Api::UpdatecenterController < Api::ApiController end def user_plugins - java_facade.getPluginsMetadata().select{|plugin| !plugin.isCore()}.sort + java_facade.getPluginsMetadata().select{|plugin| !plugin.isCore()}.to_a.sort end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/widgets_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/widgets_controller.rb index b47631ca6ee..2f0fb8f32ee 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/widgets_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/widgets_controller.rb @@ -20,7 +20,7 @@ class Api::WidgetsController < Api::ApiController def index - widget_definitions = java_facade.getWidgets().sort_by{|w| w.getId()} + widget_definitions = java_facade.getWidgets().to_a.sort_by{|w| w.getId()} render :json => jsonp(widgets_to_json(widget_definitions)) end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb index 9a963391275..a65dc801b75 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb @@ -212,9 +212,9 @@ class DashboardController < ApplicationController end def load_widget_definitions(filter_on_category) - @widget_definitions=java_facade.getWidgets().sort {|w1,w2| widgetL10nName(w1) <=> widgetL10nName(w2)} + @widget_definitions=java_facade.getWidgets().to_a.sort {|w1,w2| widgetL10nName(w1) <=> widgetL10nName(w2)} - @widget_categories=@widget_definitions.map(&:getWidgetCategories).flatten.uniq.sort + @widget_categories=@widget_definitions.map(&:getWidgetCategories).to_a.flatten.uniq.sort unless filter_on_category.blank? @widget_definitions=@widget_definitions.select { |definition| definition.getWidgetCategories().to_a.include?(filter_on_category) } end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb index ef8f6aa9149..fc073ec0ddb 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb @@ -273,7 +273,7 @@ class PermissionTemplatesController < ApplicationController # GET (modal form) # def default_templates_form - all_templates = Internal.permission_templates.selectAllPermissionTemplates + all_templates = Internal.permission_templates.selectAllPermissionTemplates.to_a @permission_templates_options = all_templates.sort_by {|t| t.name.downcase}.collect {|t| [t.name, t.key]} @root_qualifiers = get_root_qualifiers @@ -300,7 +300,7 @@ class PermissionTemplatesController < ApplicationController private def get_root_qualifiers - Java::OrgSonarServerUi::JRubyFacade.getInstance().getResourceRootTypes().map {|type| type.getQualifier()}.sort + Java::OrgSonarServerUi::JRubyFacade.getInstance().getResourceRootTypes().map {|type| type.getQualifier()}.to_a.sort end def get_default_templates_per_qualifier(root_qualifiers) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb index cc95b4f7d65..40a0f37b395 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb @@ -38,7 +38,7 @@ class RolesController < ApplicationController params['qualifiers'] ||= 'TRK' @query_result = Internal.component_api.findWithUncompleteProjects(params) - @available_qualifiers = java_facade.getQualifiersWithProperty('hasRolePolicy').collect { |qualifier| [message("qualifiers.#{qualifier}"), qualifier] }.sort + @available_qualifiers = java_facade.getQualifiersWithProperty('hasRolePolicy').collect { |qualifier| [message("qualifiers.#{qualifier}"), qualifier] }.to_a.sort # For the moment, we return projects from rails models, but it should be replaced to return java components (this will need methods on ComponentQueryResult to return roles from component) @projects = Project.all( @@ -96,9 +96,9 @@ class RolesController < ApplicationController if @components && @components.size == 1 project = Project.by_key(@components.first) - @permission_templates = Internal.permission_templates.selectAllPermissionTemplates(project.key).sort_by {|t| t.name.downcase}.collect {|pt| [pt.name, pt.key]} + @permission_templates = Internal.permission_templates.selectAllPermissionTemplates(project.key).to_a.sort_by {|t| t.name.downcase}.collect {|pt| [pt.name, pt.key]} else - @permission_templates = Internal.permission_templates.selectAllPermissionTemplates().sort_by {|t| t.name.downcase}.collect {|pt| [pt.name, pt.key]} + @permission_templates = Internal.permission_templates.selectAllPermissionTemplates().to_a.sort_by {|t| t.name.downcase}.collect {|pt| [pt.name, pt.key]} end render :partial => 'apply_template_form' diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb index f2ccf7afba4..96d071981ed 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb @@ -68,7 +68,7 @@ class RulesConfigurationController < ApplicationController @current_rules = result.rules - @select_repositories = ANY_SELECTION + java_facade.getRuleRepositoriesByLanguage(@profile.language).collect { |repo| [repo.name(), repo.key()] }.sort + @select_repositories = ANY_SELECTION + java_facade.getRuleRepositoriesByLanguage(@profile.language).collect { |repo| [repo.name(), repo.key()] }.to_a.sort @select_priority = ANY_SELECTION + RULE_PRIORITIES @select_activation = [[message('active'), STATUS_ACTIVE], [message('inactive'), STATUS_INACTIVE]] @select_inheritance = [[message('any'), 'any'], [message('rules_configuration.not_inherited'), 'NOT'], [message('rules_configuration.inherited'), 'INHERITED'], @@ -77,7 +77,7 @@ class RulesConfigurationController < ApplicationController [message('rules.status.deprecated'), Rule::STATUS_DEPRECATED], [message('rules.status.ready'), Rule::STATUS_READY]] @select_sort_by = [[message('rules_configuration.rule_name'), Rule::SORT_BY_RULE_NAME], [message('rules_configuration.creation_date'), Rule::SORT_BY_CREATION_DATE]] - @select_tags = ANY_SELECTION + Internal.rule_tags.listAllTags().sort + @select_tags = ANY_SELECTION + Internal.rule_tags.listAllTags().to_a.sort end end @@ -408,7 +408,7 @@ class RulesConfigurationController < ApplicationController end def tag_selection_for_rule(rule) - Internal.rule_tags.listAllTags().sort.collect do |tag| + Internal.rule_tags.listAllTags().to_a.sort.collect do |tag| { :value => tag, :selected => (rule.systemTags.contains?(tag) || rule.adminTags.contains?(tag)), diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb index 89ed4d2ea4e..5ba939de87b 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb @@ -167,14 +167,18 @@ class Api::Utils # Api::Utils.insensitive_sort([foo, bar]) { |elt| elt.nullable_field_to_compare } # def self.insensitive_sort(arr) + ruby_array = arr + if arr.respond_to? :to_a + ruby_array = arr.to_a + end if block_given? - arr.sort do |a, b| + ruby_array.sort do |a, b| a_string=yield(a) || '' b_string=yield(b) || '' a_string.downcase <=> b_string.downcase || a_string <=> b_string end else - arr.sort do |a, b| + ruby_array.sort do |a, b| a_string=a || '' b_string=b || '' a_string.downcase <=> b_string.downcase || a_string <=> b_string -- 2.39.5