]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4688 remove remaining call to l10n bundle
authorSimon Brandhof <simon.brandhof@gmail.com>
Wed, 11 Dec 2013 17:49:39 +0000 (18:49 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Wed, 11 Dec 2013 17:49:49 +0000 (18:49 +0100)
sonar-batch/src/main/java/org/sonar/batch/scan/report/JsonReport.java
sonar-batch/src/test/java/org/sonar/batch/scan/report/JsonReportTest.java
sonar-channel/src/test/java/org/sonar/channel/ChannelDispatcherTest.java
sonar-server/src/main/java/org/sonar/server/rule/RubyRuleService.java
sonar-server/src/main/webapp/WEB-INF/app/controllers/api/violations_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/models/rule.rb
sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb
sonar-server/src/test/java/org/sonar/server/rule/RubyRuleServiceTest.java

index c6f9bf8530a78e162b7488212bf5f8cd6966c4a1..992fb82ae91a6db04f7cefcb717b522c44a0855c 100644 (file)
@@ -29,6 +29,8 @@ import org.sonar.api.config.Settings;
 import org.sonar.api.issue.internal.DefaultIssue;
 import org.sonar.api.platform.Server;
 import org.sonar.api.rule.RuleKey;
+import org.sonar.api.rules.Rule;
+import org.sonar.api.rules.RuleFinder;
 import org.sonar.api.scan.filesystem.ModuleFileSystem;
 import org.sonar.api.user.User;
 import org.sonar.api.user.UserFinder;
@@ -62,25 +64,25 @@ public class JsonReport implements BatchComponent {
   private final Settings settings;
   private final ModuleFileSystem fileSystem;
   private final Server server;
-  private final RuleI18nManager ruleI18nManager;
+  private final RuleFinder ruleFinder;
   private final IssueCache issueCache;
   private final EventBus eventBus;
   private final ComponentSelector componentSelector;
   private AnalysisMode analysisMode;
   private UserFinder userFinder;
 
-  public JsonReport(Settings settings, ModuleFileSystem fileSystem, Server server, RuleI18nManager ruleI18nManager, IssueCache issueCache,
+  public JsonReport(Settings settings, ModuleFileSystem fileSystem, Server server, RuleFinder ruleFinder, IssueCache issueCache,
     EventBus eventBus, ComponentSelectorFactory componentSelectorFactory, AnalysisMode mode, UserFinder userFinder) {
-    this(settings, fileSystem, server, ruleI18nManager, issueCache, eventBus, componentSelectorFactory.create(), mode, userFinder);
+    this(settings, fileSystem, server, ruleFinder, issueCache, eventBus, componentSelectorFactory.create(), mode, userFinder);
   }
 
   @VisibleForTesting
-  JsonReport(Settings settings, ModuleFileSystem fileSystem, Server server, RuleI18nManager ruleI18nManager, IssueCache issueCache,
+  JsonReport(Settings settings, ModuleFileSystem fileSystem, Server server, RuleFinder ruleFinder, IssueCache issueCache,
     EventBus eventBus, ComponentSelector componentSelector, AnalysisMode analysisMode, UserFinder userFinder) {
     this.settings = settings;
     this.fileSystem = fileSystem;
     this.server = server;
-    this.ruleI18nManager = ruleI18nManager;
+    this.ruleFinder = ruleFinder;
     this.issueCache = issueCache;
     this.eventBus = eventBus;
     this.componentSelector = componentSelector;
@@ -216,7 +218,8 @@ public class JsonReport implements BatchComponent {
   }
 
   private String getRuleName(RuleKey ruleKey) {
-    return ruleI18nManager.getName(ruleKey.repository(), ruleKey.rule());
+    Rule rule = ruleFinder.findByKey(ruleKey);
+    return rule != null ? rule.getName() : null;
   }
 
   @VisibleForTesting
index 94cabfd72eb245a4d0969d261933f0abd9ff5a9f..0b0ce6bd1a178126f6b9e422960766ae100e16a8 100644 (file)
@@ -32,13 +32,13 @@ import org.sonar.api.platform.Server;
 import org.sonar.api.resources.Resource;
 import org.sonar.api.rule.RuleKey;
 import org.sonar.api.rules.Rule;
+import org.sonar.api.rules.RuleFinder;
 import org.sonar.api.scan.filesystem.ModuleFileSystem;
 import org.sonar.api.user.User;
 import org.sonar.api.user.UserFinder;
 import org.sonar.batch.bootstrap.AnalysisMode;
 import org.sonar.batch.events.EventBus;
 import org.sonar.batch.issue.IssueCache;
-import org.sonar.core.i18n.RuleI18nManager;
 import org.sonar.core.user.DefaultUser;
 import org.sonar.test.TestUtils;
 
@@ -48,7 +48,6 @@ import java.io.StringWriter;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Locale;
 import java.util.TimeZone;
 
 import static org.fest.assertions.Assertions.assertThat;
@@ -67,7 +66,7 @@ public class JsonReportTest {
   Resource resource = mock(Resource.class);
   ModuleFileSystem fileSystem = mock(ModuleFileSystem.class);
   Server server = mock(Server.class);
-  RuleI18nManager ruleI18nManager = mock(RuleI18nManager.class);
+  RuleFinder ruleFinder = mock(RuleFinder.class);
   Settings settings;
   IssueCache issueCache = mock(IssueCache.class);
   private AnalysisMode mode;
@@ -83,7 +82,7 @@ public class JsonReportTest {
     mode = mock(AnalysisMode.class);
     when(mode.isPreview()).thenReturn(true);
     userFinder = mock(UserFinder.class);
-    jsonReport = new JsonReport(settings, fileSystem, server, ruleI18nManager, issueCache, mock(EventBus.class), new DefaultComponentSelector(), mode, userFinder);
+    jsonReport = new JsonReport(settings, fileSystem, server, ruleFinder, issueCache, mock(EventBus.class), new DefaultComponentSelector(), mode, userFinder);
   }
 
   @Test
@@ -103,7 +102,7 @@ public class JsonReportTest {
       .setCreationDate(SIMPLE_DATE_FORMAT.parse("2013-04-24"))
       .setUpdateDate(SIMPLE_DATE_FORMAT.parse("2013-04-25"))
       .setNew(false);
-    when(ruleI18nManager.getName("squid", "AvoidCycles", Locale.getDefault())).thenReturn("Avoid Cycles");
+    when(ruleFinder.findByKey(RuleKey.of("squid", "AvoidCycles"))).thenReturn(new Rule().setName("Avoid Cycles"));
     when(jsonReport.getIssues()).thenReturn(Lists.<DefaultIssue>newArrayList(issue));
     DefaultUser user1 = new DefaultUser().setLogin("julien").setName("Julien");
     DefaultUser user2 = new DefaultUser().setLogin("simon").setName("Simon");
@@ -118,17 +117,18 @@ public class JsonReportTest {
 
   @Test
   public void should_exclude_resolved_issues() throws Exception {
+    RuleKey ruleKey = RuleKey.of("squid", "AvoidCycles");
     DefaultIssue issue = new DefaultIssue()
       .setKey("200")
       .setComponentKey("struts:org.apache.struts.Action")
-      .setRuleKey(RuleKey.of("squid", "AvoidCycles"))
+      .setRuleKey(ruleKey)
       .setStatus(Issue.STATUS_CLOSED)
       .setResolution(Issue.RESOLUTION_FIXED)
       .setCreationDate(SIMPLE_DATE_FORMAT.parse("2013-04-24"))
       .setUpdateDate(SIMPLE_DATE_FORMAT.parse("2013-04-25"))
       .setCloseDate(SIMPLE_DATE_FORMAT.parse("2013-04-26"))
       .setNew(false);
-    when(ruleI18nManager.getName("squid", "AvoidCycles", Locale.getDefault())).thenReturn("Avoid Cycles");
+    when(ruleFinder.findByKey(ruleKey)).thenReturn(Rule.create(ruleKey.repository(), ruleKey.rule()).setName("Avoid Cycles"));
     when(jsonReport.getIssues()).thenReturn(Lists.<DefaultIssue>newArrayList(issue));
 
     StringWriter writer = new StringWriter();
@@ -152,8 +152,8 @@ public class JsonReportTest {
   public void should_export_issues_to_file() throws IOException {
     File sonarDirectory = temporaryFolder.newFolder("sonar");
 
-    Rule rule = Rule.create("squid", "AvoidCycles");
-    when(ruleI18nManager.getName(rule, Locale.getDefault())).thenReturn("Avoid Cycles");
+    Rule rule = Rule.create("squid", "AvoidCycles").setName("Avoid Cycles");
+    when(ruleFinder.findByKey(RuleKey.of("squid", "AvoidCycles"))).thenReturn(rule);
     when(jsonReport.getIssues()).thenReturn(Collections.<DefaultIssue>emptyList());
 
     settings.setProperty("sonar.report.export.path", "output.json");
index b518d67164d3c27955e90af9feeb66517b777c56..992a8ea637b98357bfd716e3460718ae5e26a8d7 100644 (file)
@@ -63,7 +63,8 @@ public class ChannelDispatcherTest {
   private static class FakeChannel extends Channel<StringBuilder> {
     @Override
     public boolean consume(CodeReader code, StringBuilder output) {
-      return true;
+      boolean b = true;
+      return b;
     }
   }
 
index e2807da24c65c89d38ac7f60a763fd5d98030e4b..639225b712437f2be46ea803de02402056827450 100644 (file)
@@ -46,23 +46,6 @@ public class RubyRuleService implements ServerComponent, Startable {
     this.ruleRegistry = ruleRegistry;
   }
 
-  @CheckForNull
-  public String ruleL10nName(Rule rule) {
-    String name = i18n.getName(rule.getRepositoryKey(), rule.getKey());
-    if (name == null) {
-      name = rule.getName();
-    }
-    return name;
-  }
-
-  public String ruleL10nDescription(Rule rule) {
-    String desc = i18n.getDescription(rule.getRepositoryKey(), rule.getKey());
-    if (desc == null) {
-      desc = rule.getDescription();
-    }
-    return desc;
-  }
-
   public Integer[] findIds(Map<String, String> options) {
     Map<String, String> params = Maps.newHashMap();
     translateNonBlankKey(options, params, OPTIONS_STATUS, OPTIONS_STATUS);
index 778e58ca98ebcb413de0cffe1672bc107006573f..0ee770cc918985650271d29520ab7c5f05e71b9b 100644 (file)
@@ -70,7 +70,7 @@ class Api::ViolationsController < Api::ApiController
       hash[:switchedOff]=true if issue.resolution=='FALSE-POSITIVE'
       rule = results.rule(issue)
       if rule
-        hash[:rule] = {:key => rule.ruleKey.toString(), :name => Internal.rules.ruleL10nName(rule)}
+        hash[:rule] = {:key => rule.ruleKey.toString(), :name => rule.getName()}
       end
       resource = results.component(issue)
       if resource
index fb3f5ab8baa6f66cbb7a83373ac4e351eb9fcf0b..97d1bf5bba3d2de99bae1f0cec862a4dda8ea98a 100644 (file)
@@ -189,8 +189,8 @@ class Rule < ActiveRecord::Base
   end
 
   def self.to_hash(java_rule)
-    l10n_name = Internal.rules.ruleL10nName(java_rule)
-    l10n_desc = Internal.rules.ruleL10nDescription(java_rule)
+    l10n_name = java_rule.getName()
+    l10n_desc = java_rule.getDescription()
     hash = {:key => java_rule.ruleKey().toString()}
     hash[:name] = l10n_name if l10n_name
     hash[:desc] = l10n_desc if l10n_desc
index caa3053f7481a81c31d73e3cc42595c936bd6404..8f7e4236b322ca2c3ba3371313ebb58f5b13dfb4 100644 (file)
@@ -6,7 +6,7 @@
 
     <img src="<%= ApplicationController.root_context -%>/images/priority/<%= issue.severity -%>.png" title="<%= h message("severity.#{issue.severity}") -%>">
     &nbsp;
-    <a href="#" onclick="return toggleIssueRule(this)" class="rulename issue-rule-link"><%= h Internal.rules.ruleL10nName(@issue_results.rule(issue)) -%></a>
+    <a href="#" onclick="return toggleIssueRule(this)" class="rulename issue-rule-link"><%= h @issue_results.rule(issue).getName() -%></a>
     &nbsp;
     <% if issue.resolution %>
       <img src="<%= ApplicationController.root_context -%>/images/sep12.png"/>
index 153b2a74ed631a355696e3abcc94ce757cf12234..05401792eb5954fbdbabdbe997114778c22728e8 100644 (file)
@@ -22,17 +22,13 @@ package org.sonar.server.rule;
 import com.google.common.collect.Maps;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
-import org.sonar.api.rules.Rule;
 import org.sonar.core.i18n.RuleI18nManager;
-import org.sonar.server.user.MockUserSession;
 
-import java.util.Locale;
 import java.util.Map;
 
 import static org.fest.assertions.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 public class RubyRuleServiceTest {
 
@@ -41,29 +37,7 @@ public class RubyRuleServiceTest {
   RubyRuleService facade = new RubyRuleService(i18n, ruleRegistry);
 
   @Test
-  public void should_get_raw_name_if_no_l10n_name() throws Exception {
-    MockUserSession.set().setLocale(Locale.FRENCH);
-    when(i18n.getName("squid", "AvoidCycle", Locale.FRENCH)).thenReturn(null);
-
-    Rule rule = new Rule("squid", "AvoidCycle");
-    rule.setName("Avoid cycles");
-    String name = facade.ruleL10nName(rule);
-    assertThat(name).isEqualTo("Avoid cycles");
-  }
-
-  @Test
-  public void should_get_raw_description_if_no_l10n_description() throws Exception {
-    MockUserSession.set().setLocale(Locale.FRENCH);
-    when(i18n.getDescription("squid", "AvoidCycle", Locale.FRENCH)).thenReturn(null);
-
-    Rule rule = new Rule("squid", "AvoidCycle");
-    rule.setDescription("Cycles are evil");
-    String desc = facade.ruleL10nDescription(rule);
-    assertThat(desc).isEqualTo("Cycles are evil");
-  }
-
-  @Test
-  @SuppressWarnings({ "unchecked", "rawtypes" })
+  @SuppressWarnings({"unchecked", "rawtypes"})
   public void should_translate_arguments_ind_find_ids() {
     Map<String, String> options = Maps.newHashMap();
     String status = " ";
@@ -73,7 +47,7 @@ public class RubyRuleServiceTest {
     options.put("status", status);
     options.put("repositories", repositories);
     // language not specified to cover blank option case
-    options.put("searchtext", searchText );
+    options.put("searchtext", searchText);
 
     facade.findIds(options);
     ArgumentCaptor<Map> captor = ArgumentCaptor.forClass(Map.class);