aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server/src/main/java
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2011-02-08 13:00:34 +0100
committersimonbrandhof <simon.brandhof@gmail.com>2011-02-08 13:55:30 +0100
commitc3268ec885e30f9e4953d7178419870589e3484d (patch)
tree1affa090f2102b9caa3faea3ae0e2a9be7b327ba /sonar-server/src/main/java
parent9314e5f83a4f1cb4025cc7fc552cba773b6f1155 (diff)
downloadsonarqube-c3268ec885e30f9e4953d7178419870589e3484d.tar.gz
sonarqube-c3268ec885e30f9e4953d7178419870589e3484d.zip
SONAR-2078 Do not show duplicated repositories in rules search engine
Diffstat (limited to 'sonar-server/src/main/java')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/rules/RulesConsole.java15
-rw-r--r--sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java3
2 files changed, 11 insertions, 7 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/rules/RulesConsole.java b/sonar-server/src/main/java/org/sonar/server/rules/RulesConsole.java
index a7ed65b5e7c..4204a17919d 100644
--- a/sonar-server/src/main/java/org/sonar/server/rules/RulesConsole.java
+++ b/sonar-server/src/main/java/org/sonar/server/rules/RulesConsole.java
@@ -19,22 +19,23 @@
*/
package org.sonar.server.rules;
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ListMultimap;
+import com.google.common.collect.HashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import com.google.common.collect.SetMultimap;
import org.sonar.api.ServerComponent;
import org.sonar.api.rules.RuleRepository;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.Set;
public final class RulesConsole implements ServerComponent {
private List<RuleRepository> repositories = Lists.newArrayList();
private Map<String, RuleRepository> repositoryByKey = Maps.newHashMap();
- private ListMultimap<String, RuleRepository> repositoriesByLanguage = ArrayListMultimap.create();
+ private SetMultimap<String, RuleRepository> repositoriesByLanguage = HashMultimap.create();
public RulesConsole(RuleRepository[] repositories, DeprecatedRuleRepositories deprecatedRuleRepositories) {
@@ -47,12 +48,14 @@ public final class RulesConsole implements ServerComponent {
this.repositories.addAll(deprecatedBridge.create());
}
for (RuleRepository repository : this.repositories) {
- repositoriesByLanguage.put(repository.getLanguage(), repository);
- repositoryByKey.put(repository.getKey(), repository);
+ if (!repositoryByKey.containsKey(repository.getKey())) {
+ repositoriesByLanguage.put(repository.getLanguage(), repository);
+ repositoryByKey.put(repository.getKey(), repository);
+ }
}
}
- public List<RuleRepository> getRepositoriesByLanguage(String language) {
+ public Set<RuleRepository> getRepositoriesByLanguage(String language) {
return repositoriesByLanguage.get(language);
}
diff --git a/sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java b/sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java
index f540eda5a93..309694c2466 100644
--- a/sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java
+++ b/sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java
@@ -49,6 +49,7 @@ import org.sonar.updatecenter.common.Version;
import java.util.Collection;
import java.util.List;
+import java.util.Set;
public final class JRubyFacade implements ServerComponent {
@@ -157,7 +158,7 @@ public final class JRubyFacade implements ServerComponent {
return getContainer().getComponent(RulesConsole.class).getRepository(repositoryKey);
}
- public List<RuleRepository> getRuleRepositoriesByLanguage(String languageKey) {
+ public Set<RuleRepository> getRuleRepositoriesByLanguage(String languageKey) {
return getContainer().getComponent(RulesConsole.class).getRepositoriesByLanguage(languageKey);
}