]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7612 Apply feedback 948/head
authorJulien HENRY <julien.henry@sonarsource.com>
Wed, 11 May 2016 10:21:22 +0000 (12:21 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Thu, 12 May 2016 06:49:09 +0000 (08:49 +0200)
22 files changed:
sonar-plugin-api/src/main/java/org/sonar/api/batch/AbstractCpdMapping.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/DecoratorBarriers.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/DecoratorContext.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/PostJob.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/Sensor.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputComponent.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputDir.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputModule.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/PostJobContext.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/issue/PostJobIssue.java
sonar-plugin-api/src/main/java/org/sonar/api/component/RubyComponentService.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/Directory.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/File.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceUtils.java
sonar-plugin-api/src/main/java/org/sonar/api/test/CoverageBlock.java
sonar-plugin-api/src/main/java/org/sonar/api/test/MutableTestCase.java
sonar-plugin-api/src/main/java/org/sonar/api/test/MutableTestPlan.java
sonar-plugin-api/src/main/java/org/sonar/api/test/MutableTestable.java
sonar-scanner-engine/src/main/java/org/sonar/batch/postjob/DefaultPostJobContext.java
sonar-scanner-engine/src/test/java/org/sonar/batch/postjob/DefaultPostJobContextTest.java

index d644d00d5e388ccf99468f40263baa2775f66514..8c6896f1bd390fc0e440977df644c7cf7e21da4c 100644 (file)
@@ -26,7 +26,7 @@ import org.sonar.api.resources.Resource;
  * A pre-implementation of the CpdMapping extension point
  *
  * @since 1.10
- * @deprecated since 5.6
+ * @deprecated since 5.6 use {@link SensorContext#newCpdTokens()}
  */
 @Deprecated
 public abstract class AbstractCpdMapping implements CpdMapping {
index e05bbb2a9db626162d260a4a358cd5b59b1b4eab..7f796294d39e712940882c063d529e86e75c7a21 100644 (file)
@@ -28,7 +28,7 @@ package org.sonar.api.batch;
  * </ul>
  *
  * @since 2.3
- * @deprecated since 5.6 no more used since Decorators are deprecated
+ * @deprecated since 5.6 as {@link Decorator} is deprecated
  */
 @Deprecated
 public interface DecoratorBarriers {
index 2da3f35e3ba723a2eb3669a3a78a1aa4b640ecde..cd5056c38824e3e1f78f7ee64e4ed004c1f4e2ab 100644 (file)
@@ -30,7 +30,7 @@ import org.sonar.api.resources.Resource;
 
 /**
  * @since 1.10
- * @deprecated since 5.6 no more used since Decorator is deprecated
+ * @deprecated since 5.6 as {@link Decorator} is deprecated
  */
 @Deprecated
 public interface DecoratorContext {
index 5605a34c30512d0f02432377ad197c2e1171d820..a7120f5e8e8ea7ef28169a2901dfe920d39d64a9 100644 (file)
@@ -29,7 +29,7 @@ import org.sonar.api.resources.Project;
  * it is an asynchronous processing on server side.
  *
  * @since 1.10
- * @deprecated since 5.6 use {@link org.sonar.api.batch.postjob.PostJob}
+ * @deprecated since 5.6 use org.sonar.api.batch.postjob.PostJob
  */
 @Deprecated
 @BatchSide
index ebe26fdb6d9f635f3db9adc3b5bb48cd5cb35279..5f632e974a99f57f49bf32d3821f29fc7dffb397 100644 (file)
@@ -40,7 +40,7 @@ import org.sonar.api.resources.Project;
  * 
  *
  * @since 1.10
- * @deprecated since 5.6 use {@link org.sonar.api.batch.sensor.Sensor}
+ * @deprecated since 5.6 use org.sonar.api.batch.sensor.Sensor
  */
 @Deprecated
 @BatchSide
index 8bf224613ef3a802fb6a237ffbb2c716a373addc..961156d56c0bd63d0848e90aae5832a7c029aece 100644 (file)
@@ -25,6 +25,7 @@ package org.sonar.api.batch.fs;
  * @since 5.2
  * @see InputFile
  * @see InputDir
+ * @see InputModule
  */
 public interface InputComponent {
 
index 9237df365472c8fd8a30a6eee86b32765b4097b5..98bf6dcedaedbdcce747074313f3418763426275 100644 (file)
@@ -23,7 +23,7 @@ import java.io.File;
 import java.nio.file.Path;
 
 /**
- * Layer over {@link java.io.File} for directories.
+ * Layer over {@link java.io.File} for directories. You can access InputDir using {@link FileSystem#inputDir(File)}.
  *
  * @since 4.5
  */
index cdae78da70e1fc8a028ed35c238558c94801345a..78902475cd55fffea4ddd148b68b79ca80b46ea8 100644 (file)
  */
 package org.sonar.api.batch.fs;
 
+import org.sonar.api.batch.sensor.SensorContext;
+
 /**
- * Used to create issues and measures on modules.
+ * Used to create issues and measures on modules. You can access InputModule using {@link SensorContext#module()}
  *
  * @since 5.2
  */
index ed9706309bb6f329928bb45bffc2260cc5dacfc8..df593e96db3635b451c6eeacf7c9d9fdc22b9960 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.api.batch.postjob;
 
+import org.sonar.api.batch.AnalysisMode;
 import org.sonar.api.batch.postjob.issue.PostJobIssue;
 import org.sonar.api.config.Settings;
 
@@ -33,15 +34,19 @@ public interface PostJobContext {
    */
   Settings settings();
 
+  AnalysisMode analysisMode();
+
   // ----------- Only available in preview mode --------------
 
   /**
-   * All the unresolved issues of the project, including the issues reported by end-users.
+   * All the unresolved issues of the project, including the issues reported by end-users. Only available in preview/issues mode.
+   * @throw {@link UnsupportedOperationException} if not in preview/issues mode. To test the mode you can use {@link #analysisMode()}.
    */
   Iterable<PostJobIssue> issues();
 
   /**
-   * All the issues of this project that have been marked as resolved during this scan
+   * All the issues of this project that have been marked as resolved during this scan. Only available in preview/issues mode.
+   * @throw {@link UnsupportedOperationException} if not in preview mode. To test the mode you can use {@link #analysisMode()}.
    */
   Iterable<PostJobIssue> resolvedIssues();
 
index 553e12826a9a9d4bd2833577c1863a3060521157..67a10970e9a12cb8104be85915b14b9d24879a61 100644 (file)
@@ -25,7 +25,7 @@ import org.sonar.api.batch.rule.Severity;
 import org.sonar.api.rule.RuleKey;
 
 /**
- * Represents an issue state at the end of the batch analysis. Some attributes are only available in preview/issues mode.
+ * Represents an issue state at the end of the scanner analysis in preview/issues mode.
  *
  * @since 5.2
  */
@@ -66,12 +66,12 @@ public interface PostJobIssue {
   String message();
 
   /**
-   * Severity.  Only accurate in preview/issues mode.
+   * Severity.
    */
   Severity severity();
 
   /**
-   * If the issue a new one. Only available in preview/issues mode.
+   * If the issue a new one.
    */
   boolean isNew();
 
index 0f4f3e2ca5b698ef7b9a4ea67fb405d2b3c021c3..d38076c14ddf83c11514660929004bacc852c021 100644 (file)
@@ -24,9 +24,7 @@ import org.sonar.api.server.ServerSide;
 
 /**
  * @since 3.6
- * @deprecated since 5.6
  */
-@Deprecated
 @ServerSide
 public interface RubyComponentService {
 
index ddcee47af4fb12df45931049f98b440d59a003bb..eb89b3bc3f7fde48c7ea67754cba7c26d2af240d 100644 (file)
@@ -23,12 +23,13 @@ import javax.annotation.CheckForNull;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.sonar.api.batch.fs.FileSystem;
+import org.sonar.api.batch.fs.InputDir;
 import org.sonar.api.scan.filesystem.PathResolver;
 import org.sonar.api.utils.WildcardPattern;
 
 /**
  * @since 1.10
- * @deprecated since 5.6 should not be used in any API
+ * @deprecated since 5.6 replaced by {@link InputDir}.
  */
 @Deprecated
 public class Directory extends Resource {
index 9ed3f16e4e10f1672bffa739464ac37c1c57b001..8ce94861a68dba4fd04fb7e0094a9689113dac78 100644 (file)
@@ -25,14 +25,13 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.sonar.api.batch.SensorContext;
 import org.sonar.api.batch.fs.FileSystem;
+import org.sonar.api.batch.fs.InputFile;
 import org.sonar.api.scan.filesystem.PathResolver;
 import org.sonar.api.utils.WildcardPattern;
 
 /**
- * This class is an implementation of a resource of type FILE
- *
  * @since 1.10
- * @deprecated since 5.6 should not be used in any API
+ * @deprecated since 5.6 replaced by {@link InputFile}.
  */
 @Deprecated
 public class File extends Resource {
index be1eacc08bed51bcb87523c54bcbd4d2463ca45e..238084692a24e6ae7fa26f1bd5254189531270ed 100644 (file)
@@ -27,14 +27,13 @@ import javax.annotation.Nullable;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.sonar.api.CoreProperties;
+import org.sonar.api.batch.fs.InputModule;
 import org.sonar.api.component.Component;
 import org.sonar.api.config.Settings;
 
 /**
- * A class that manipulates Projects in the Sonar way.
- *
  * @since 1.10
- * @deprecated since 5.6 should not be used in any API
+ * @deprecated since 5.6 replaced by {@link InputModule}.
  */
 @Deprecated
 public class Project extends Resource implements Component {
index f2f5e5c49a7804b11db3d77c8e8a7aafc0af8241..fa9447168b38708305b5eb3d4faf4f79e10f7f5c 100644 (file)
@@ -23,12 +23,11 @@ import java.io.Serializable;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 import org.apache.commons.lang.StringUtils;
+import org.sonar.api.batch.fs.InputComponent;
 
 /**
- * The interface to implement to create a resource in Sonar
- *
  * @since 1.10
- * @deprecated since 5.6 should not be used in any API
+ * @deprecated since 5.6 replaced by {@link InputComponent}
  */
 @Deprecated
 public abstract class Resource implements Serializable {
index 3344370abf45b220610b60440ea1c7911c059765..8373a5f89a1f92be8958055e38f8ee4beb392f49 100644 (file)
@@ -23,7 +23,7 @@ import org.apache.commons.lang.StringUtils;
 
 /**
  * @since 1.10
- * @deprecated since 5.6 should not be used in any API
+ * @deprecated since 5.6 as {@link Resource} is deprecated
  */
 @Deprecated
 public final class ResourceUtils {
index dfb42a667dcb23a03fc53abc3c154a28052f9f96..7f489e67265e128007e2cd12ea8aff3e521b79d4 100644 (file)
@@ -22,7 +22,7 @@ package org.sonar.api.test;
 import java.util.List;
 
 /**
- * @deprecated since 5.6 feature will be removed soon
+ * @deprecated since 5.6. Feature will be removed without any alternatives.
  */
 @Deprecated
 public interface CoverageBlock {
index bd90d2f0e536de7cf439e9fbcc63bb5b9093eb51..4a8063cbda519662028f59af29a411fcf26ad1ab 100644 (file)
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
 import org.sonar.api.batch.fs.InputFile;
 
 /**
- * @deprecated since 5.6 feature will be removed soon
+ * @deprecated since 5.6. Feature will be removed without any alternatives.
  */
 @Deprecated
 public interface MutableTestCase extends TestCase {
index 40829397558369c4c74790e8bfa03e39dcc1a369..71651876b637d465eefa1d549fb1567ec825599a 100644 (file)
@@ -20,7 +20,7 @@
 package org.sonar.api.test;
 
 /**
- * @deprecated since 5.6 feature will be removed soon
+ * @deprecated since 5.6. Feature will be removed without any alternatives.
  */
 @Deprecated
 public interface MutableTestPlan extends TestPlan<MutableTestCase> {
index 525acfd568ea298ff3c73d6a08e192414543c4d7..a0f02a7a5977b5c869408e253506e5fcbd818ae0 100644 (file)
@@ -20,7 +20,7 @@
 package org.sonar.api.test;
 
 /**
- * @deprecated since 5.6 feature will be removed soon
+ * @deprecated since 5.6. Feature will be removed without any alternatives.
  */
 @Deprecated
 public interface MutableTestable extends Testable {
index 341bc7991a8dcb4f20158b6824de421a96beb914..1e66067fdedced46cab9b616bd76fc8bbc9f4388 100644 (file)
@@ -23,6 +23,7 @@ import com.google.common.base.Function;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import javax.annotation.Nullable;
+import org.sonar.api.batch.AnalysisMode;
 import org.sonar.api.batch.fs.InputComponent;
 import org.sonar.api.batch.postjob.PostJobContext;
 import org.sonar.api.batch.postjob.issue.PostJobIssue;
@@ -39,11 +40,13 @@ public class DefaultPostJobContext implements PostJobContext {
   private final Settings settings;
   private final IssueCache cache;
   private final BatchComponentCache resourceCache;
+  private final AnalysisMode analysisMode;
 
-  public DefaultPostJobContext(Settings settings, IssueCache cache, BatchComponentCache resourceCache) {
+  public DefaultPostJobContext(Settings settings, IssueCache cache, BatchComponentCache resourceCache, AnalysisMode analysisMode) {
     this.settings = settings;
     this.cache = cache;
     this.resourceCache = resourceCache;
+    this.analysisMode = analysisMode;
   }
 
   @Override
@@ -51,13 +54,24 @@ public class DefaultPostJobContext implements PostJobContext {
     return settings;
   }
 
+  @Override
+  public AnalysisMode analysisMode() {
+    return analysisMode;
+  }
+
   @Override
   public Iterable<PostJobIssue> issues() {
+    if (!analysisMode.isIssues()) {
+      throw new UnsupportedOperationException("Issues are only available to PostJobs in 'issues' mode.");
+    }
     return Iterables.transform(Iterables.filter(cache.all(), new ResolvedPredicate(false)), new IssueTransformer());
   }
 
   @Override
   public Iterable<PostJobIssue> resolvedIssues() {
+    if (!analysisMode.isIssues()) {
+      throw new UnsupportedOperationException("Resolved issues are only available to PostJobs in 'issues' mode.");
+    }
     return Iterables.transform(Iterables.filter(cache.all(), new ResolvedPredicate(true)), new IssueTransformer());
   }
 
@@ -102,8 +116,7 @@ public class DefaultPostJobContext implements PostJobContext {
 
     @Override
     public Severity severity() {
-      String severity = wrapped.severity();
-      return severity != null ? Severity.valueOf(severity) : null;
+      return Severity.valueOf(wrapped.severity());
     }
 
     @Override
index 5f9916919ec04227215c5e039fdd64ddb8fa9903..803b6177eb743b19257950123c212c46861304d1 100644 (file)
@@ -22,6 +22,7 @@ package org.sonar.batch.postjob;
 import java.util.Arrays;
 import org.junit.Before;
 import org.junit.Test;
+import org.sonar.api.batch.AnalysisMode;
 import org.sonar.api.batch.fs.InputFile;
 import org.sonar.api.batch.postjob.issue.PostJobIssue;
 import org.sonar.api.batch.rule.Severity;
@@ -41,17 +42,21 @@ public class DefaultPostJobContextTest {
   private BatchComponentCache resourceCache;
   private DefaultPostJobContext context;
   private Settings settings;
+  private AnalysisMode analysisMode;
 
   @Before
   public void prepare() {
     issueCache = mock(IssueCache.class);
     resourceCache = new BatchComponentCache();
     settings = new Settings();
-    context = new DefaultPostJobContext(settings, issueCache, resourceCache);
+    analysisMode = mock(AnalysisMode.class);
+    context = new DefaultPostJobContext(settings, issueCache, resourceCache, analysisMode);
   }
 
   @Test
-  public void test() {
+  public void testIssues() {
+    when(analysisMode.isIssues()).thenReturn(true);
+
     assertThat(context.settings()).isSameAs(settings);
 
     TrackedIssue defaultIssue = new TrackedIssue();