From 02627267d8d12b75b8df1ef0e744b47889b38c93 Mon Sep 17 00:00:00 2001
From: Simon Brandhof
Date: Tue, 27 Mar 2012 14:54:50 +0200
Subject: [PATCH] SONAR-3323 rename @RequiredMeasures attributes to allOf and
anyOf
---
.../sonar/plugins/core/web/Lcom4Viewer.java | 2 +-
.../ui/dependencies/GwtDependenciesTab.java | 5 ++-
.../design/ui/libraries/GwtLibrariesPage.java | 3 +-
.../plugins/design/ui/page/GwtDesignPage.java | 2 +-
.../org/sonar/api/web/RequiredMeasures.java | 6 +--
.../java/org/sonar/server/ui/ViewProxy.java | 4 +-
.../main/java/org/sonar/server/ui/Views.java | 37 +++++++++----------
.../org/sonar/server/ui/ViewProxyTest.java | 6 +--
8 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/Lcom4Viewer.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/Lcom4Viewer.java
index c0a042e0fe5..879e7c1dcba 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/Lcom4Viewer.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/Lcom4Viewer.java
@@ -29,7 +29,7 @@ import org.sonar.api.web.ResourceQualifier;
import org.sonar.api.web.RubyRailsPage;
import org.sonar.api.web.UserRole;
-@RequiredMeasures(mandatory = {CoreMetrics.LCOM4_KEY})
+@RequiredMeasures(allOf = {CoreMetrics.LCOM4_KEY})
@NavigationSection(NavigationSection.RESOURCE_TAB)
@UserRole(UserRole.CODEVIEWER)
@ResourceQualifier(Qualifiers.CLASS)
diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/dependencies/GwtDependenciesTab.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/dependencies/GwtDependenciesTab.java
index a4a20028ba4..3c479bebca6 100644
--- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/dependencies/GwtDependenciesTab.java
+++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/dependencies/GwtDependenciesTab.java
@@ -20,6 +20,7 @@
package org.sonar.plugins.design.ui.dependencies;
import org.sonar.api.measures.CoreMetrics;
+import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Resource;
import org.sonar.api.web.DefaultTab;
import org.sonar.api.web.GwtPage;
@@ -29,8 +30,8 @@ import org.sonar.api.web.ResourceQualifier;
import org.sonar.api.web.UserRole;
import org.sonar.plugins.design.ui.dependencies.client.DependenciesTab;
-@RequiredMeasures(mandatory = {CoreMetrics.AFFERENT_COUPLINGS_KEY, CoreMetrics.EFFERENT_COUPLINGS_KEY})
-@ResourceQualifier({Resource.QUALIFIER_FILE, Resource.QUALIFIER_CLASS, Resource.QUALIFIER_PACKAGE, Resource.QUALIFIER_PROJECT, Resource.QUALIFIER_MODULE})
+@RequiredMeasures(allOf = {CoreMetrics.AFFERENT_COUPLINGS_KEY, CoreMetrics.EFFERENT_COUPLINGS_KEY})
+@ResourceQualifier({Qualifiers.FILE, Qualifiers.CLASS, Qualifiers.PACKAGE, Qualifiers.PROJECT, Qualifiers.MODULE})
@DefaultTab(metrics = {CoreMetrics.AFFERENT_COUPLINGS_KEY, CoreMetrics.EFFERENT_COUPLINGS_KEY})
@NavigationSection({NavigationSection.RESOURCE_TAB})
@UserRole(UserRole.USER)
diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/libraries/GwtLibrariesPage.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/libraries/GwtLibrariesPage.java
index b117dad6858..827160a3cb4 100644
--- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/libraries/GwtLibrariesPage.java
+++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/libraries/GwtLibrariesPage.java
@@ -19,6 +19,7 @@
*/
package org.sonar.plugins.design.ui.libraries;
+import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Resource;
import org.sonar.api.web.GwtPage;
import org.sonar.api.web.NavigationSection;
@@ -26,7 +27,7 @@ import org.sonar.api.web.ResourceQualifier;
import org.sonar.api.web.UserRole;
import org.sonar.plugins.design.ui.libraries.client.LibrariesPage;
-@ResourceQualifier({Resource.QUALIFIER_PROJECT, Resource.QUALIFIER_MODULE})
+@ResourceQualifier({Qualifiers.PROJECT, Qualifiers.MODULE})
@NavigationSection(NavigationSection.RESOURCE)
@UserRole(UserRole.USER)
public class GwtLibrariesPage extends GwtPage {
diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/page/GwtDesignPage.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/page/GwtDesignPage.java
index 602dd93720b..f1c4188110a 100644
--- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/page/GwtDesignPage.java
+++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/page/GwtDesignPage.java
@@ -29,7 +29,7 @@ import org.sonar.api.web.ResourceQualifier;
import org.sonar.api.web.UserRole;
import org.sonar.plugins.design.ui.page.client.DesignPage;
-@RequiredMeasures(mandatory = {CoreMetrics.DEPENDENCY_MATRIX_KEY})
+@RequiredMeasures(allOf = {CoreMetrics.DEPENDENCY_MATRIX_KEY})
@ResourceQualifier({Qualifiers.PROJECT, Qualifiers.MODULE, Qualifiers.PACKAGE, Qualifiers.DIRECTORY})
@DefaultTab(metrics = {
CoreMetrics.DEPENDENCY_MATRIX_KEY, CoreMetrics.PACKAGE_FEEDBACK_EDGES_KEY, CoreMetrics.PACKAGE_CYCLES_KEY,
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/RequiredMeasures.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/RequiredMeasures.java
index f89cbddee4f..b94ae3098ff 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/RequiredMeasures.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/RequiredMeasures.java
@@ -32,7 +32,7 @@ import java.lang.annotation.Target;
*
*
* Example: the DesignPage absolutely requires the "dsm" measure to be fed in order to be displayed, whatever the language.
- * The class will define a @RequiredMeasures(mandatory={"dsm"})
annotation.
+ * The class will define a @RequiredMeasures(allOf={"dsm"})
annotation.
*
*
* @since 2.15
@@ -45,13 +45,13 @@ public @interface RequiredMeasures {
* Lists all the measures that must absolutely to be available on the snapshot in order to display the view.
* @return the list of mandatory measures, identified by their metric key
*/
- String[] mandatory() default {};
+ String[] allOf() default {};
/**
* Lists all needed measures required to display the view. If only one of them is available on the snapshot, then the view
* is displayed.
* @return the list of needed measures, identified by their metric key
*/
- String[] oneOf() default {};
+ String[] anyOf() default {};
}
diff --git a/sonar-server/src/main/java/org/sonar/server/ui/ViewProxy.java b/sonar-server/src/main/java/org/sonar/server/ui/ViewProxy.java
index eb8822713fa..6f3a41dbc7c 100644
--- a/sonar-server/src/main/java/org/sonar/server/ui/ViewProxy.java
+++ b/sonar-server/src/main/java/org/sonar/server/ui/ViewProxy.java
@@ -71,8 +71,8 @@ public class ViewProxy implements Comparable {
private void initRequiredMeasures(V view) {
RequiredMeasures requiredMeasuresAnnotation = AnnotationUtils.getClassAnnotation(view, RequiredMeasures.class);
if (requiredMeasuresAnnotation != null) {
- mandatoryMeasures = requiredMeasuresAnnotation.mandatory();
- needOneOfMeasures = requiredMeasuresAnnotation.oneOf();
+ mandatoryMeasures = requiredMeasuresAnnotation.allOf();
+ needOneOfMeasures = requiredMeasuresAnnotation.anyOf();
}
}
diff --git a/sonar-server/src/main/java/org/sonar/server/ui/Views.java b/sonar-server/src/main/java/org/sonar/server/ui/Views.java
index 73496c20c0d..f90787e60c7 100644
--- a/sonar-server/src/main/java/org/sonar/server/ui/Views.java
+++ b/sonar-server/src/main/java/org/sonar/server/ui/Views.java
@@ -19,27 +19,26 @@
*/
package org.sonar.server.ui;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import org.apache.commons.lang.ArrayUtils;
import org.sonar.api.ServerComponent;
import org.sonar.api.web.Page;
import org.sonar.api.web.View;
import org.sonar.api.web.Widget;
-import com.google.common.collect.Lists;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
public class Views implements ServerComponent {
- private Map> pagesPerId = new HashMap>();
- private Set> pages = new TreeSet>();
+ private Map> pagesPerId = Maps.newHashMap();
+ private Set> pages = Sets.newTreeSet();
- private Map> widgetsPerId = new HashMap>();
- private Set> widgets = new TreeSet>();
+ private Map> widgetsPerId = Maps.newHashMap();
+ private Set> widgets = Sets.newTreeSet();
public Views() {
}
@@ -85,7 +84,7 @@ public class Views implements ServerComponent {
}
public List> getPagesForMetric(String section, String resourceScope, String resourceQualifier, String resourceLanguage,
- String[] availableMeasures, String metric) {
+ String[] availableMeasures, String metric) {
List> result = Lists.newArrayList();
for (ViewProxy proxy : pages) {
if (accept(proxy, section, resourceScope, resourceQualifier, resourceLanguage, availableMeasures) && proxy.supportsMetric(metric)) {
@@ -115,22 +114,22 @@ public class Views implements ServerComponent {
protected static boolean accept(ViewProxy proxy, String section, String resourceScope, String resourceQualifier, String resourceLanguage, String[] availableMeasures) {
return acceptNavigationSection(proxy, section)
- && acceptResourceScope(proxy, resourceScope)
- && acceptResourceQualifier(proxy, resourceQualifier)
- && acceptResourceLanguage(proxy, resourceLanguage)
- && acceptAvailableMeasures(proxy, availableMeasures);
+ && acceptResourceScope(proxy, resourceScope)
+ && acceptResourceQualifier(proxy, resourceQualifier)
+ && acceptResourceLanguage(proxy, resourceLanguage)
+ && acceptAvailableMeasures(proxy, availableMeasures);
}
protected static boolean acceptResourceLanguage(ViewProxy proxy, String resourceLanguage) {
- return resourceLanguage== null || ArrayUtils.isEmpty(proxy.getResourceLanguages()) || ArrayUtils.contains(proxy.getResourceLanguages(), resourceLanguage);
+ return resourceLanguage == null || ArrayUtils.isEmpty(proxy.getResourceLanguages()) || ArrayUtils.contains(proxy.getResourceLanguages(), resourceLanguage);
}
protected static boolean acceptResourceScope(ViewProxy proxy, String resourceScope) {
- return resourceScope== null || ArrayUtils.isEmpty(proxy.getResourceScopes()) || ArrayUtils.contains(proxy.getResourceScopes(), resourceScope);
+ return resourceScope == null || ArrayUtils.isEmpty(proxy.getResourceScopes()) || ArrayUtils.contains(proxy.getResourceScopes(), resourceScope);
}
protected static boolean acceptResourceQualifier(ViewProxy proxy, String resourceQualifier) {
- return resourceQualifier== null || ArrayUtils.isEmpty(proxy.getResourceQualifiers()) || ArrayUtils.contains(proxy.getResourceQualifiers(), resourceQualifier);
+ return resourceQualifier == null || ArrayUtils.isEmpty(proxy.getResourceQualifiers()) || ArrayUtils.contains(proxy.getResourceQualifiers(), resourceQualifier);
}
protected static boolean acceptNavigationSection(ViewProxy proxy, String section) {
diff --git a/sonar-server/src/test/java/org/sonar/server/ui/ViewProxyTest.java b/sonar-server/src/test/java/org/sonar/server/ui/ViewProxyTest.java
index c2ae3c9d7ed..103fa41427d 100644
--- a/sonar-server/src/test/java/org/sonar/server/ui/ViewProxyTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/ui/ViewProxyTest.java
@@ -155,7 +155,7 @@ public class ViewProxyTest {
@Test
public void shouldAcceptAvailableMeasuresForMandatoryMeasures() throws Exception {
- @RequiredMeasures(mandatory = {"lines", "ncloc"})
+ @RequiredMeasures(allOf = {"lines", "ncloc"})
class MyView extends FakeView {
MyView() {
super("fake");
@@ -169,7 +169,7 @@ public class ViewProxyTest {
@Test
public void shouldAcceptAvailableMeasuresForOneOfNeededMeasures() throws Exception {
- @RequiredMeasures(oneOf = {"lines", "ncloc"})
+ @RequiredMeasures(anyOf = {"lines", "ncloc"})
class MyView extends FakeView {
MyView() {
super("fake");
@@ -183,7 +183,7 @@ public class ViewProxyTest {
@Test
public void shouldAcceptAvailableMeasuresForMandatoryAndOneOfNeededMeasures() throws Exception {
- @RequiredMeasures(mandatory = {"lines", "ncloc"}, oneOf = {"duplications", "duplictated_blocks"})
+ @RequiredMeasures(allOf = {"lines", "ncloc"}, anyOf = {"duplications", "duplictated_blocks"})
class MyView extends FakeView {
MyView() {
super("fake");
--
2.39.5