]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-926 Deprecate CLA qualifier. JavaFile are now FILE.
authorJulien HENRY <julien.henry@sonarsource.com>
Fri, 17 Jan 2014 15:27:10 +0000 (16:27 +0100)
committerJulien HENRY <julien.henry@sonarsource.com>
Fri, 17 Jan 2014 15:27:10 +0000 (16:27 +0100)
sonar-plugin-api/src/main/java/org/sonar/api/resources/JavaFile.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/Qualifiers.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceUtils.java
sonar-plugin-api/src/test/java/org/sonar/api/utils/CoberturaReportParserUtilsTest.java

index 92c01f93d8084959f537893f1dfc878c80d5c7cc..d8346fa13c4d3bfd07ad1def30e2d0c06d6885af 100644 (file)
@@ -171,11 +171,11 @@ public class JavaFile extends Resource {
   }
 
   /**
-   * @return QUALIFIER_UNIT_TEST_CLASS or QUALIFIER_CLASS depending whether it is a unit test class
+   * @return QUALIFIER_UNIT_TEST_CLASS or QUALIFIER_FILE depending whether it is a unit test class
    */
   @Override
   public String getQualifier() {
-    return unitTest ? Qualifiers.UNIT_TEST_FILE : Qualifiers.CLASS;
+    return unitTest ? Qualifiers.UNIT_TEST_FILE : Qualifiers.FILE;
   }
 
   /**
index af59617bc514446c3f658559d654e135c924b619..dfbb1eb1b0ad9626b61ee7510fb445b55e4d84d7 100644 (file)
@@ -68,9 +68,25 @@ public final class Qualifiers {
   public static final String PACKAGE = "PAC";
   public static final String DIRECTORY = "DIR";
   public static final String FILE = "FIL";
+  /**
+   * @deprecated since 4.2 now java files are considered as regular files. Use {@link #FILE} instead.
+   */
+  @Deprecated
   public static final String CLASS = "CLA";
+  /**
+   * @deprecated since 4.2 resources under FILE level will no more be supported.
+   */
+  @Deprecated
   public static final String PARAGRAPH = "PAR";
+  /**
+   * @deprecated since 4.2 resources under FILE level will no more be supported.
+   */
+  @Deprecated
   public static final String METHOD = "MET";
+  /**
+   * @deprecated since 4.2 resources under FILE level will no more be supported.
+   */
+  @Deprecated
   public static final String FIELD = "FLD";
 
   // ugly, should be replaced by "natures"
@@ -137,9 +153,11 @@ public final class Qualifiers {
 
   /**
    * @param resource not nullable
+   * @deprecated since 4.2 CLA qualifier is deprecated
    */
+  @Deprecated
   public static boolean isClass(final Resource resource) {
-    return StringUtils.equals(CLASS, resource.getQualifier());
+    return StringUtils.equals(CLASS, resource.getQualifier()) || isFile(resource);
   }
 
   /**
index 3676e50b140f779f350e2abc6ef83e2cef330a47..1745f57641cf07b6ce1265f506477dbf0f595fdb 100644 (file)
@@ -111,9 +111,11 @@ public final class ResourceUtils {
 
   /**
    * @return whether a resource is a class
+   * @deprecated since 4.2 CLA qualifier is deprecated
    */
+  @Deprecated
   public static boolean isClass(Resource resource) {
-    return Qualifiers.CLASS.equals(resource.getQualifier());
+    return Qualifiers.CLASS.equals(resource.getQualifier()) || Qualifiers.FILE.equals(resource.getQualifier());
   }
 
   /**
index 9260bcf908d0663c29d55912664e859e0871d682..d0bb5d6015b5070d86b43b59dbadb16c49af31be 100644 (file)
@@ -154,52 +154,52 @@ public class CoberturaReportParserUtilsTest {
   @Test
   public void shouldInsertCoverageAtFileLevel() throws URISyntaxException {
     File coverage = new File(getClass().getResource(
-        "/org/sonar/api/utils/CoberturaReportParserUtilsTest/shouldInsertCoverageAtFileLevel/coverage.xml").toURI());
+      "/org/sonar/api/utils/CoberturaReportParserUtilsTest/shouldInsertCoverageAtFileLevel/coverage.xml").toURI());
     when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
     CoberturaReportParserUtils.parseReport(coverage, context, JAVA_FILE_RESOLVER);
 
-    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass")),
-        argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 35.0)));
-    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass")),
-        argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES, 22.0)));
+    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+      argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 35.0)));
+    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+      argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES, 22.0)));
 
-    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass")),
-        argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER, 4.0)));
-    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass")),
-        argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS, 3.0)));
+    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+      argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER, 4.0)));
+    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+      argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS, 3.0)));
 
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass$InnerClassInside")),
-        argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+      argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass$InnerClassInside")),
-        argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+      argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass$InnerClassInside")),
-        argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+      argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.InnerClass$InnerClassInside")),
-        argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+      argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
 
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.PrivateClass")),
-        argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+      argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.PrivateClass")),
-        argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+      argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.PrivateClass")),
-        argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+      argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
     verify(context, never()).saveMeasure(
-        argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.PrivateClass")),
-        argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
+      argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+      argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
 
     verify(context)
-        .saveMeasure(
-            eq(new JavaFile("org.sonar.samples.InnerClass")),
-            argThat(new IsMeasure(
-                CoreMetrics.COVERAGE_LINE_HITS_DATA,
-                "22=2;25=0;26=0;29=0;30=0;31=0;34=1;35=1;36=1;37=0;39=1;41=1;44=2;46=1;47=1;50=0;51=0;52=0;53=0;55=0;57=0;60=0;61=0;64=1;71=1;73=1;76=0;77=0;80=0;81=0;85=0;87=0;91=0;93=0;96=1")));
+      .saveMeasure(
+        eq(new JavaFile("org.sonar.samples.InnerClass")),
+        argThat(new IsMeasure(
+          CoreMetrics.COVERAGE_LINE_HITS_DATA,
+          "22=2;25=0;26=0;29=0;30=0;31=0;34=1;35=1;36=1;37=0;39=1;41=1;44=2;46=1;47=1;50=0;51=0;52=0;53=0;55=0;57=0;60=0;61=0;64=1;71=1;73=1;76=0;77=0;80=0;81=0;85=0;87=0;91=0;93=0;96=1")));
   }
 
   @Test
@@ -207,9 +207,9 @@ public class CoberturaReportParserUtilsTest {
     when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
     CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
     verify(context).saveMeasure(
-        eq(new JavaFile("org.apache.commons.chain.impl.CatalogBase")),
-        argThat(new IsMeasure(CoreMetrics.COVERAGE_LINE_HITS_DATA,
-            "48=117;56=234;66=0;67=0;68=0;84=999;86=999;98=318;111=18;121=0;122=0;125=0;126=0;127=0;128=0;131=0;133=0")));
+      eq(new JavaFile("org.apache.commons.chain.impl.CatalogBase")),
+      argThat(new IsMeasure(CoreMetrics.COVERAGE_LINE_HITS_DATA,
+        "48=117;56=234;66=0;67=0;68=0;84=999;86=999;98=318;111=18;121=0;122=0;125=0;126=0;127=0;128=0;131=0;133=0")));
   }
 
   @Test
@@ -218,8 +218,8 @@ public class CoberturaReportParserUtilsTest {
     when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.samples.MyClass"));
     CoberturaReportParserUtils.parseReport(coverage, context, JAVA_FILE_RESOLVER);
 
-    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.CLASS, "org.sonar.samples.MyFile")),
-        argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 5.0))); // do not count line 26 twice
+    verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.MyFile")),
+      argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 5.0))); // do not count line 26 twice
   }
 
   private File getCoverageReport() throws URISyntaxException {