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