]> source.dussan.org Git - sonarqube.git/commitdiff
Cleanup batch side from specific code for devcockpit and views 278/head
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 4 May 2015 09:39:01 +0000 (11:39 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Mon, 4 May 2015 12:37:20 +0000 (14:37 +0200)
33 files changed:
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/DirectoriesDecorator.java
sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/Constants.java
sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/input/BatchInput.java
sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/output/BatchReport.java
sonar-batch-protocol/src/main/gen-java/org/sonar/server/source/db/FileSourceDb.java
sonar-batch-protocol/src/main/protobuf/constants.proto
sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java
sonar-batch/src/main/java/org/sonar/batch/cpd/JavaCpdEngine.java
sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java
sonar-batch/src/main/java/org/sonar/batch/mediumtest/TaskResult.java
sonar-batch/src/main/java/org/sonar/batch/phases/DatabaseLessPhaseExecutor.java [deleted file]
sonar-batch/src/main/java/org/sonar/batch/phases/DatabaseModePhaseExecutor.java [deleted file]
sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java [new file with mode: 0644]
sonar-batch/src/main/java/org/sonar/batch/phases/PhaseExecutor.java
sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java [deleted file]
sonar-batch/src/main/java/org/sonar/batch/profiling/ModuleProfiling.java
sonar-batch/src/main/java/org/sonar/batch/profiling/Phase.java [new file with mode: 0644]
sonar-batch/src/main/java/org/sonar/batch/profiling/PhaseProfiling.java
sonar-batch/src/main/java/org/sonar/batch/profiling/PhasesSumUpTimeProfiler.java
sonar-batch/src/main/java/org/sonar/batch/report/ComponentsPublisher.java
sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java
sonar-batch/src/main/java/org/sonar/batch/scan/ProjectScanContainer.java
sonar-batch/src/main/java/org/sonar/batch/scan/ScanTask.java
sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java
sonar-batch/src/test/java/org/sonar/batch/cpd/JavaCpdEngineTest.java
sonar-batch/src/test/java/org/sonar/batch/mediumtest/coverage/CoverageMediumTest.java
sonar-batch/src/test/java/org/sonar/batch/mediumtest/cpd/CpdMediumTest.java
sonar-batch/src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java
sonar-batch/src/test/java/org/sonar/batch/mediumtest/scm/ScmMediumTest.java
sonar-batch/src/test/java/org/sonar/batch/phases/PhasesTest.java [deleted file]
sonar-batch/src/test/java/org/sonar/batch/profiling/PhasesSumUpTimeProfilerTest.java
sonar-batch/src/test/java/org/sonar/batch/scan/ScanTaskTest.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/CoreMetrics.java

index 84c6e7169c656723c0184bd4afff4e61c1ded318..b8dddd4eb762ee4d4092811e415fcbda0d670900 100644 (file)
@@ -59,7 +59,7 @@ public final class DirectoriesDecorator implements Decorator {
     if (Resource.QUALIFIER_DIRECTORY.equals(resource.getQualifier())) {
       context.saveMeasure(CoreMetrics.DIRECTORIES, 1.0);
 
-    } else if (ResourceUtils.isSet(resource) || ResourceUtils.isView(resource) || ResourceUtils.isSubview(resource)) {
+    } else if (ResourceUtils.isSet(resource)) {
       Collection<Measure> childrenMeasures = context.getChildrenMeasures(CoreMetrics.DIRECTORIES);
       Double sum = MeasureUtils.sum(false, childrenMeasures);
       if (sum != null) {
index 63b0593d3dee0a15d306c2c4d1fee3be43dead5f..f1c8fc0bb72440863e3b9a587e41cd5d9ce71158 100644 (file)
@@ -138,14 +138,6 @@ public final class Constants {
      * <code>FILE = 3;</code>
      */
     FILE(3, 3),
-    /**
-     * <code>VIEW = 4;</code>
-     */
-    VIEW(4, 4),
-    /**
-     * <code>SUBVIEW = 5;</code>
-     */
-    SUBVIEW(5, 5),
     ;
 
     /**
@@ -164,14 +156,6 @@ public final class Constants {
      * <code>FILE = 3;</code>
      */
     public static final int FILE_VALUE = 3;
-    /**
-     * <code>VIEW = 4;</code>
-     */
-    public static final int VIEW_VALUE = 4;
-    /**
-     * <code>SUBVIEW = 5;</code>
-     */
-    public static final int SUBVIEW_VALUE = 5;
 
 
     public final int getNumber() { return value; }
@@ -182,8 +166,6 @@ public final class Constants {
         case 1: return MODULE;
         case 2: return DIRECTORY;
         case 3: return FILE;
-        case 4: return VIEW;
-        case 5: return SUBVIEW;
         default: return null;
       }
     }
@@ -795,29 +777,29 @@ public final class Constants {
     java.lang.String[] descriptorData = {
       "\n\017constants.proto*E\n\010Severity\022\010\n\004INFO\020\000\022" +
       "\t\n\005MINOR\020\001\022\t\n\005MAJOR\020\002\022\014\n\010CRITICAL\020\003\022\013\n\007B" +
-      "LOCKER\020\004*X\n\rComponentType\022\013\n\007PROJECT\020\000\022\n" +
-      "\n\006MODULE\020\001\022\r\n\tDIRECTORY\020\002\022\010\n\004FILE\020\003\022\010\n\004V" +
-      "IEW\020\004\022\013\n\007SUBVIEW\020\005*J\n\020MeasureValueType\022\007" +
-      "\n\003INT\020\000\022\010\n\004LONG\020\001\022\n\n\006DOUBLE\020\002\022\013\n\007BOOLEAN" +
-      "\020\003\022\n\n\006STRING\020\004*\'\n\rEventCategory\022\t\n\005ALERT" +
-      "\020\000\022\013\n\007PROFILE\020\001*F\n\021ComponentLinkType\022\010\n\004" +
-      "HOME\020\000\022\007\n\003SCM\020\001\022\013\n\007SCM_DEV\020\002\022\t\n\005ISSUE\020\003\022" +
-      "\006\n\002CI\020\004*\265\001\n\020HighlightingType\022\016\n\nANNOTATI",
-      "ON\020\000\022\014\n\010CONSTANT\020\001\022\013\n\007COMMENT\020\002\022\013\n\007CPP_D" +
-      "OC\020\003\022\026\n\022STRUCTURED_COMMENT\020\004\022\013\n\007KEYWORD\020" +
-      "\005\022\027\n\023HIGHLIGHTING_STRING\020\006\022\021\n\rKEYWORD_LI" +
-      "GHT\020\007\022\030\n\024PREPROCESS_DIRECTIVE\020\010*9\n\nTestS" +
-      "tatus\022\006\n\002OK\020\001\022\013\n\007FAILURE\020\002\022\t\n\005ERROR\020\003\022\013\n" +
-      "\007SKIPPED\020\004B\034\n\030org.sonar.batch.protocolH\001"
+      "LOCKER\020\004*A\n\rComponentType\022\013\n\007PROJECT\020\000\022\n" +
+      "\n\006MODULE\020\001\022\r\n\tDIRECTORY\020\002\022\010\n\004FILE\020\003*J\n\020M" +
+      "easureValueType\022\007\n\003INT\020\000\022\010\n\004LONG\020\001\022\n\n\006DO" +
+      "UBLE\020\002\022\013\n\007BOOLEAN\020\003\022\n\n\006STRING\020\004*\'\n\rEvent" +
+      "Category\022\t\n\005ALERT\020\000\022\013\n\007PROFILE\020\001*F\n\021Comp" +
+      "onentLinkType\022\010\n\004HOME\020\000\022\007\n\003SCM\020\001\022\013\n\007SCM_" +
+      "DEV\020\002\022\t\n\005ISSUE\020\003\022\006\n\002CI\020\004*\265\001\n\020Highlightin" +
+      "gType\022\016\n\nANNOTATION\020\000\022\014\n\010CONSTANT\020\001\022\013\n\007C",
+      "OMMENT\020\002\022\013\n\007CPP_DOC\020\003\022\026\n\022STRUCTURED_COMM" +
+      "ENT\020\004\022\013\n\007KEYWORD\020\005\022\027\n\023HIGHLIGHTING_STRIN" +
+      "G\020\006\022\021\n\rKEYWORD_LIGHT\020\007\022\030\n\024PREPROCESS_DIR" +
+      "ECTIVE\020\010*9\n\nTestStatus\022\006\n\002OK\020\001\022\013\n\007FAILUR" +
+      "E\020\002\022\t\n\005ERROR\020\003\022\013\n\007SKIPPED\020\004B\034\n\030org.sonar" +
+      ".batch.protocolH\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public com.google.protobuf.ExtensionRegistry assignDescriptors(
-              com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
+      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+        public com.google.protobuf.ExtensionRegistry assignDescriptors(
+            com.google.protobuf.Descriptors.FileDescriptor root) {
+          descriptor = root;
+          return null;
+        }
+      };
     com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
         new com.google.protobuf.Descriptors.FileDescriptor[] {
index 464e4d9bb03ae66fc316470a2faf6dcc562a6e74..6ecbcc83d312c5e7df763b982cde1cfea4e7e11f 100644 (file)
@@ -8,10 +8,10 @@ public final class BatchInput {
   public static void registerAllExtensions(
       com.google.protobuf.ExtensionRegistry registry) {
   }
-  public interface ServerIssueOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ServerIssue)
-      com.google.protobuf.MessageOrBuilder {
+  public interface ServerIssueOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional string key = 1;
     /**
      * <code>optional string key = 1;</code>
      */
@@ -26,6 +26,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getKeyBytes();
 
+    // optional string module_key = 2;
     /**
      * <code>optional string module_key = 2;</code>
      */
@@ -40,6 +41,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getModuleKeyBytes();
 
+    // optional string path = 3;
     /**
      * <code>optional string path = 3;</code>
      */
@@ -54,6 +56,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getPathBytes();
 
+    // optional string rule_repository = 4;
     /**
      * <code>optional string rule_repository = 4;</code>
      */
@@ -68,6 +71,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getRuleRepositoryBytes();
 
+    // optional string rule_key = 5;
     /**
      * <code>optional string rule_key = 5;</code>
      */
@@ -82,6 +86,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getRuleKeyBytes();
 
+    // optional int32 line = 6;
     /**
      * <code>optional int32 line = 6;</code>
      */
@@ -91,6 +96,7 @@ public final class BatchInput {
      */
     int getLine();
 
+    // optional string msg = 7;
     /**
      * <code>optional string msg = 7;</code>
      */
@@ -105,6 +111,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getMsgBytes();
 
+    // optional .Severity severity = 8;
     /**
      * <code>optional .Severity severity = 8;</code>
      */
@@ -114,6 +121,7 @@ public final class BatchInput {
      */
     org.sonar.batch.protocol.Constants.Severity getSeverity();
 
+    // optional bool manual_severity = 9;
     /**
      * <code>optional bool manual_severity = 9;</code>
      */
@@ -123,6 +131,7 @@ public final class BatchInput {
      */
     boolean getManualSeverity();
 
+    // optional string resolution = 10;
     /**
      * <code>optional string resolution = 10;</code>
      */
@@ -137,6 +146,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getResolutionBytes();
 
+    // optional string status = 11;
     /**
      * <code>optional string status = 11;</code>
      */
@@ -151,6 +161,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getStatusBytes();
 
+    // optional string checksum = 12;
     /**
      * <code>optional string checksum = 12;</code>
      */
@@ -165,6 +176,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getChecksumBytes();
 
+    // optional string assignee_login = 13;
     /**
      * <code>optional string assignee_login = 13;</code>
      */
@@ -179,6 +191,7 @@ public final class BatchInput {
     com.google.protobuf.ByteString
         getAssigneeLoginBytes();
 
+    // optional int64 creation_date = 14;
     /**
      * <code>optional int64 creation_date = 14;</code>
      */
@@ -192,9 +205,8 @@ public final class BatchInput {
    * Protobuf type {@code ServerIssue}
    */
   public static final class ServerIssue extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ServerIssue)
-      ServerIssueOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements ServerIssueOrBuilder {
     // Use ServerIssue.newBuilder() to construct.
     private ServerIssue(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -241,33 +253,28 @@ public final class BatchInput {
               break;
             }
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000001;
-              key_ = bs;
+              key_ = input.readBytes();
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              moduleKey_ = bs;
+              moduleKey_ = input.readBytes();
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000004;
-              path_ = bs;
+              path_ = input.readBytes();
               break;
             }
             case 34: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000008;
-              ruleRepository_ = bs;
+              ruleRepository_ = input.readBytes();
               break;
             }
             case 42: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000010;
-              ruleKey_ = bs;
+              ruleKey_ = input.readBytes();
               break;
             }
             case 48: {
@@ -276,9 +283,8 @@ public final class BatchInput {
               break;
             }
             case 58: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000040;
-              msg_ = bs;
+              msg_ = input.readBytes();
               break;
             }
             case 64: {
@@ -298,27 +304,23 @@ public final class BatchInput {
               break;
             }
             case 82: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000200;
-              resolution_ = bs;
+              resolution_ = input.readBytes();
               break;
             }
             case 90: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000400;
-              status_ = bs;
+              status_ = input.readBytes();
               break;
             }
             case 98: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000800;
-              checksum_ = bs;
+              checksum_ = input.readBytes();
               break;
             }
             case 106: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00001000;
-              assigneeLogin_ = bs;
+              assigneeLogin_ = input.readBytes();
               break;
             }
             case 112: {
@@ -366,6 +368,7 @@ public final class BatchInput {
     }
 
     private int bitField0_;
+    // optional string key = 1;
     public static final int KEY_FIELD_NUMBER = 1;
     private java.lang.Object key_;
     /**
@@ -408,6 +411,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string module_key = 2;
     public static final int MODULE_KEY_FIELD_NUMBER = 2;
     private java.lang.Object moduleKey_;
     /**
@@ -450,6 +454,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string path = 3;
     public static final int PATH_FIELD_NUMBER = 3;
     private java.lang.Object path_;
     /**
@@ -492,6 +497,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string rule_repository = 4;
     public static final int RULE_REPOSITORY_FIELD_NUMBER = 4;
     private java.lang.Object ruleRepository_;
     /**
@@ -534,6 +540,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string rule_key = 5;
     public static final int RULE_KEY_FIELD_NUMBER = 5;
     private java.lang.Object ruleKey_;
     /**
@@ -576,6 +583,7 @@ public final class BatchInput {
       }
     }
 
+    // optional int32 line = 6;
     public static final int LINE_FIELD_NUMBER = 6;
     private int line_;
     /**
@@ -591,6 +599,7 @@ public final class BatchInput {
       return line_;
     }
 
+    // optional string msg = 7;
     public static final int MSG_FIELD_NUMBER = 7;
     private java.lang.Object msg_;
     /**
@@ -633,6 +642,7 @@ public final class BatchInput {
       }
     }
 
+    // optional .Severity severity = 8;
     public static final int SEVERITY_FIELD_NUMBER = 8;
     private org.sonar.batch.protocol.Constants.Severity severity_;
     /**
@@ -648,6 +658,7 @@ public final class BatchInput {
       return severity_;
     }
 
+    // optional bool manual_severity = 9;
     public static final int MANUAL_SEVERITY_FIELD_NUMBER = 9;
     private boolean manualSeverity_;
     /**
@@ -663,6 +674,7 @@ public final class BatchInput {
       return manualSeverity_;
     }
 
+    // optional string resolution = 10;
     public static final int RESOLUTION_FIELD_NUMBER = 10;
     private java.lang.Object resolution_;
     /**
@@ -705,6 +717,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string status = 11;
     public static final int STATUS_FIELD_NUMBER = 11;
     private java.lang.Object status_;
     /**
@@ -747,6 +760,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string checksum = 12;
     public static final int CHECKSUM_FIELD_NUMBER = 12;
     private java.lang.Object checksum_;
     /**
@@ -789,6 +803,7 @@ public final class BatchInput {
       }
     }
 
+    // optional string assignee_login = 13;
     public static final int ASSIGNEE_LOGIN_FIELD_NUMBER = 13;
     private java.lang.Object assigneeLogin_;
     /**
@@ -831,6 +846,7 @@ public final class BatchInput {
       }
     }
 
+    // optional int64 creation_date = 14;
     public static final int CREATION_DATE_FIELD_NUMBER = 14;
     private long creationDate_;
     /**
@@ -865,8 +881,7 @@ public final class BatchInput {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -1064,9 +1079,8 @@ public final class BatchInput {
      * Protobuf type {@code ServerIssue}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ServerIssue)
-        org.sonar.batch.protocol.input.BatchInput.ServerIssueOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.input.BatchInput.ServerIssueOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.input.BatchInput.internal_static_ServerIssue_descriptor;
@@ -1316,6 +1330,7 @@ public final class BatchInput {
       }
       private int bitField0_;
 
+      // optional string key = 1;
       private java.lang.Object key_ = "";
       /**
        * <code>optional string key = 1;</code>
@@ -1329,12 +1344,9 @@ public final class BatchInput {
       public java.lang.String getKey() {
         java.lang.Object ref = key_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            key_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          key_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1392,6 +1404,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string module_key = 2;
       private java.lang.Object moduleKey_ = "";
       /**
        * <code>optional string module_key = 2;</code>
@@ -1405,12 +1418,9 @@ public final class BatchInput {
       public java.lang.String getModuleKey() {
         java.lang.Object ref = moduleKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            moduleKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          moduleKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1468,6 +1478,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string path = 3;
       private java.lang.Object path_ = "";
       /**
        * <code>optional string path = 3;</code>
@@ -1481,12 +1492,9 @@ public final class BatchInput {
       public java.lang.String getPath() {
         java.lang.Object ref = path_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            path_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          path_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1544,6 +1552,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string rule_repository = 4;
       private java.lang.Object ruleRepository_ = "";
       /**
        * <code>optional string rule_repository = 4;</code>
@@ -1557,12 +1566,9 @@ public final class BatchInput {
       public java.lang.String getRuleRepository() {
         java.lang.Object ref = ruleRepository_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            ruleRepository_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          ruleRepository_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1620,6 +1626,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string rule_key = 5;
       private java.lang.Object ruleKey_ = "";
       /**
        * <code>optional string rule_key = 5;</code>
@@ -1633,12 +1640,9 @@ public final class BatchInput {
       public java.lang.String getRuleKey() {
         java.lang.Object ref = ruleKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            ruleKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          ruleKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1696,6 +1700,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional int32 line = 6;
       private int line_ ;
       /**
        * <code>optional int32 line = 6;</code>
@@ -1728,6 +1733,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string msg = 7;
       private java.lang.Object msg_ = "";
       /**
        * <code>optional string msg = 7;</code>
@@ -1741,12 +1747,9 @@ public final class BatchInput {
       public java.lang.String getMsg() {
         java.lang.Object ref = msg_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            msg_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          msg_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1804,6 +1807,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional .Severity severity = 8;
       private org.sonar.batch.protocol.Constants.Severity severity_ = org.sonar.batch.protocol.Constants.Severity.INFO;
       /**
        * <code>optional .Severity severity = 8;</code>
@@ -1839,6 +1843,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional bool manual_severity = 9;
       private boolean manualSeverity_ ;
       /**
        * <code>optional bool manual_severity = 9;</code>
@@ -1871,6 +1876,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string resolution = 10;
       private java.lang.Object resolution_ = "";
       /**
        * <code>optional string resolution = 10;</code>
@@ -1884,12 +1890,9 @@ public final class BatchInput {
       public java.lang.String getResolution() {
         java.lang.Object ref = resolution_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            resolution_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          resolution_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1947,6 +1950,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string status = 11;
       private java.lang.Object status_ = "";
       /**
        * <code>optional string status = 11;</code>
@@ -1960,12 +1964,9 @@ public final class BatchInput {
       public java.lang.String getStatus() {
         java.lang.Object ref = status_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            status_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          status_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2023,6 +2024,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string checksum = 12;
       private java.lang.Object checksum_ = "";
       /**
        * <code>optional string checksum = 12;</code>
@@ -2036,12 +2038,9 @@ public final class BatchInput {
       public java.lang.String getChecksum() {
         java.lang.Object ref = checksum_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            checksum_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          checksum_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2099,6 +2098,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional string assignee_login = 13;
       private java.lang.Object assigneeLogin_ = "";
       /**
        * <code>optional string assignee_login = 13;</code>
@@ -2112,12 +2112,9 @@ public final class BatchInput {
       public java.lang.String getAssigneeLogin() {
         java.lang.Object ref = assigneeLogin_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            assigneeLogin_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          assigneeLogin_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2175,6 +2172,7 @@ public final class BatchInput {
         return this;
       }
 
+      // optional int64 creation_date = 14;
       private long creationDate_ ;
       /**
        * <code>optional int64 creation_date = 14;</code>
@@ -2218,7 +2216,7 @@ public final class BatchInput {
     // @@protoc_insertion_point(class_scope:ServerIssue)
   }
 
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_ServerIssue_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
@@ -2243,25 +2241,24 @@ public final class BatchInput {
       " \001(\003B\"\n\036org.sonar.batch.protocol.inputH\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public com.google.protobuf.ExtensionRegistry assignDescriptors(
-              com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
+      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+        public com.google.protobuf.ExtensionRegistry assignDescriptors(
+            com.google.protobuf.Descriptors.FileDescriptor root) {
+          descriptor = root;
+          internal_static_ServerIssue_descriptor =
+            getDescriptor().getMessageTypes().get(0);
+          internal_static_ServerIssue_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_ServerIssue_descriptor,
+              new java.lang.String[] { "Key", "ModuleKey", "Path", "RuleRepository", "RuleKey", "Line", "Msg", "Severity", "ManualSeverity", "Resolution", "Status", "Checksum", "AssigneeLogin", "CreationDate", });
+          return null;
+        }
+      };
     com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
         new com.google.protobuf.Descriptors.FileDescriptor[] {
           org.sonar.batch.protocol.Constants.getDescriptor(),
         }, assigner);
-    internal_static_ServerIssue_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_ServerIssue_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ServerIssue_descriptor,
-        new java.lang.String[] { "Key", "ModuleKey", "Path", "RuleRepository", "RuleKey", "Line", "Msg", "Severity", "ManualSeverity", "Resolution", "Status", "Checksum", "AssigneeLogin", "CreationDate", });
-    org.sonar.batch.protocol.Constants.getDescriptor();
   }
 
   // @@protoc_insertion_point(outer_class_scope)
index 981a887712585dfc9f38f92aaefc8bcd1628c18f..847f2297961be1ca097eaa847abd5d64868de958 100644 (file)
@@ -8,10 +8,10 @@ public final class BatchReport {
   public static void registerAllExtensions(
       com.google.protobuf.ExtensionRegistry registry) {
   }
-  public interface MetadataOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Metadata)
-      com.google.protobuf.MessageOrBuilder {
+  public interface MetadataOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int64 analysis_date = 1;
     /**
      * <code>optional int64 analysis_date = 1;</code>
      */
@@ -21,6 +21,7 @@ public final class BatchReport {
      */
     long getAnalysisDate();
 
+    // optional string project_key = 2;
     /**
      * <code>optional string project_key = 2;</code>
      */
@@ -35,6 +36,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getProjectKeyBytes();
 
+    // optional string branch = 6;
     /**
      * <code>optional string branch = 6;</code>
      */
@@ -49,6 +51,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getBranchBytes();
 
+    // optional int32 root_component_ref = 3;
     /**
      * <code>optional int32 root_component_ref = 3;</code>
      */
@@ -58,6 +61,7 @@ public final class BatchReport {
      */
     int getRootComponentRef();
 
+    // optional int64 snapshot_id = 4;
     /**
      * <code>optional int64 snapshot_id = 4;</code>
      *
@@ -75,6 +79,7 @@ public final class BatchReport {
      */
     long getSnapshotId();
 
+    // optional int32 deleted_components_count = 5;
     /**
      * <code>optional int32 deleted_components_count = 5;</code>
      */
@@ -88,9 +93,8 @@ public final class BatchReport {
    * Protobuf type {@code Metadata}
    */
   public static final class Metadata extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Metadata)
-      MetadataOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements MetadataOrBuilder {
     // Use Metadata.newBuilder() to construct.
     private Metadata(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -142,9 +146,8 @@ public final class BatchReport {
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              projectKey_ = bs;
+              projectKey_ = input.readBytes();
               break;
             }
             case 24: {
@@ -163,9 +166,8 @@ public final class BatchReport {
               break;
             }
             case 50: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000004;
-              branch_ = bs;
+              branch_ = input.readBytes();
               break;
             }
           }
@@ -208,6 +210,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int64 analysis_date = 1;
     public static final int ANALYSIS_DATE_FIELD_NUMBER = 1;
     private long analysisDate_;
     /**
@@ -223,6 +226,7 @@ public final class BatchReport {
       return analysisDate_;
     }
 
+    // optional string project_key = 2;
     public static final int PROJECT_KEY_FIELD_NUMBER = 2;
     private java.lang.Object projectKey_;
     /**
@@ -265,6 +269,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string branch = 6;
     public static final int BRANCH_FIELD_NUMBER = 6;
     private java.lang.Object branch_;
     /**
@@ -307,6 +312,7 @@ public final class BatchReport {
       }
     }
 
+    // optional int32 root_component_ref = 3;
     public static final int ROOT_COMPONENT_REF_FIELD_NUMBER = 3;
     private int rootComponentRef_;
     /**
@@ -322,6 +328,7 @@ public final class BatchReport {
       return rootComponentRef_;
     }
 
+    // optional int64 snapshot_id = 4;
     public static final int SNAPSHOT_ID_FIELD_NUMBER = 4;
     private long snapshotId_;
     /**
@@ -345,6 +352,7 @@ public final class BatchReport {
       return snapshotId_;
     }
 
+    // optional int32 deleted_components_count = 5;
     public static final int DELETED_COMPONENTS_COUNT_FIELD_NUMBER = 5;
     private int deletedComponentsCount_;
     /**
@@ -371,8 +379,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -514,9 +521,8 @@ public final class BatchReport {
      * Protobuf type {@code Metadata}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Metadata)
-        org.sonar.batch.protocol.output.BatchReport.MetadataOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.MetadataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Metadata_descriptor;
@@ -678,6 +684,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int64 analysis_date = 1;
       private long analysisDate_ ;
       /**
        * <code>optional int64 analysis_date = 1;</code>
@@ -710,6 +717,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string project_key = 2;
       private java.lang.Object projectKey_ = "";
       /**
        * <code>optional string project_key = 2;</code>
@@ -723,12 +731,9 @@ public final class BatchReport {
       public java.lang.String getProjectKey() {
         java.lang.Object ref = projectKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            projectKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          projectKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -786,6 +791,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string branch = 6;
       private java.lang.Object branch_ = "";
       /**
        * <code>optional string branch = 6;</code>
@@ -799,12 +805,9 @@ public final class BatchReport {
       public java.lang.String getBranch() {
         java.lang.Object ref = branch_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            branch_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          branch_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -862,6 +865,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 root_component_ref = 3;
       private int rootComponentRef_ ;
       /**
        * <code>optional int32 root_component_ref = 3;</code>
@@ -894,6 +898,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 snapshot_id = 4;
       private long snapshotId_ ;
       /**
        * <code>optional int64 snapshot_id = 4;</code>
@@ -942,6 +947,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 deleted_components_count = 5;
       private int deletedComponentsCount_ ;
       /**
        * <code>optional int32 deleted_components_count = 5;</code>
@@ -985,10 +991,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Metadata)
   }
 
-  public interface ComponentLinkOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ComponentLink)
-      com.google.protobuf.MessageOrBuilder {
+  public interface ComponentLinkOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional .ComponentLinkType type = 1;
     /**
      * <code>optional .ComponentLinkType type = 1;</code>
      */
@@ -998,6 +1004,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.ComponentLinkType getType();
 
+    // optional string href = 2;
     /**
      * <code>optional string href = 2;</code>
      */
@@ -1016,9 +1023,8 @@ public final class BatchReport {
    * Protobuf type {@code ComponentLink}
    */
   public static final class ComponentLink extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ComponentLink)
-      ComponentLinkOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements ComponentLinkOrBuilder {
     // Use ComponentLink.newBuilder() to construct.
     private ComponentLink(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -1076,9 +1082,8 @@ public final class BatchReport {
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              href_ = bs;
+              href_ = input.readBytes();
               break;
             }
           }
@@ -1121,6 +1126,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional .ComponentLinkType type = 1;
     public static final int TYPE_FIELD_NUMBER = 1;
     private org.sonar.batch.protocol.Constants.ComponentLinkType type_;
     /**
@@ -1136,6 +1142,7 @@ public final class BatchReport {
       return type_;
     }
 
+    // optional string href = 2;
     public static final int HREF_FIELD_NUMBER = 2;
     private java.lang.Object href_;
     /**
@@ -1185,8 +1192,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -1300,9 +1306,8 @@ public final class BatchReport {
      * Protobuf type {@code ComponentLink}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ComponentLink)
-        org.sonar.batch.protocol.output.BatchReport.ComponentLinkOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.ComponentLinkOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_ComponentLink_descriptor;
@@ -1426,6 +1431,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional .ComponentLinkType type = 1;
       private org.sonar.batch.protocol.Constants.ComponentLinkType type_ = org.sonar.batch.protocol.Constants.ComponentLinkType.HOME;
       /**
        * <code>optional .ComponentLinkType type = 1;</code>
@@ -1461,6 +1467,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string href = 2;
       private java.lang.Object href_ = "";
       /**
        * <code>optional string href = 2;</code>
@@ -1474,12 +1481,9 @@ public final class BatchReport {
       public java.lang.String getHref() {
         java.lang.Object ref = href_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            href_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          href_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1548,10 +1552,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:ComponentLink)
   }
 
-  public interface EventOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Event)
-      com.google.protobuf.MessageOrBuilder {
+  public interface EventOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 component_ref = 1;
     /**
      * <code>optional int32 component_ref = 1;</code>
      */
@@ -1561,6 +1565,7 @@ public final class BatchReport {
      */
     int getComponentRef();
 
+    // optional string name = 2;
     /**
      * <code>optional string name = 2;</code>
      */
@@ -1575,6 +1580,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getNameBytes();
 
+    // optional string description = 3;
     /**
      * <code>optional string description = 3;</code>
      */
@@ -1589,6 +1595,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getDescriptionBytes();
 
+    // optional .EventCategory category = 4;
     /**
      * <code>optional .EventCategory category = 4;</code>
      */
@@ -1598,6 +1605,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.EventCategory getCategory();
 
+    // optional string event_data = 5;
     /**
      * <code>optional string event_data = 5;</code>
      */
@@ -1620,9 +1628,8 @@ public final class BatchReport {
    * </pre>
    */
   public static final class Event extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Event)
-      EventOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements EventOrBuilder {
     // Use Event.newBuilder() to construct.
     private Event(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -1674,15 +1681,13 @@ public final class BatchReport {
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              name_ = bs;
+              name_ = input.readBytes();
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000004;
-              description_ = bs;
+              description_ = input.readBytes();
               break;
             }
             case 32: {
@@ -1697,9 +1702,8 @@ public final class BatchReport {
               break;
             }
             case 42: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000010;
-              eventData_ = bs;
+              eventData_ = input.readBytes();
               break;
             }
           }
@@ -1742,6 +1746,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 component_ref = 1;
     public static final int COMPONENT_REF_FIELD_NUMBER = 1;
     private int componentRef_;
     /**
@@ -1757,6 +1762,7 @@ public final class BatchReport {
       return componentRef_;
     }
 
+    // optional string name = 2;
     public static final int NAME_FIELD_NUMBER = 2;
     private java.lang.Object name_;
     /**
@@ -1799,6 +1805,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string description = 3;
     public static final int DESCRIPTION_FIELD_NUMBER = 3;
     private java.lang.Object description_;
     /**
@@ -1841,6 +1848,7 @@ public final class BatchReport {
       }
     }
 
+    // optional .EventCategory category = 4;
     public static final int CATEGORY_FIELD_NUMBER = 4;
     private org.sonar.batch.protocol.Constants.EventCategory category_;
     /**
@@ -1856,6 +1864,7 @@ public final class BatchReport {
       return category_;
     }
 
+    // optional string event_data = 5;
     public static final int EVENT_DATA_FIELD_NUMBER = 5;
     private java.lang.Object eventData_;
     /**
@@ -1908,8 +1917,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -2048,9 +2056,8 @@ public final class BatchReport {
      * </pre>
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Event)
-        org.sonar.batch.protocol.output.BatchReport.EventOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.EventOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Event_descriptor;
@@ -2205,6 +2212,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 component_ref = 1;
       private int componentRef_ ;
       /**
        * <code>optional int32 component_ref = 1;</code>
@@ -2237,6 +2245,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string name = 2;
       private java.lang.Object name_ = "";
       /**
        * <code>optional string name = 2;</code>
@@ -2250,12 +2259,9 @@ public final class BatchReport {
       public java.lang.String getName() {
         java.lang.Object ref = name_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            name_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          name_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2313,6 +2319,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string description = 3;
       private java.lang.Object description_ = "";
       /**
        * <code>optional string description = 3;</code>
@@ -2326,12 +2333,9 @@ public final class BatchReport {
       public java.lang.String getDescription() {
         java.lang.Object ref = description_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            description_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          description_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2389,6 +2393,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional .EventCategory category = 4;
       private org.sonar.batch.protocol.Constants.EventCategory category_ = org.sonar.batch.protocol.Constants.EventCategory.ALERT;
       /**
        * <code>optional .EventCategory category = 4;</code>
@@ -2424,6 +2429,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string event_data = 5;
       private java.lang.Object eventData_ = "";
       /**
        * <code>optional string event_data = 5;</code>
@@ -2437,12 +2443,9 @@ public final class BatchReport {
       public java.lang.String getEventData() {
         java.lang.Object ref = eventData_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            eventData_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          eventData_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2511,10 +2514,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Event)
   }
 
-  public interface ComponentOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Component)
-      com.google.protobuf.MessageOrBuilder {
+  public interface ComponentOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 ref = 1;
     /**
      * <code>optional int32 ref = 1;</code>
      */
@@ -2524,6 +2527,7 @@ public final class BatchReport {
      */
     int getRef();
 
+    // optional string path = 2;
     /**
      * <code>optional string path = 2;</code>
      */
@@ -2538,6 +2542,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getPathBytes();
 
+    // optional string name = 3;
     /**
      * <code>optional string name = 3;</code>
      */
@@ -2552,6 +2557,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getNameBytes();
 
+    // optional .ComponentType type = 4;
     /**
      * <code>optional .ComponentType type = 4;</code>
      */
@@ -2561,6 +2567,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.ComponentType getType();
 
+    // optional bool is_test = 5;
     /**
      * <code>optional bool is_test = 5;</code>
      */
@@ -2570,6 +2577,7 @@ public final class BatchReport {
      */
     boolean getIsTest();
 
+    // optional string language = 6;
     /**
      * <code>optional string language = 6;</code>
      */
@@ -2584,6 +2592,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getLanguageBytes();
 
+    // repeated int32 child_ref = 7 [packed = true];
     /**
      * <code>repeated int32 child_ref = 7 [packed = true];</code>
      */
@@ -2597,6 +2606,7 @@ public final class BatchReport {
      */
     int getChildRef(int index);
 
+    // repeated .ComponentLink link = 10;
     /**
      * <code>repeated .ComponentLink link = 10;</code>
      */
@@ -2621,6 +2631,7 @@ public final class BatchReport {
     org.sonar.batch.protocol.output.BatchReport.ComponentLinkOrBuilder getLinkOrBuilder(
         int index);
 
+    // optional string version = 12;
     /**
      * <code>optional string version = 12;</code>
      *
@@ -2647,6 +2658,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getVersionBytes();
 
+    // optional string key = 14;
     /**
      * <code>optional string key = 14;</code>
      *
@@ -2673,6 +2685,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getKeyBytes();
 
+    // optional int32 lines = 15;
     /**
      * <code>optional int32 lines = 15;</code>
      *
@@ -2690,6 +2703,7 @@ public final class BatchReport {
      */
     int getLines();
 
+    // optional int64 id = 13;
     /**
      * <code>optional int64 id = 13;</code>
      *
@@ -2707,6 +2721,7 @@ public final class BatchReport {
      */
     long getId();
 
+    // optional int64 snapshot_id = 8;
     /**
      * <code>optional int64 snapshot_id = 8;</code>
      */
@@ -2716,6 +2731,7 @@ public final class BatchReport {
      */
     long getSnapshotId();
 
+    // optional string uuid = 9;
     /**
      * <code>optional string uuid = 9;</code>
      */
@@ -2730,6 +2746,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getUuidBytes();
 
+    // repeated .Event event = 11;
     /**
      * <code>repeated .Event event = 11;</code>
      */
@@ -2758,9 +2775,8 @@ public final class BatchReport {
    * Protobuf type {@code Component}
    */
   public static final class Component extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Component)
-      ComponentOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements ComponentOrBuilder {
     // Use Component.newBuilder() to construct.
     private Component(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -2812,15 +2828,13 @@ public final class BatchReport {
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              path_ = bs;
+              path_ = input.readBytes();
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000004;
-              name_ = bs;
+              name_ = input.readBytes();
               break;
             }
             case 32: {
@@ -2840,9 +2854,8 @@ public final class BatchReport {
               break;
             }
             case 50: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000020;
-              language_ = bs;
+              language_ = input.readBytes();
               break;
             }
             case 56: {
@@ -2872,9 +2885,8 @@ public final class BatchReport {
               break;
             }
             case 74: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000800;
-              uuid_ = bs;
+              uuid_ = input.readBytes();
               break;
             }
             case 82: {
@@ -2894,9 +2906,8 @@ public final class BatchReport {
               break;
             }
             case 98: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000040;
-              version_ = bs;
+              version_ = input.readBytes();
               break;
             }
             case 104: {
@@ -2905,9 +2916,8 @@ public final class BatchReport {
               break;
             }
             case 114: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000080;
-              key_ = bs;
+              key_ = input.readBytes();
               break;
             }
             case 120: {
@@ -2964,6 +2974,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 ref = 1;
     public static final int REF_FIELD_NUMBER = 1;
     private int ref_;
     /**
@@ -2979,6 +2990,7 @@ public final class BatchReport {
       return ref_;
     }
 
+    // optional string path = 2;
     public static final int PATH_FIELD_NUMBER = 2;
     private java.lang.Object path_;
     /**
@@ -3021,6 +3033,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string name = 3;
     public static final int NAME_FIELD_NUMBER = 3;
     private java.lang.Object name_;
     /**
@@ -3063,6 +3076,7 @@ public final class BatchReport {
       }
     }
 
+    // optional .ComponentType type = 4;
     public static final int TYPE_FIELD_NUMBER = 4;
     private org.sonar.batch.protocol.Constants.ComponentType type_;
     /**
@@ -3078,6 +3092,7 @@ public final class BatchReport {
       return type_;
     }
 
+    // optional bool is_test = 5;
     public static final int IS_TEST_FIELD_NUMBER = 5;
     private boolean isTest_;
     /**
@@ -3093,6 +3108,7 @@ public final class BatchReport {
       return isTest_;
     }
 
+    // optional string language = 6;
     public static final int LANGUAGE_FIELD_NUMBER = 6;
     private java.lang.Object language_;
     /**
@@ -3135,6 +3151,7 @@ public final class BatchReport {
       }
     }
 
+    // repeated int32 child_ref = 7 [packed = true];
     public static final int CHILD_REF_FIELD_NUMBER = 7;
     private java.util.List<java.lang.Integer> childRef_;
     /**
@@ -3158,6 +3175,7 @@ public final class BatchReport {
     }
     private int childRefMemoizedSerializedSize = -1;
 
+    // repeated .ComponentLink link = 10;
     public static final int LINK_FIELD_NUMBER = 10;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.ComponentLink> link_;
     /**
@@ -3193,6 +3211,7 @@ public final class BatchReport {
       return link_.get(index);
     }
 
+    // optional string version = 12;
     public static final int VERSION_FIELD_NUMBER = 12;
     private java.lang.Object version_;
     /**
@@ -3247,6 +3266,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string key = 14;
     public static final int KEY_FIELD_NUMBER = 14;
     private java.lang.Object key_;
     /**
@@ -3301,6 +3321,7 @@ public final class BatchReport {
       }
     }
 
+    // optional int32 lines = 15;
     public static final int LINES_FIELD_NUMBER = 15;
     private int lines_;
     /**
@@ -3324,6 +3345,7 @@ public final class BatchReport {
       return lines_;
     }
 
+    // optional int64 id = 13;
     public static final int ID_FIELD_NUMBER = 13;
     private long id_;
     /**
@@ -3347,6 +3369,7 @@ public final class BatchReport {
       return id_;
     }
 
+    // optional int64 snapshot_id = 8;
     public static final int SNAPSHOT_ID_FIELD_NUMBER = 8;
     private long snapshotId_;
     /**
@@ -3362,6 +3385,7 @@ public final class BatchReport {
       return snapshotId_;
     }
 
+    // optional string uuid = 9;
     public static final int UUID_FIELD_NUMBER = 9;
     private java.lang.Object uuid_;
     /**
@@ -3404,6 +3428,7 @@ public final class BatchReport {
       }
     }
 
+    // repeated .Event event = 11;
     public static final int EVENT_FIELD_NUMBER = 11;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Event> event_;
     /**
@@ -3459,8 +3484,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -3679,9 +3703,8 @@ public final class BatchReport {
      * Protobuf type {@code Component}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Component)
-        org.sonar.batch.protocol.output.BatchReport.ComponentOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.ComponentOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Component_descriptor;
@@ -4006,6 +4029,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 ref = 1;
       private int ref_ ;
       /**
        * <code>optional int32 ref = 1;</code>
@@ -4038,6 +4062,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string path = 2;
       private java.lang.Object path_ = "";
       /**
        * <code>optional string path = 2;</code>
@@ -4051,12 +4076,9 @@ public final class BatchReport {
       public java.lang.String getPath() {
         java.lang.Object ref = path_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            path_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          path_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4114,6 +4136,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string name = 3;
       private java.lang.Object name_ = "";
       /**
        * <code>optional string name = 3;</code>
@@ -4127,12 +4150,9 @@ public final class BatchReport {
       public java.lang.String getName() {
         java.lang.Object ref = name_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            name_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          name_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4190,6 +4210,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional .ComponentType type = 4;
       private org.sonar.batch.protocol.Constants.ComponentType type_ = org.sonar.batch.protocol.Constants.ComponentType.PROJECT;
       /**
        * <code>optional .ComponentType type = 4;</code>
@@ -4225,6 +4246,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool is_test = 5;
       private boolean isTest_ ;
       /**
        * <code>optional bool is_test = 5;</code>
@@ -4257,6 +4279,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string language = 6;
       private java.lang.Object language_ = "";
       /**
        * <code>optional string language = 6;</code>
@@ -4270,12 +4293,9 @@ public final class BatchReport {
       public java.lang.String getLanguage() {
         java.lang.Object ref = language_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            language_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          language_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4333,6 +4353,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated int32 child_ref = 7 [packed = true];
       private java.util.List<java.lang.Integer> childRef_ = java.util.Collections.emptyList();
       private void ensureChildRefIsMutable() {
         if (!((bitField0_ & 0x00000040) == 0x00000040)) {
@@ -4384,8 +4405,7 @@ public final class BatchReport {
       public Builder addAllChildRef(
           java.lang.Iterable<? extends java.lang.Integer> values) {
         ensureChildRefIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, childRef_);
+        super.addAll(values, childRef_);
         onChanged();
         return this;
       }
@@ -4399,6 +4419,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .ComponentLink link = 10;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.ComponentLink> link_ =
         java.util.Collections.emptyList();
       private void ensureLinkIsMutable() {
@@ -4540,8 +4561,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.ComponentLink> values) {
         if (linkBuilder_ == null) {
           ensureLinkIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, link_);
+          super.addAll(values, link_);
           onChanged();
         } else {
           linkBuilder_.addAllMessages(values);
@@ -4639,6 +4659,7 @@ public final class BatchReport {
         return linkBuilder_;
       }
 
+      // optional string version = 12;
       private java.lang.Object version_ = "";
       /**
        * <code>optional string version = 12;</code>
@@ -4660,12 +4681,9 @@ public final class BatchReport {
       public java.lang.String getVersion() {
         java.lang.Object ref = version_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            version_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          version_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4739,6 +4757,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string key = 14;
       private java.lang.Object key_ = "";
       /**
        * <code>optional string key = 14;</code>
@@ -4760,12 +4779,9 @@ public final class BatchReport {
       public java.lang.String getKey() {
         java.lang.Object ref = key_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            key_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          key_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4839,6 +4855,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 lines = 15;
       private int lines_ ;
       /**
        * <code>optional int32 lines = 15;</code>
@@ -4887,6 +4904,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 id = 13;
       private long id_ ;
       /**
        * <code>optional int64 id = 13;</code>
@@ -4935,6 +4953,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 snapshot_id = 8;
       private long snapshotId_ ;
       /**
        * <code>optional int64 snapshot_id = 8;</code>
@@ -4967,6 +4986,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string uuid = 9;
       private java.lang.Object uuid_ = "";
       /**
        * <code>optional string uuid = 9;</code>
@@ -4980,12 +5000,9 @@ public final class BatchReport {
       public java.lang.String getUuid() {
         java.lang.Object ref = uuid_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            uuid_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          uuid_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -5043,6 +5060,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .Event event = 11;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Event> event_ =
         java.util.Collections.emptyList();
       private void ensureEventIsMutable() {
@@ -5184,8 +5202,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Event> values) {
         if (eventBuilder_ == null) {
           ensureEventIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, event_);
+          super.addAll(values, event_);
           onChanged();
         } else {
           eventBuilder_.addAllMessages(values);
@@ -5294,10 +5311,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Component)
   }
 
-  public interface MeasureOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Measure)
-      com.google.protobuf.MessageOrBuilder {
+  public interface MeasureOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional .MeasureValueType value_type = 1;
     /**
      * <code>optional .MeasureValueType value_type = 1;</code>
      */
@@ -5307,6 +5324,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.MeasureValueType getValueType();
 
+    // optional bool boolean_value = 2;
     /**
      * <code>optional bool boolean_value = 2;</code>
      *
@@ -5324,6 +5342,7 @@ public final class BatchReport {
      */
     boolean getBooleanValue();
 
+    // optional int32 int_value = 3;
     /**
      * <code>optional int32 int_value = 3;</code>
      */
@@ -5333,6 +5352,7 @@ public final class BatchReport {
      */
     int getIntValue();
 
+    // optional int64 long_value = 4;
     /**
      * <code>optional int64 long_value = 4;</code>
      */
@@ -5342,6 +5362,7 @@ public final class BatchReport {
      */
     long getLongValue();
 
+    // optional double double_value = 5;
     /**
      * <code>optional double double_value = 5;</code>
      */
@@ -5351,6 +5372,7 @@ public final class BatchReport {
      */
     double getDoubleValue();
 
+    // optional string string_value = 6;
     /**
      * <code>optional string string_value = 6;</code>
      */
@@ -5365,6 +5387,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getStringValueBytes();
 
+    // optional string metric_key = 7;
     /**
      * <code>optional string metric_key = 7;</code>
      */
@@ -5379,6 +5402,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getMetricKeyBytes();
 
+    // optional string description = 9;
     /**
      * <code>optional string description = 9;</code>
      *
@@ -5405,6 +5429,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getDescriptionBytes();
 
+    // optional string rule_key = 10;
     /**
      * <code>optional string rule_key = 10;</code>
      */
@@ -5419,6 +5444,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getRuleKeyBytes();
 
+    // optional .Severity severity = 11;
     /**
      * <code>optional .Severity severity = 11;</code>
      */
@@ -5428,6 +5454,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.Severity getSeverity();
 
+    // optional string alert_status = 12;
     /**
      * <code>optional string alert_status = 12;</code>
      */
@@ -5442,6 +5469,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getAlertStatusBytes();
 
+    // optional string alert_text = 13;
     /**
      * <code>optional string alert_text = 13;</code>
      */
@@ -5456,6 +5484,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getAlertTextBytes();
 
+    // optional double variation_value_1 = 14;
     /**
      * <code>optional double variation_value_1 = 14;</code>
      */
@@ -5465,6 +5494,7 @@ public final class BatchReport {
      */
     double getVariationValue1();
 
+    // optional double variation_value_2 = 15;
     /**
      * <code>optional double variation_value_2 = 15;</code>
      */
@@ -5474,6 +5504,7 @@ public final class BatchReport {
      */
     double getVariationValue2();
 
+    // optional double variation_value_3 = 16;
     /**
      * <code>optional double variation_value_3 = 16;</code>
      */
@@ -5483,6 +5514,7 @@ public final class BatchReport {
      */
     double getVariationValue3();
 
+    // optional double variation_value_4 = 17;
     /**
      * <code>optional double variation_value_4 = 17;</code>
      */
@@ -5492,6 +5524,7 @@ public final class BatchReport {
      */
     double getVariationValue4();
 
+    // optional double variation_value_5 = 18;
     /**
      * <code>optional double variation_value_5 = 18;</code>
      */
@@ -5501,6 +5534,7 @@ public final class BatchReport {
      */
     double getVariationValue5();
 
+    // optional int32 characteric_id = 19;
     /**
      * <code>optional int32 characteric_id = 19;</code>
      */
@@ -5510,6 +5544,7 @@ public final class BatchReport {
      */
     int getCharactericId();
 
+    // optional int32 person_id = 20;
     /**
      * <code>optional int32 person_id = 20;</code>
      */
@@ -5523,9 +5558,8 @@ public final class BatchReport {
    * Protobuf type {@code Measure}
    */
   public static final class Measure extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Measure)
-      MeasureOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements MeasureOrBuilder {
     // Use Measure.newBuilder() to construct.
     private Measure(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -5603,27 +5637,23 @@ public final class BatchReport {
               break;
             }
             case 50: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000020;
-              stringValue_ = bs;
+              stringValue_ = input.readBytes();
               break;
             }
             case 58: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000040;
-              metricKey_ = bs;
+              metricKey_ = input.readBytes();
               break;
             }
             case 74: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000080;
-              description_ = bs;
+              description_ = input.readBytes();
               break;
             }
             case 82: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000100;
-              ruleKey_ = bs;
+              ruleKey_ = input.readBytes();
               break;
             }
             case 88: {
@@ -5638,15 +5668,13 @@ public final class BatchReport {
               break;
             }
             case 98: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000400;
-              alertStatus_ = bs;
+              alertStatus_ = input.readBytes();
               break;
             }
             case 106: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000800;
-              alertText_ = bs;
+              alertText_ = input.readBytes();
               break;
             }
             case 113: {
@@ -5724,6 +5752,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional .MeasureValueType value_type = 1;
     public static final int VALUE_TYPE_FIELD_NUMBER = 1;
     private org.sonar.batch.protocol.Constants.MeasureValueType valueType_;
     /**
@@ -5739,6 +5768,7 @@ public final class BatchReport {
       return valueType_;
     }
 
+    // optional bool boolean_value = 2;
     public static final int BOOLEAN_VALUE_FIELD_NUMBER = 2;
     private boolean booleanValue_;
     /**
@@ -5762,6 +5792,7 @@ public final class BatchReport {
       return booleanValue_;
     }
 
+    // optional int32 int_value = 3;
     public static final int INT_VALUE_FIELD_NUMBER = 3;
     private int intValue_;
     /**
@@ -5777,6 +5808,7 @@ public final class BatchReport {
       return intValue_;
     }
 
+    // optional int64 long_value = 4;
     public static final int LONG_VALUE_FIELD_NUMBER = 4;
     private long longValue_;
     /**
@@ -5792,6 +5824,7 @@ public final class BatchReport {
       return longValue_;
     }
 
+    // optional double double_value = 5;
     public static final int DOUBLE_VALUE_FIELD_NUMBER = 5;
     private double doubleValue_;
     /**
@@ -5807,6 +5840,7 @@ public final class BatchReport {
       return doubleValue_;
     }
 
+    // optional string string_value = 6;
     public static final int STRING_VALUE_FIELD_NUMBER = 6;
     private java.lang.Object stringValue_;
     /**
@@ -5849,6 +5883,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string metric_key = 7;
     public static final int METRIC_KEY_FIELD_NUMBER = 7;
     private java.lang.Object metricKey_;
     /**
@@ -5891,6 +5926,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string description = 9;
     public static final int DESCRIPTION_FIELD_NUMBER = 9;
     private java.lang.Object description_;
     /**
@@ -5945,6 +5981,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string rule_key = 10;
     public static final int RULE_KEY_FIELD_NUMBER = 10;
     private java.lang.Object ruleKey_;
     /**
@@ -5987,6 +6024,7 @@ public final class BatchReport {
       }
     }
 
+    // optional .Severity severity = 11;
     public static final int SEVERITY_FIELD_NUMBER = 11;
     private org.sonar.batch.protocol.Constants.Severity severity_;
     /**
@@ -6002,6 +6040,7 @@ public final class BatchReport {
       return severity_;
     }
 
+    // optional string alert_status = 12;
     public static final int ALERT_STATUS_FIELD_NUMBER = 12;
     private java.lang.Object alertStatus_;
     /**
@@ -6044,6 +6083,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string alert_text = 13;
     public static final int ALERT_TEXT_FIELD_NUMBER = 13;
     private java.lang.Object alertText_;
     /**
@@ -6086,6 +6126,7 @@ public final class BatchReport {
       }
     }
 
+    // optional double variation_value_1 = 14;
     public static final int VARIATION_VALUE_1_FIELD_NUMBER = 14;
     private double variationValue1_;
     /**
@@ -6101,6 +6142,7 @@ public final class BatchReport {
       return variationValue1_;
     }
 
+    // optional double variation_value_2 = 15;
     public static final int VARIATION_VALUE_2_FIELD_NUMBER = 15;
     private double variationValue2_;
     /**
@@ -6116,6 +6158,7 @@ public final class BatchReport {
       return variationValue2_;
     }
 
+    // optional double variation_value_3 = 16;
     public static final int VARIATION_VALUE_3_FIELD_NUMBER = 16;
     private double variationValue3_;
     /**
@@ -6131,6 +6174,7 @@ public final class BatchReport {
       return variationValue3_;
     }
 
+    // optional double variation_value_4 = 17;
     public static final int VARIATION_VALUE_4_FIELD_NUMBER = 17;
     private double variationValue4_;
     /**
@@ -6146,6 +6190,7 @@ public final class BatchReport {
       return variationValue4_;
     }
 
+    // optional double variation_value_5 = 18;
     public static final int VARIATION_VALUE_5_FIELD_NUMBER = 18;
     private double variationValue5_;
     /**
@@ -6161,6 +6206,7 @@ public final class BatchReport {
       return variationValue5_;
     }
 
+    // optional int32 characteric_id = 19;
     public static final int CHARACTERIC_ID_FIELD_NUMBER = 19;
     private int charactericId_;
     /**
@@ -6176,6 +6222,7 @@ public final class BatchReport {
       return charactericId_;
     }
 
+    // optional int32 person_id = 20;
     public static final int PERSON_ID_FIELD_NUMBER = 20;
     private int personId_;
     /**
@@ -6215,8 +6262,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -6449,9 +6495,8 @@ public final class BatchReport {
      * Protobuf type {@code Measure}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Measure)
-        org.sonar.batch.protocol.output.BatchReport.MeasureOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.MeasureOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Measure_descriptor;
@@ -6738,6 +6783,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional .MeasureValueType value_type = 1;
       private org.sonar.batch.protocol.Constants.MeasureValueType valueType_ = org.sonar.batch.protocol.Constants.MeasureValueType.INT;
       /**
        * <code>optional .MeasureValueType value_type = 1;</code>
@@ -6773,6 +6819,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool boolean_value = 2;
       private boolean booleanValue_ ;
       /**
        * <code>optional bool boolean_value = 2;</code>
@@ -6821,6 +6868,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 int_value = 3;
       private int intValue_ ;
       /**
        * <code>optional int32 int_value = 3;</code>
@@ -6853,6 +6901,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 long_value = 4;
       private long longValue_ ;
       /**
        * <code>optional int64 long_value = 4;</code>
@@ -6885,6 +6934,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double double_value = 5;
       private double doubleValue_ ;
       /**
        * <code>optional double double_value = 5;</code>
@@ -6917,6 +6967,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string string_value = 6;
       private java.lang.Object stringValue_ = "";
       /**
        * <code>optional string string_value = 6;</code>
@@ -6930,12 +6981,9 @@ public final class BatchReport {
       public java.lang.String getStringValue() {
         java.lang.Object ref = stringValue_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            stringValue_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          stringValue_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -6993,6 +7041,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string metric_key = 7;
       private java.lang.Object metricKey_ = "";
       /**
        * <code>optional string metric_key = 7;</code>
@@ -7006,12 +7055,9 @@ public final class BatchReport {
       public java.lang.String getMetricKey() {
         java.lang.Object ref = metricKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            metricKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          metricKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -7069,6 +7115,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string description = 9;
       private java.lang.Object description_ = "";
       /**
        * <code>optional string description = 9;</code>
@@ -7090,12 +7137,9 @@ public final class BatchReport {
       public java.lang.String getDescription() {
         java.lang.Object ref = description_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            description_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          description_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -7169,6 +7213,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string rule_key = 10;
       private java.lang.Object ruleKey_ = "";
       /**
        * <code>optional string rule_key = 10;</code>
@@ -7182,12 +7227,9 @@ public final class BatchReport {
       public java.lang.String getRuleKey() {
         java.lang.Object ref = ruleKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            ruleKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          ruleKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -7245,6 +7287,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional .Severity severity = 11;
       private org.sonar.batch.protocol.Constants.Severity severity_ = org.sonar.batch.protocol.Constants.Severity.INFO;
       /**
        * <code>optional .Severity severity = 11;</code>
@@ -7280,6 +7323,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string alert_status = 12;
       private java.lang.Object alertStatus_ = "";
       /**
        * <code>optional string alert_status = 12;</code>
@@ -7293,12 +7337,9 @@ public final class BatchReport {
       public java.lang.String getAlertStatus() {
         java.lang.Object ref = alertStatus_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            alertStatus_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          alertStatus_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -7356,6 +7397,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string alert_text = 13;
       private java.lang.Object alertText_ = "";
       /**
        * <code>optional string alert_text = 13;</code>
@@ -7369,12 +7411,9 @@ public final class BatchReport {
       public java.lang.String getAlertText() {
         java.lang.Object ref = alertText_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            alertText_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          alertText_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -7432,6 +7471,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double variation_value_1 = 14;
       private double variationValue1_ ;
       /**
        * <code>optional double variation_value_1 = 14;</code>
@@ -7464,6 +7504,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double variation_value_2 = 15;
       private double variationValue2_ ;
       /**
        * <code>optional double variation_value_2 = 15;</code>
@@ -7496,6 +7537,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double variation_value_3 = 16;
       private double variationValue3_ ;
       /**
        * <code>optional double variation_value_3 = 16;</code>
@@ -7528,6 +7570,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double variation_value_4 = 17;
       private double variationValue4_ ;
       /**
        * <code>optional double variation_value_4 = 17;</code>
@@ -7560,6 +7603,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double variation_value_5 = 18;
       private double variationValue5_ ;
       /**
        * <code>optional double variation_value_5 = 18;</code>
@@ -7592,6 +7636,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 characteric_id = 19;
       private int charactericId_ ;
       /**
        * <code>optional int32 characteric_id = 19;</code>
@@ -7624,6 +7669,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 person_id = 20;
       private int personId_ ;
       /**
        * <code>optional int32 person_id = 20;</code>
@@ -7667,10 +7713,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Measure)
   }
 
-  public interface MeasuresOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Measures)
-      com.google.protobuf.MessageOrBuilder {
+  public interface MeasuresOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 component_ref = 1;
     /**
      * <code>optional int32 component_ref = 1;</code>
      */
@@ -7680,6 +7726,7 @@ public final class BatchReport {
      */
     int getComponentRef();
 
+    // repeated .Measure measure = 2;
     /**
      * <code>repeated .Measure measure = 2;</code>
      */
@@ -7708,9 +7755,8 @@ public final class BatchReport {
    * Protobuf type {@code Measures}
    */
   public static final class Measures extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Measures)
-      MeasuresOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements MeasuresOrBuilder {
     // Use Measures.newBuilder() to construct.
     private Measures(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -7812,6 +7858,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 component_ref = 1;
     public static final int COMPONENT_REF_FIELD_NUMBER = 1;
     private int componentRef_;
     /**
@@ -7827,6 +7874,7 @@ public final class BatchReport {
       return componentRef_;
     }
 
+    // repeated .Measure measure = 2;
     public static final int MEASURE_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Measure> measure_;
     /**
@@ -7869,8 +7917,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -7984,9 +8031,8 @@ public final class BatchReport {
      * Protobuf type {@code Measures}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Measures)
-        org.sonar.batch.protocol.output.BatchReport.MeasuresOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.MeasuresOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Measures_descriptor;
@@ -8141,6 +8187,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 component_ref = 1;
       private int componentRef_ ;
       /**
        * <code>optional int32 component_ref = 1;</code>
@@ -8173,6 +8220,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .Measure measure = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Measure> measure_ =
         java.util.Collections.emptyList();
       private void ensureMeasureIsMutable() {
@@ -8314,8 +8362,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Measure> values) {
         if (measureBuilder_ == null) {
           ensureMeasureIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, measure_);
+          super.addAll(values, measure_);
           onChanged();
         } else {
           measureBuilder_.addAllMessages(values);
@@ -8424,10 +8471,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Measures)
   }
 
-  public interface IssueOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Issue)
-      com.google.protobuf.MessageOrBuilder {
+  public interface IssueOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional string rule_repository = 1;
     /**
      * <code>optional string rule_repository = 1;</code>
      */
@@ -8442,6 +8489,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getRuleRepositoryBytes();
 
+    // optional string rule_key = 2;
     /**
      * <code>optional string rule_key = 2;</code>
      */
@@ -8456,6 +8504,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getRuleKeyBytes();
 
+    // optional int32 line = 3;
     /**
      * <code>optional int32 line = 3;</code>
      */
@@ -8465,6 +8514,7 @@ public final class BatchReport {
      */
     int getLine();
 
+    // optional string msg = 4;
     /**
      * <code>optional string msg = 4;</code>
      */
@@ -8479,6 +8529,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getMsgBytes();
 
+    // optional .Severity severity = 5;
     /**
      * <code>optional .Severity severity = 5;</code>
      */
@@ -8488,11 +8539,12 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.Severity getSeverity();
 
+    // repeated string tag = 6;
     /**
      * <code>repeated string tag = 6;</code>
      */
-    com.google.protobuf.ProtocolStringList
-        getTagList();
+    java.util.List<java.lang.String>
+    getTagList();
     /**
      * <code>repeated string tag = 6;</code>
      */
@@ -8507,6 +8559,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getTagBytes(int index);
 
+    // optional double effort_to_fix = 7;
     /**
      * <code>optional double effort_to_fix = 7;</code>
      *
@@ -8524,6 +8577,7 @@ public final class BatchReport {
      */
     double getEffortToFix();
 
+    // optional bool is_new = 8;
     /**
      * <code>optional bool is_new = 8;</code>
      */
@@ -8533,6 +8587,7 @@ public final class BatchReport {
      */
     boolean getIsNew();
 
+    // optional string uuid = 9;
     /**
      * <code>optional string uuid = 9;</code>
      */
@@ -8547,6 +8602,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getUuidBytes();
 
+    // optional int64 debt_in_minutes = 10;
     /**
      * <code>optional int64 debt_in_minutes = 10;</code>
      */
@@ -8556,6 +8612,7 @@ public final class BatchReport {
      */
     long getDebtInMinutes();
 
+    // optional string resolution = 11;
     /**
      * <code>optional string resolution = 11;</code>
      */
@@ -8570,6 +8627,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getResolutionBytes();
 
+    // optional string status = 12;
     /**
      * <code>optional string status = 12;</code>
      */
@@ -8584,6 +8642,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getStatusBytes();
 
+    // optional string checksum = 13;
     /**
      * <code>optional string checksum = 13;</code>
      */
@@ -8598,6 +8657,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getChecksumBytes();
 
+    // optional bool manual_severity = 14;
     /**
      * <code>optional bool manual_severity = 14;</code>
      */
@@ -8607,6 +8667,7 @@ public final class BatchReport {
      */
     boolean getManualSeverity();
 
+    // optional string reporter = 15;
     /**
      * <code>optional string reporter = 15;</code>
      */
@@ -8621,6 +8682,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getReporterBytes();
 
+    // optional string assignee = 16;
     /**
      * <code>optional string assignee = 16;</code>
      */
@@ -8635,6 +8697,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getAssigneeBytes();
 
+    // optional string action_plan_key = 17;
     /**
      * <code>optional string action_plan_key = 17;</code>
      */
@@ -8649,6 +8712,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getActionPlanKeyBytes();
 
+    // optional string attributes = 18;
     /**
      * <code>optional string attributes = 18;</code>
      */
@@ -8663,6 +8727,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getAttributesBytes();
 
+    // optional string author_login = 19;
     /**
      * <code>optional string author_login = 19;</code>
      */
@@ -8677,6 +8742,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getAuthorLoginBytes();
 
+    // optional int64 creation_date = 20;
     /**
      * <code>optional int64 creation_date = 20;</code>
      */
@@ -8686,6 +8752,7 @@ public final class BatchReport {
      */
     long getCreationDate();
 
+    // optional int64 close_date = 21;
     /**
      * <code>optional int64 close_date = 21;</code>
      */
@@ -8695,6 +8762,7 @@ public final class BatchReport {
      */
     long getCloseDate();
 
+    // optional int64 update_date = 22;
     /**
      * <code>optional int64 update_date = 22;</code>
      */
@@ -8704,6 +8772,7 @@ public final class BatchReport {
      */
     long getUpdateDate();
 
+    // optional int64 selected_at = 23;
     /**
      * <code>optional int64 selected_at = 23;</code>
      */
@@ -8713,6 +8782,7 @@ public final class BatchReport {
      */
     long getSelectedAt();
 
+    // optional string diff_fields = 24;
     /**
      * <code>optional string diff_fields = 24;</code>
      */
@@ -8727,6 +8797,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getDiffFieldsBytes();
 
+    // optional bool is_changed = 25;
     /**
      * <code>optional bool is_changed = 25;</code>
      */
@@ -8736,6 +8807,7 @@ public final class BatchReport {
      */
     boolean getIsChanged();
 
+    // optional bool must_send_notification = 26;
     /**
      * <code>optional bool must_send_notification = 26;</code>
      */
@@ -8749,9 +8821,8 @@ public final class BatchReport {
    * Protobuf type {@code Issue}
    */
   public static final class Issue extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Issue)
-      IssueOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements IssueOrBuilder {
     // Use Issue.newBuilder() to construct.
     private Issue(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -8798,15 +8869,13 @@ public final class BatchReport {
               break;
             }
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000001;
-              ruleRepository_ = bs;
+              ruleRepository_ = input.readBytes();
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              ruleKey_ = bs;
+              ruleKey_ = input.readBytes();
               break;
             }
             case 24: {
@@ -8815,9 +8884,8 @@ public final class BatchReport {
               break;
             }
             case 34: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000008;
-              msg_ = bs;
+              msg_ = input.readBytes();
               break;
             }
             case 40: {
@@ -8832,12 +8900,11 @@ public final class BatchReport {
               break;
             }
             case 50: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                 tag_ = new com.google.protobuf.LazyStringArrayList();
                 mutable_bitField0_ |= 0x00000020;
               }
-              tag_.add(bs);
+              tag_.add(input.readBytes());
               break;
             }
             case 57: {
@@ -8851,9 +8918,8 @@ public final class BatchReport {
               break;
             }
             case 74: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000080;
-              uuid_ = bs;
+              uuid_ = input.readBytes();
               break;
             }
             case 80: {
@@ -8862,21 +8928,18 @@ public final class BatchReport {
               break;
             }
             case 90: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000200;
-              resolution_ = bs;
+              resolution_ = input.readBytes();
               break;
             }
             case 98: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000400;
-              status_ = bs;
+              status_ = input.readBytes();
               break;
             }
             case 106: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000800;
-              checksum_ = bs;
+              checksum_ = input.readBytes();
               break;
             }
             case 112: {
@@ -8885,33 +8948,28 @@ public final class BatchReport {
               break;
             }
             case 122: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00002000;
-              reporter_ = bs;
+              reporter_ = input.readBytes();
               break;
             }
             case 130: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00004000;
-              assignee_ = bs;
+              assignee_ = input.readBytes();
               break;
             }
             case 138: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00008000;
-              actionPlanKey_ = bs;
+              actionPlanKey_ = input.readBytes();
               break;
             }
             case 146: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00010000;
-              attributes_ = bs;
+              attributes_ = input.readBytes();
               break;
             }
             case 154: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00020000;
-              authorLogin_ = bs;
+              authorLogin_ = input.readBytes();
               break;
             }
             case 160: {
@@ -8935,9 +8993,8 @@ public final class BatchReport {
               break;
             }
             case 194: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00400000;
-              diffFields_ = bs;
+              diffFields_ = input.readBytes();
               break;
             }
             case 200: {
@@ -8959,7 +9016,7 @@ public final class BatchReport {
             e.getMessage()).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
-          tag_ = tag_.getUnmodifiableView();
+          tag_ = new com.google.protobuf.UnmodifiableLazyStringList(tag_);
         }
         this.unknownFields = unknownFields.build();
         makeExtensionsImmutable();
@@ -8993,6 +9050,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional string rule_repository = 1;
     public static final int RULE_REPOSITORY_FIELD_NUMBER = 1;
     private java.lang.Object ruleRepository_;
     /**
@@ -9035,6 +9093,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string rule_key = 2;
     public static final int RULE_KEY_FIELD_NUMBER = 2;
     private java.lang.Object ruleKey_;
     /**
@@ -9077,6 +9136,7 @@ public final class BatchReport {
       }
     }
 
+    // optional int32 line = 3;
     public static final int LINE_FIELD_NUMBER = 3;
     private int line_;
     /**
@@ -9092,6 +9152,7 @@ public final class BatchReport {
       return line_;
     }
 
+    // optional string msg = 4;
     public static final int MSG_FIELD_NUMBER = 4;
     private java.lang.Object msg_;
     /**
@@ -9134,6 +9195,7 @@ public final class BatchReport {
       }
     }
 
+    // optional .Severity severity = 5;
     public static final int SEVERITY_FIELD_NUMBER = 5;
     private org.sonar.batch.protocol.Constants.Severity severity_;
     /**
@@ -9149,12 +9211,13 @@ public final class BatchReport {
       return severity_;
     }
 
+    // repeated string tag = 6;
     public static final int TAG_FIELD_NUMBER = 6;
     private com.google.protobuf.LazyStringList tag_;
     /**
      * <code>repeated string tag = 6;</code>
      */
-    public com.google.protobuf.ProtocolStringList
+    public java.util.List<java.lang.String>
         getTagList() {
       return tag_;
     }
@@ -9178,6 +9241,7 @@ public final class BatchReport {
       return tag_.getByteString(index);
     }
 
+    // optional double effort_to_fix = 7;
     public static final int EFFORT_TO_FIX_FIELD_NUMBER = 7;
     private double effortToFix_;
     /**
@@ -9201,6 +9265,7 @@ public final class BatchReport {
       return effortToFix_;
     }
 
+    // optional bool is_new = 8;
     public static final int IS_NEW_FIELD_NUMBER = 8;
     private boolean isNew_;
     /**
@@ -9216,6 +9281,7 @@ public final class BatchReport {
       return isNew_;
     }
 
+    // optional string uuid = 9;
     public static final int UUID_FIELD_NUMBER = 9;
     private java.lang.Object uuid_;
     /**
@@ -9258,6 +9324,7 @@ public final class BatchReport {
       }
     }
 
+    // optional int64 debt_in_minutes = 10;
     public static final int DEBT_IN_MINUTES_FIELD_NUMBER = 10;
     private long debtInMinutes_;
     /**
@@ -9273,6 +9340,7 @@ public final class BatchReport {
       return debtInMinutes_;
     }
 
+    // optional string resolution = 11;
     public static final int RESOLUTION_FIELD_NUMBER = 11;
     private java.lang.Object resolution_;
     /**
@@ -9315,6 +9383,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string status = 12;
     public static final int STATUS_FIELD_NUMBER = 12;
     private java.lang.Object status_;
     /**
@@ -9357,6 +9426,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string checksum = 13;
     public static final int CHECKSUM_FIELD_NUMBER = 13;
     private java.lang.Object checksum_;
     /**
@@ -9399,6 +9469,7 @@ public final class BatchReport {
       }
     }
 
+    // optional bool manual_severity = 14;
     public static final int MANUAL_SEVERITY_FIELD_NUMBER = 14;
     private boolean manualSeverity_;
     /**
@@ -9414,6 +9485,7 @@ public final class BatchReport {
       return manualSeverity_;
     }
 
+    // optional string reporter = 15;
     public static final int REPORTER_FIELD_NUMBER = 15;
     private java.lang.Object reporter_;
     /**
@@ -9456,6 +9528,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string assignee = 16;
     public static final int ASSIGNEE_FIELD_NUMBER = 16;
     private java.lang.Object assignee_;
     /**
@@ -9498,6 +9571,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string action_plan_key = 17;
     public static final int ACTION_PLAN_KEY_FIELD_NUMBER = 17;
     private java.lang.Object actionPlanKey_;
     /**
@@ -9540,6 +9614,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string attributes = 18;
     public static final int ATTRIBUTES_FIELD_NUMBER = 18;
     private java.lang.Object attributes_;
     /**
@@ -9582,6 +9657,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string author_login = 19;
     public static final int AUTHOR_LOGIN_FIELD_NUMBER = 19;
     private java.lang.Object authorLogin_;
     /**
@@ -9624,6 +9700,7 @@ public final class BatchReport {
       }
     }
 
+    // optional int64 creation_date = 20;
     public static final int CREATION_DATE_FIELD_NUMBER = 20;
     private long creationDate_;
     /**
@@ -9639,6 +9716,7 @@ public final class BatchReport {
       return creationDate_;
     }
 
+    // optional int64 close_date = 21;
     public static final int CLOSE_DATE_FIELD_NUMBER = 21;
     private long closeDate_;
     /**
@@ -9654,6 +9732,7 @@ public final class BatchReport {
       return closeDate_;
     }
 
+    // optional int64 update_date = 22;
     public static final int UPDATE_DATE_FIELD_NUMBER = 22;
     private long updateDate_;
     /**
@@ -9669,6 +9748,7 @@ public final class BatchReport {
       return updateDate_;
     }
 
+    // optional int64 selected_at = 23;
     public static final int SELECTED_AT_FIELD_NUMBER = 23;
     private long selectedAt_;
     /**
@@ -9684,6 +9764,7 @@ public final class BatchReport {
       return selectedAt_;
     }
 
+    // optional string diff_fields = 24;
     public static final int DIFF_FIELDS_FIELD_NUMBER = 24;
     private java.lang.Object diffFields_;
     /**
@@ -9726,6 +9807,7 @@ public final class BatchReport {
       }
     }
 
+    // optional bool is_changed = 25;
     public static final int IS_CHANGED_FIELD_NUMBER = 25;
     private boolean isChanged_;
     /**
@@ -9741,6 +9823,7 @@ public final class BatchReport {
       return isChanged_;
     }
 
+    // optional bool must_send_notification = 26;
     public static final int MUST_SEND_NOTIFICATION_FIELD_NUMBER = 26;
     private boolean mustSendNotification_;
     /**
@@ -9787,8 +9870,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -10075,9 +10157,8 @@ public final class BatchReport {
      * Protobuf type {@code Issue}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Issue)
-        org.sonar.batch.protocol.output.BatchReport.IssueOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.IssueOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Issue_descriptor;
@@ -10211,7 +10292,8 @@ public final class BatchReport {
         }
         result.severity_ = severity_;
         if (((bitField0_ & 0x00000020) == 0x00000020)) {
-          tag_ = tag_.getUnmodifiableView();
+          tag_ = new com.google.protobuf.UnmodifiableLazyStringList(
+              tag_);
           bitField0_ = (bitField0_ & ~0x00000020);
         }
         result.tag_ = tag_;
@@ -10449,6 +10531,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional string rule_repository = 1;
       private java.lang.Object ruleRepository_ = "";
       /**
        * <code>optional string rule_repository = 1;</code>
@@ -10462,12 +10545,9 @@ public final class BatchReport {
       public java.lang.String getRuleRepository() {
         java.lang.Object ref = ruleRepository_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            ruleRepository_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          ruleRepository_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -10525,6 +10605,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string rule_key = 2;
       private java.lang.Object ruleKey_ = "";
       /**
        * <code>optional string rule_key = 2;</code>
@@ -10538,12 +10619,9 @@ public final class BatchReport {
       public java.lang.String getRuleKey() {
         java.lang.Object ref = ruleKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            ruleKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          ruleKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -10601,6 +10679,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 line = 3;
       private int line_ ;
       /**
        * <code>optional int32 line = 3;</code>
@@ -10633,6 +10712,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string msg = 4;
       private java.lang.Object msg_ = "";
       /**
        * <code>optional string msg = 4;</code>
@@ -10646,12 +10726,9 @@ public final class BatchReport {
       public java.lang.String getMsg() {
         java.lang.Object ref = msg_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            msg_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          msg_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -10709,6 +10786,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional .Severity severity = 5;
       private org.sonar.batch.protocol.Constants.Severity severity_ = org.sonar.batch.protocol.Constants.Severity.INFO;
       /**
        * <code>optional .Severity severity = 5;</code>
@@ -10744,6 +10822,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated string tag = 6;
       private com.google.protobuf.LazyStringList tag_ = com.google.protobuf.LazyStringArrayList.EMPTY;
       private void ensureTagIsMutable() {
         if (!((bitField0_ & 0x00000020) == 0x00000020)) {
@@ -10754,9 +10833,9 @@ public final class BatchReport {
       /**
        * <code>repeated string tag = 6;</code>
        */
-      public com.google.protobuf.ProtocolStringList
+      public java.util.List<java.lang.String>
           getTagList() {
-        return tag_.getUnmodifiableView();
+        return java.util.Collections.unmodifiableList(tag_);
       }
       /**
        * <code>repeated string tag = 6;</code>
@@ -10809,8 +10888,7 @@ public final class BatchReport {
       public Builder addAllTag(
           java.lang.Iterable<java.lang.String> values) {
         ensureTagIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, tag_);
+        super.addAll(values, tag_);
         onChanged();
         return this;
       }
@@ -10837,6 +10915,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional double effort_to_fix = 7;
       private double effortToFix_ ;
       /**
        * <code>optional double effort_to_fix = 7;</code>
@@ -10885,6 +10964,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool is_new = 8;
       private boolean isNew_ ;
       /**
        * <code>optional bool is_new = 8;</code>
@@ -10917,6 +10997,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string uuid = 9;
       private java.lang.Object uuid_ = "";
       /**
        * <code>optional string uuid = 9;</code>
@@ -10930,12 +11011,9 @@ public final class BatchReport {
       public java.lang.String getUuid() {
         java.lang.Object ref = uuid_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            uuid_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          uuid_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -10993,6 +11071,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 debt_in_minutes = 10;
       private long debtInMinutes_ ;
       /**
        * <code>optional int64 debt_in_minutes = 10;</code>
@@ -11025,6 +11104,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string resolution = 11;
       private java.lang.Object resolution_ = "";
       /**
        * <code>optional string resolution = 11;</code>
@@ -11038,12 +11118,9 @@ public final class BatchReport {
       public java.lang.String getResolution() {
         java.lang.Object ref = resolution_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            resolution_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          resolution_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11101,6 +11178,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string status = 12;
       private java.lang.Object status_ = "";
       /**
        * <code>optional string status = 12;</code>
@@ -11114,12 +11192,9 @@ public final class BatchReport {
       public java.lang.String getStatus() {
         java.lang.Object ref = status_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            status_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          status_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11177,6 +11252,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string checksum = 13;
       private java.lang.Object checksum_ = "";
       /**
        * <code>optional string checksum = 13;</code>
@@ -11190,12 +11266,9 @@ public final class BatchReport {
       public java.lang.String getChecksum() {
         java.lang.Object ref = checksum_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            checksum_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          checksum_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11253,6 +11326,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool manual_severity = 14;
       private boolean manualSeverity_ ;
       /**
        * <code>optional bool manual_severity = 14;</code>
@@ -11285,6 +11359,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string reporter = 15;
       private java.lang.Object reporter_ = "";
       /**
        * <code>optional string reporter = 15;</code>
@@ -11298,12 +11373,9 @@ public final class BatchReport {
       public java.lang.String getReporter() {
         java.lang.Object ref = reporter_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            reporter_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          reporter_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11361,6 +11433,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string assignee = 16;
       private java.lang.Object assignee_ = "";
       /**
        * <code>optional string assignee = 16;</code>
@@ -11374,12 +11447,9 @@ public final class BatchReport {
       public java.lang.String getAssignee() {
         java.lang.Object ref = assignee_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            assignee_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          assignee_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11437,6 +11507,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string action_plan_key = 17;
       private java.lang.Object actionPlanKey_ = "";
       /**
        * <code>optional string action_plan_key = 17;</code>
@@ -11450,12 +11521,9 @@ public final class BatchReport {
       public java.lang.String getActionPlanKey() {
         java.lang.Object ref = actionPlanKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            actionPlanKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          actionPlanKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11513,6 +11581,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string attributes = 18;
       private java.lang.Object attributes_ = "";
       /**
        * <code>optional string attributes = 18;</code>
@@ -11526,12 +11595,9 @@ public final class BatchReport {
       public java.lang.String getAttributes() {
         java.lang.Object ref = attributes_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            attributes_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          attributes_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11589,6 +11655,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string author_login = 19;
       private java.lang.Object authorLogin_ = "";
       /**
        * <code>optional string author_login = 19;</code>
@@ -11602,12 +11669,9 @@ public final class BatchReport {
       public java.lang.String getAuthorLogin() {
         java.lang.Object ref = authorLogin_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            authorLogin_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          authorLogin_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11665,6 +11729,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 creation_date = 20;
       private long creationDate_ ;
       /**
        * <code>optional int64 creation_date = 20;</code>
@@ -11697,6 +11762,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 close_date = 21;
       private long closeDate_ ;
       /**
        * <code>optional int64 close_date = 21;</code>
@@ -11729,6 +11795,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 update_date = 22;
       private long updateDate_ ;
       /**
        * <code>optional int64 update_date = 22;</code>
@@ -11761,6 +11828,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 selected_at = 23;
       private long selectedAt_ ;
       /**
        * <code>optional int64 selected_at = 23;</code>
@@ -11793,6 +11861,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string diff_fields = 24;
       private java.lang.Object diffFields_ = "";
       /**
        * <code>optional string diff_fields = 24;</code>
@@ -11806,12 +11875,9 @@ public final class BatchReport {
       public java.lang.String getDiffFields() {
         java.lang.Object ref = diffFields_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            diffFields_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          diffFields_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -11869,6 +11935,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool is_changed = 25;
       private boolean isChanged_ ;
       /**
        * <code>optional bool is_changed = 25;</code>
@@ -11901,6 +11968,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool must_send_notification = 26;
       private boolean mustSendNotification_ ;
       /**
        * <code>optional bool must_send_notification = 26;</code>
@@ -11944,10 +12012,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Issue)
   }
 
-  public interface IssuesOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Issues)
-      com.google.protobuf.MessageOrBuilder {
+  public interface IssuesOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 component_ref = 1;
     /**
      * <code>optional int32 component_ref = 1;</code>
      */
@@ -11957,6 +12025,7 @@ public final class BatchReport {
      */
     int getComponentRef();
 
+    // repeated .Issue issue = 2;
     /**
      * <code>repeated .Issue issue = 2;</code>
      */
@@ -11981,6 +12050,7 @@ public final class BatchReport {
     org.sonar.batch.protocol.output.BatchReport.IssueOrBuilder getIssueOrBuilder(
         int index);
 
+    // optional string component_uuid = 3;
     /**
      * <code>optional string component_uuid = 3;</code>
      *
@@ -12011,9 +12081,8 @@ public final class BatchReport {
    * Protobuf type {@code Issues}
    */
   public static final class Issues extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Issues)
-      IssuesOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements IssuesOrBuilder {
     // Use Issues.newBuilder() to construct.
     private Issues(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -12073,9 +12142,8 @@ public final class BatchReport {
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              componentUuid_ = bs;
+              componentUuid_ = input.readBytes();
               break;
             }
           }
@@ -12121,6 +12189,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 component_ref = 1;
     public static final int COMPONENT_REF_FIELD_NUMBER = 1;
     private int componentRef_;
     /**
@@ -12136,6 +12205,7 @@ public final class BatchReport {
       return componentRef_;
     }
 
+    // repeated .Issue issue = 2;
     public static final int ISSUE_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Issue> issue_;
     /**
@@ -12171,6 +12241,7 @@ public final class BatchReport {
       return issue_.get(index);
     }
 
+    // optional string component_uuid = 3;
     public static final int COMPONENT_UUID_FIELD_NUMBER = 3;
     private java.lang.Object componentUuid_;
     /**
@@ -12233,8 +12304,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -12355,9 +12425,8 @@ public final class BatchReport {
      * Protobuf type {@code Issues}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Issues)
-        org.sonar.batch.protocol.output.BatchReport.IssuesOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.IssuesOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Issues_descriptor;
@@ -12523,6 +12592,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 component_ref = 1;
       private int componentRef_ ;
       /**
        * <code>optional int32 component_ref = 1;</code>
@@ -12555,6 +12625,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .Issue issue = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Issue> issue_ =
         java.util.Collections.emptyList();
       private void ensureIssueIsMutable() {
@@ -12696,8 +12767,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Issue> values) {
         if (issueBuilder_ == null) {
           ensureIssueIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, issue_);
+          super.addAll(values, issue_);
           onChanged();
         } else {
           issueBuilder_.addAllMessages(values);
@@ -12795,6 +12865,7 @@ public final class BatchReport {
         return issueBuilder_;
       }
 
+      // optional string component_uuid = 3;
       private java.lang.Object componentUuid_ = "";
       /**
        * <code>optional string component_uuid = 3;</code>
@@ -12816,12 +12887,9 @@ public final class BatchReport {
       public java.lang.String getComponentUuid() {
         java.lang.Object ref = componentUuid_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            componentUuid_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          componentUuid_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -12906,10 +12974,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Issues)
   }
 
-  public interface ChangesetsOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Changesets)
-      com.google.protobuf.MessageOrBuilder {
+  public interface ChangesetsOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 component_ref = 1;
     /**
      * <code>optional int32 component_ref = 1;</code>
      */
@@ -12919,6 +12987,7 @@ public final class BatchReport {
      */
     int getComponentRef();
 
+    // repeated .Changesets.Changeset changeset = 2;
     /**
      * <code>repeated .Changesets.Changeset changeset = 2;</code>
      */
@@ -12943,6 +13012,7 @@ public final class BatchReport {
     org.sonar.batch.protocol.output.BatchReport.Changesets.ChangesetOrBuilder getChangesetOrBuilder(
         int index);
 
+    // repeated int32 changesetIndexByLine = 3 [packed = true];
     /**
      * <code>repeated int32 changesetIndexByLine = 3 [packed = true];</code>
      *
@@ -12972,9 +13042,8 @@ public final class BatchReport {
    * Protobuf type {@code Changesets}
    */
   public static final class Changesets extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Changesets)
-      ChangesetsOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements ChangesetsOrBuilder {
     // Use Changesets.newBuilder() to construct.
     private Changesets(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -13099,10 +13168,10 @@ public final class BatchReport {
       return PARSER;
     }
 
-    public interface ChangesetOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:Changesets.Changeset)
-        com.google.protobuf.MessageOrBuilder {
+    public interface ChangesetOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
 
+      // optional string revision = 1;
       /**
        * <code>optional string revision = 1;</code>
        */
@@ -13117,6 +13186,7 @@ public final class BatchReport {
       com.google.protobuf.ByteString
           getRevisionBytes();
 
+      // optional string author = 2;
       /**
        * <code>optional string author = 2;</code>
        */
@@ -13131,6 +13201,7 @@ public final class BatchReport {
       com.google.protobuf.ByteString
           getAuthorBytes();
 
+      // optional int64 date = 3;
       /**
        * <code>optional int64 date = 3;</code>
        */
@@ -13144,9 +13215,8 @@ public final class BatchReport {
      * Protobuf type {@code Changesets.Changeset}
      */
     public static final class Changeset extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:Changesets.Changeset)
-        ChangesetOrBuilder {
+        com.google.protobuf.GeneratedMessage
+        implements ChangesetOrBuilder {
       // Use Changeset.newBuilder() to construct.
       private Changeset(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
         super(builder);
@@ -13193,15 +13263,13 @@ public final class BatchReport {
                 break;
               }
               case 10: {
-                com.google.protobuf.ByteString bs = input.readBytes();
                 bitField0_ |= 0x00000001;
-                revision_ = bs;
+                revision_ = input.readBytes();
                 break;
               }
               case 18: {
-                com.google.protobuf.ByteString bs = input.readBytes();
                 bitField0_ |= 0x00000002;
-                author_ = bs;
+                author_ = input.readBytes();
                 break;
               }
               case 24: {
@@ -13249,6 +13317,7 @@ public final class BatchReport {
       }
 
       private int bitField0_;
+      // optional string revision = 1;
       public static final int REVISION_FIELD_NUMBER = 1;
       private java.lang.Object revision_;
       /**
@@ -13291,6 +13360,7 @@ public final class BatchReport {
         }
       }
 
+      // optional string author = 2;
       public static final int AUTHOR_FIELD_NUMBER = 2;
       private java.lang.Object author_;
       /**
@@ -13333,6 +13403,7 @@ public final class BatchReport {
         }
       }
 
+      // optional int64 date = 3;
       public static final int DATE_FIELD_NUMBER = 3;
       private long date_;
       /**
@@ -13356,8 +13427,7 @@ public final class BatchReport {
       private byte memoizedIsInitialized = -1;
       public final boolean isInitialized() {
         byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
+        if (isInitialized != -1) return isInitialized == 1;
 
         memoizedIsInitialized = 1;
         return true;
@@ -13478,9 +13548,8 @@ public final class BatchReport {
        * Protobuf type {@code Changesets.Changeset}
        */
       public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:Changesets.Changeset)
-          org.sonar.batch.protocol.output.BatchReport.Changesets.ChangesetOrBuilder {
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements org.sonar.batch.protocol.output.BatchReport.Changesets.ChangesetOrBuilder {
         public static final com.google.protobuf.Descriptors.Descriptor
             getDescriptor() {
           return org.sonar.batch.protocol.output.BatchReport.internal_static_Changesets_Changeset_descriptor;
@@ -13615,6 +13684,7 @@ public final class BatchReport {
         }
         private int bitField0_;
 
+        // optional string revision = 1;
         private java.lang.Object revision_ = "";
         /**
          * <code>optional string revision = 1;</code>
@@ -13628,12 +13698,9 @@ public final class BatchReport {
         public java.lang.String getRevision() {
           java.lang.Object ref = revision_;
           if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              revision_ = s;
-            }
+            java.lang.String s = ((com.google.protobuf.ByteString) ref)
+                .toStringUtf8();
+            revision_ = s;
             return s;
           } else {
             return (java.lang.String) ref;
@@ -13691,6 +13758,7 @@ public final class BatchReport {
           return this;
         }
 
+        // optional string author = 2;
         private java.lang.Object author_ = "";
         /**
          * <code>optional string author = 2;</code>
@@ -13704,12 +13772,9 @@ public final class BatchReport {
         public java.lang.String getAuthor() {
           java.lang.Object ref = author_;
           if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              author_ = s;
-            }
+            java.lang.String s = ((com.google.protobuf.ByteString) ref)
+                .toStringUtf8();
+            author_ = s;
             return s;
           } else {
             return (java.lang.String) ref;
@@ -13767,6 +13832,7 @@ public final class BatchReport {
           return this;
         }
 
+        // optional int64 date = 3;
         private long date_ ;
         /**
          * <code>optional int64 date = 3;</code>
@@ -13811,6 +13877,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 component_ref = 1;
     public static final int COMPONENT_REF_FIELD_NUMBER = 1;
     private int componentRef_;
     /**
@@ -13826,6 +13893,7 @@ public final class BatchReport {
       return componentRef_;
     }
 
+    // repeated .Changesets.Changeset changeset = 2;
     public static final int CHANGESET_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Changesets.Changeset> changeset_;
     /**
@@ -13861,6 +13929,7 @@ public final class BatchReport {
       return changeset_.get(index);
     }
 
+    // repeated int32 changesetIndexByLine = 3 [packed = true];
     public static final int CHANGESETINDEXBYLINE_FIELD_NUMBER = 3;
     private java.util.List<java.lang.Integer> changesetIndexByLine_;
     /**
@@ -13904,8 +13973,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -14040,9 +14108,8 @@ public final class BatchReport {
      * Protobuf type {@code Changesets}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Changesets)
-        org.sonar.batch.protocol.output.BatchReport.ChangesetsOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.ChangesetsOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Changesets_descriptor;
@@ -14214,6 +14281,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 component_ref = 1;
       private int componentRef_ ;
       /**
        * <code>optional int32 component_ref = 1;</code>
@@ -14246,6 +14314,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .Changesets.Changeset changeset = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Changesets.Changeset> changeset_ =
         java.util.Collections.emptyList();
       private void ensureChangesetIsMutable() {
@@ -14387,8 +14456,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Changesets.Changeset> values) {
         if (changesetBuilder_ == null) {
           ensureChangesetIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, changeset_);
+          super.addAll(values, changeset_);
           onChanged();
         } else {
           changesetBuilder_.addAllMessages(values);
@@ -14486,6 +14554,7 @@ public final class BatchReport {
         return changesetBuilder_;
       }
 
+      // repeated int32 changesetIndexByLine = 3 [packed = true];
       private java.util.List<java.lang.Integer> changesetIndexByLine_ = java.util.Collections.emptyList();
       private void ensureChangesetIndexByLineIsMutable() {
         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
@@ -14561,8 +14630,7 @@ public final class BatchReport {
       public Builder addAllChangesetIndexByLine(
           java.lang.Iterable<? extends java.lang.Integer> values) {
         ensureChangesetIndexByLineIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, changesetIndexByLine_);
+        super.addAll(values, changesetIndexByLine_);
         onChanged();
         return this;
       }
@@ -14591,10 +14659,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Changesets)
   }
 
-  public interface DuplicateOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Duplicate)
-      com.google.protobuf.MessageOrBuilder {
+  public interface DuplicateOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 other_file_ref = 1;
     /**
      * <code>optional int32 other_file_ref = 1;</code>
      *
@@ -14612,6 +14680,7 @@ public final class BatchReport {
      */
     int getOtherFileRef();
 
+    // optional .Range range = 2;
     /**
      * <code>optional .Range range = 2;</code>
      */
@@ -14625,6 +14694,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder getRangeOrBuilder();
 
+    // optional string other_file_key = 3;
     /**
      * <code>optional string other_file_key = 3;</code>
      *
@@ -14655,9 +14725,8 @@ public final class BatchReport {
    * Protobuf type {@code Duplicate}
    */
   public static final class Duplicate extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Duplicate)
-      DuplicateOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements DuplicateOrBuilder {
     // Use Duplicate.newBuilder() to construct.
     private Duplicate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -14722,9 +14791,8 @@ public final class BatchReport {
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000004;
-              otherFileKey_ = bs;
+              otherFileKey_ = input.readBytes();
               break;
             }
           }
@@ -14767,6 +14835,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 other_file_ref = 1;
     public static final int OTHER_FILE_REF_FIELD_NUMBER = 1;
     private int otherFileRef_;
     /**
@@ -14790,6 +14859,7 @@ public final class BatchReport {
       return otherFileRef_;
     }
 
+    // optional .Range range = 2;
     public static final int RANGE_FIELD_NUMBER = 2;
     private org.sonar.batch.protocol.output.BatchReport.Range range_;
     /**
@@ -14811,6 +14881,7 @@ public final class BatchReport {
       return range_;
     }
 
+    // optional string other_file_key = 3;
     public static final int OTHER_FILE_KEY_FIELD_NUMBER = 3;
     private java.lang.Object otherFileKey_;
     /**
@@ -14873,8 +14944,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -14995,9 +15065,8 @@ public final class BatchReport {
      * Protobuf type {@code Duplicate}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Duplicate)
-        org.sonar.batch.protocol.output.BatchReport.DuplicateOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.DuplicateOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Duplicate_descriptor;
@@ -15139,6 +15208,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 other_file_ref = 1;
       private int otherFileRef_ ;
       /**
        * <code>optional int32 other_file_ref = 1;</code>
@@ -15187,6 +15257,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional .Range range = 2;
       private org.sonar.batch.protocol.output.BatchReport.Range range_ = org.sonar.batch.protocol.output.BatchReport.Range.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder> rangeBuilder_;
@@ -15295,7 +15366,7 @@ public final class BatchReport {
         if (rangeBuilder_ == null) {
           rangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder>(
-                  getRange(),
+                  range_,
                   getParentForChildren(),
                   isClean());
           range_ = null;
@@ -15303,6 +15374,7 @@ public final class BatchReport {
         return rangeBuilder_;
       }
 
+      // optional string other_file_key = 3;
       private java.lang.Object otherFileKey_ = "";
       /**
        * <code>optional string other_file_key = 3;</code>
@@ -15324,12 +15396,9 @@ public final class BatchReport {
       public java.lang.String getOtherFileKey() {
         java.lang.Object ref = otherFileKey_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            otherFileKey_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          otherFileKey_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -15414,10 +15483,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Duplicate)
   }
 
-  public interface DuplicationOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Duplication)
-      com.google.protobuf.MessageOrBuilder {
+  public interface DuplicationOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional .Range origin_position = 1;
     /**
      * <code>optional .Range origin_position = 1;</code>
      *
@@ -15443,6 +15512,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder getOriginPositionOrBuilder();
 
+    // repeated .Duplicate duplicate = 2;
     /**
      * <code>repeated .Duplicate duplicate = 2;</code>
      */
@@ -15471,9 +15541,8 @@ public final class BatchReport {
    * Protobuf type {@code Duplication}
    */
   public static final class Duplication extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Duplication)
-      DuplicationOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements DuplicationOrBuilder {
     // Use Duplication.newBuilder() to construct.
     private Duplication(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -15583,6 +15652,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional .Range origin_position = 1;
     public static final int ORIGIN_POSITION_FIELD_NUMBER = 1;
     private org.sonar.batch.protocol.output.BatchReport.Range originPosition_;
     /**
@@ -15616,6 +15686,7 @@ public final class BatchReport {
       return originPosition_;
     }
 
+    // repeated .Duplicate duplicate = 2;
     public static final int DUPLICATE_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Duplicate> duplicate_;
     /**
@@ -15658,8 +15729,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -15773,9 +15843,8 @@ public final class BatchReport {
      * Protobuf type {@code Duplication}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Duplication)
-        org.sonar.batch.protocol.output.BatchReport.DuplicationOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.DuplicationOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Duplication_descriptor;
@@ -15939,6 +16008,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional .Range origin_position = 1;
       private org.sonar.batch.protocol.output.BatchReport.Range originPosition_ = org.sonar.batch.protocol.output.BatchReport.Range.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder> originPositionBuilder_;
@@ -16083,7 +16153,7 @@ public final class BatchReport {
         if (originPositionBuilder_ == null) {
           originPositionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder>(
-                  getOriginPosition(),
+                  originPosition_,
                   getParentForChildren(),
                   isClean());
           originPosition_ = null;
@@ -16091,6 +16161,7 @@ public final class BatchReport {
         return originPositionBuilder_;
       }
 
+      // repeated .Duplicate duplicate = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Duplicate> duplicate_ =
         java.util.Collections.emptyList();
       private void ensureDuplicateIsMutable() {
@@ -16232,8 +16303,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Duplicate> values) {
         if (duplicateBuilder_ == null) {
           ensureDuplicateIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, duplicate_);
+          super.addAll(values, duplicate_);
           onChanged();
         } else {
           duplicateBuilder_.addAllMessages(values);
@@ -16342,10 +16412,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Duplication)
   }
 
-  public interface DuplicationsOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Duplications)
-      com.google.protobuf.MessageOrBuilder {
+  public interface DuplicationsOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 component_ref = 1;
     /**
      * <code>optional int32 component_ref = 1;</code>
      */
@@ -16355,6 +16425,7 @@ public final class BatchReport {
      */
     int getComponentRef();
 
+    // repeated .Duplication duplication = 2;
     /**
      * <code>repeated .Duplication duplication = 2;</code>
      */
@@ -16383,9 +16454,8 @@ public final class BatchReport {
    * Protobuf type {@code Duplications}
    */
   public static final class Duplications extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Duplications)
-      DuplicationsOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements DuplicationsOrBuilder {
     // Use Duplications.newBuilder() to construct.
     private Duplications(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -16487,6 +16557,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 component_ref = 1;
     public static final int COMPONENT_REF_FIELD_NUMBER = 1;
     private int componentRef_;
     /**
@@ -16502,6 +16573,7 @@ public final class BatchReport {
       return componentRef_;
     }
 
+    // repeated .Duplication duplication = 2;
     public static final int DUPLICATION_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Duplication> duplication_;
     /**
@@ -16544,8 +16616,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -16659,9 +16730,8 @@ public final class BatchReport {
      * Protobuf type {@code Duplications}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Duplications)
-        org.sonar.batch.protocol.output.BatchReport.DuplicationsOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.DuplicationsOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Duplications_descriptor;
@@ -16816,6 +16886,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 component_ref = 1;
       private int componentRef_ ;
       /**
        * <code>optional int32 component_ref = 1;</code>
@@ -16848,6 +16919,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .Duplication duplication = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Duplication> duplication_ =
         java.util.Collections.emptyList();
       private void ensureDuplicationIsMutable() {
@@ -16989,8 +17061,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Duplication> values) {
         if (duplicationBuilder_ == null) {
           ensureDuplicationIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, duplication_);
+          super.addAll(values, duplication_);
           onChanged();
         } else {
           duplicationBuilder_.addAllMessages(values);
@@ -17099,10 +17170,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Duplications)
   }
 
-  public interface RangeOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Range)
-      com.google.protobuf.MessageOrBuilder {
+  public interface RangeOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 start_line = 1;
     /**
      * <code>optional int32 start_line = 1;</code>
      *
@@ -17120,6 +17191,7 @@ public final class BatchReport {
      */
     int getStartLine();
 
+    // optional int32 end_line = 2;
     /**
      * <code>optional int32 end_line = 2;</code>
      *
@@ -17137,6 +17209,7 @@ public final class BatchReport {
      */
     int getEndLine();
 
+    // optional int32 start_offset = 3;
     /**
      * <code>optional int32 start_offset = 3;</code>
      *
@@ -17154,6 +17227,7 @@ public final class BatchReport {
      */
     int getStartOffset();
 
+    // optional int32 end_offset = 4;
     /**
      * <code>optional int32 end_offset = 4;</code>
      *
@@ -17179,9 +17253,8 @@ public final class BatchReport {
    * </pre>
    */
   public static final class Range extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Range)
-      RangeOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements RangeOrBuilder {
     // Use Range.newBuilder() to construct.
     private Range(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -17287,6 +17360,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 start_line = 1;
     public static final int START_LINE_FIELD_NUMBER = 1;
     private int startLine_;
     /**
@@ -17310,6 +17384,7 @@ public final class BatchReport {
       return startLine_;
     }
 
+    // optional int32 end_line = 2;
     public static final int END_LINE_FIELD_NUMBER = 2;
     private int endLine_;
     /**
@@ -17333,6 +17408,7 @@ public final class BatchReport {
       return endLine_;
     }
 
+    // optional int32 start_offset = 3;
     public static final int START_OFFSET_FIELD_NUMBER = 3;
     private int startOffset_;
     /**
@@ -17356,6 +17432,7 @@ public final class BatchReport {
       return startOffset_;
     }
 
+    // optional int32 end_offset = 4;
     public static final int END_OFFSET_FIELD_NUMBER = 4;
     private int endOffset_;
     /**
@@ -17388,8 +17465,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -17521,9 +17597,8 @@ public final class BatchReport {
      * </pre>
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Range)
-        org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Range_descriptor;
@@ -17663,6 +17738,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 start_line = 1;
       private int startLine_ ;
       /**
        * <code>optional int32 start_line = 1;</code>
@@ -17711,6 +17787,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 end_line = 2;
       private int endLine_ ;
       /**
        * <code>optional int32 end_line = 2;</code>
@@ -17759,6 +17836,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 start_offset = 3;
       private int startOffset_ ;
       /**
        * <code>optional int32 start_offset = 3;</code>
@@ -17807,6 +17885,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 end_offset = 4;
       private int endOffset_ ;
       /**
        * <code>optional int32 end_offset = 4;</code>
@@ -17866,10 +17945,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Range)
   }
 
-  public interface SymbolsOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Symbols)
-      com.google.protobuf.MessageOrBuilder {
+  public interface SymbolsOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 file_ref = 1;
     /**
      * <code>optional int32 file_ref = 1;</code>
      */
@@ -17879,6 +17958,7 @@ public final class BatchReport {
      */
     int getFileRef();
 
+    // repeated .Symbols.Symbol symbol = 2;
     /**
      * <code>repeated .Symbols.Symbol symbol = 2;</code>
      */
@@ -17907,9 +17987,8 @@ public final class BatchReport {
    * Protobuf type {@code Symbols}
    */
   public static final class Symbols extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Symbols)
-      SymbolsOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements SymbolsOrBuilder {
     // Use Symbols.newBuilder() to construct.
     private Symbols(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -18010,10 +18089,10 @@ public final class BatchReport {
       return PARSER;
     }
 
-    public interface SymbolOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:Symbols.Symbol)
-        com.google.protobuf.MessageOrBuilder {
+    public interface SymbolOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
 
+      // optional .Range declaration = 1;
       /**
        * <code>optional .Range declaration = 1;</code>
        */
@@ -18027,6 +18106,7 @@ public final class BatchReport {
        */
       org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder getDeclarationOrBuilder();
 
+      // repeated .Range reference = 2;
       /**
        * <code>repeated .Range reference = 2;</code>
        */
@@ -18055,9 +18135,8 @@ public final class BatchReport {
      * Protobuf type {@code Symbols.Symbol}
      */
     public static final class Symbol extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:Symbols.Symbol)
-        SymbolOrBuilder {
+        com.google.protobuf.GeneratedMessage
+        implements SymbolOrBuilder {
       // Use Symbol.newBuilder() to construct.
       private Symbol(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
         super(builder);
@@ -18167,6 +18246,7 @@ public final class BatchReport {
       }
 
       private int bitField0_;
+      // optional .Range declaration = 1;
       public static final int DECLARATION_FIELD_NUMBER = 1;
       private org.sonar.batch.protocol.output.BatchReport.Range declaration_;
       /**
@@ -18188,6 +18268,7 @@ public final class BatchReport {
         return declaration_;
       }
 
+      // repeated .Range reference = 2;
       public static final int REFERENCE_FIELD_NUMBER = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Range> reference_;
       /**
@@ -18230,8 +18311,7 @@ public final class BatchReport {
       private byte memoizedIsInitialized = -1;
       public final boolean isInitialized() {
         byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
+        if (isInitialized != -1) return isInitialized == 1;
 
         memoizedIsInitialized = 1;
         return true;
@@ -18345,9 +18425,8 @@ public final class BatchReport {
        * Protobuf type {@code Symbols.Symbol}
        */
       public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:Symbols.Symbol)
-          org.sonar.batch.protocol.output.BatchReport.Symbols.SymbolOrBuilder {
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements org.sonar.batch.protocol.output.BatchReport.Symbols.SymbolOrBuilder {
         public static final com.google.protobuf.Descriptors.Descriptor
             getDescriptor() {
           return org.sonar.batch.protocol.output.BatchReport.internal_static_Symbols_Symbol_descriptor;
@@ -18511,6 +18590,7 @@ public final class BatchReport {
         }
         private int bitField0_;
 
+        // optional .Range declaration = 1;
         private org.sonar.batch.protocol.output.BatchReport.Range declaration_ = org.sonar.batch.protocol.output.BatchReport.Range.getDefaultInstance();
         private com.google.protobuf.SingleFieldBuilder<
             org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder> declarationBuilder_;
@@ -18619,7 +18699,7 @@ public final class BatchReport {
           if (declarationBuilder_ == null) {
             declarationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                 org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder>(
-                    getDeclaration(),
+                    declaration_,
                     getParentForChildren(),
                     isClean());
             declaration_ = null;
@@ -18627,6 +18707,7 @@ public final class BatchReport {
           return declarationBuilder_;
         }
 
+        // repeated .Range reference = 2;
         private java.util.List<org.sonar.batch.protocol.output.BatchReport.Range> reference_ =
           java.util.Collections.emptyList();
         private void ensureReferenceIsMutable() {
@@ -18768,8 +18849,7 @@ public final class BatchReport {
             java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Range> values) {
           if (referenceBuilder_ == null) {
             ensureReferenceIsMutable();
-            com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                values, reference_);
+            super.addAll(values, reference_);
             onChanged();
           } else {
             referenceBuilder_.addAllMessages(values);
@@ -18879,6 +18959,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 file_ref = 1;
     public static final int FILE_REF_FIELD_NUMBER = 1;
     private int fileRef_;
     /**
@@ -18894,6 +18975,7 @@ public final class BatchReport {
       return fileRef_;
     }
 
+    // repeated .Symbols.Symbol symbol = 2;
     public static final int SYMBOL_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.Symbols.Symbol> symbol_;
     /**
@@ -18936,8 +19018,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -19051,9 +19132,8 @@ public final class BatchReport {
      * Protobuf type {@code Symbols}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Symbols)
-        org.sonar.batch.protocol.output.BatchReport.SymbolsOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.SymbolsOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Symbols_descriptor;
@@ -19208,6 +19288,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 file_ref = 1;
       private int fileRef_ ;
       /**
        * <code>optional int32 file_ref = 1;</code>
@@ -19240,6 +19321,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .Symbols.Symbol symbol = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.Symbols.Symbol> symbol_ =
         java.util.Collections.emptyList();
       private void ensureSymbolIsMutable() {
@@ -19381,8 +19463,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.Symbols.Symbol> values) {
         if (symbolBuilder_ == null) {
           ensureSymbolIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, symbol_);
+          super.addAll(values, symbol_);
           onChanged();
         } else {
           symbolBuilder_.addAllMessages(values);
@@ -19491,10 +19572,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Symbols)
   }
 
-  public interface CoverageOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Coverage)
-      com.google.protobuf.MessageOrBuilder {
+  public interface CoverageOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 line = 1;
     /**
      * <code>optional int32 line = 1;</code>
      */
@@ -19504,6 +19585,7 @@ public final class BatchReport {
      */
     int getLine();
 
+    // optional int32 conditions = 2;
     /**
      * <code>optional int32 conditions = 2;</code>
      *
@@ -19521,6 +19603,7 @@ public final class BatchReport {
      */
     int getConditions();
 
+    // optional bool ut_hits = 3;
     /**
      * <code>optional bool ut_hits = 3;</code>
      *
@@ -19538,6 +19621,7 @@ public final class BatchReport {
      */
     boolean getUtHits();
 
+    // optional bool it_hits = 4;
     /**
      * <code>optional bool it_hits = 4;</code>
      *
@@ -19555,6 +19639,7 @@ public final class BatchReport {
      */
     boolean getItHits();
 
+    // optional int32 ut_covered_conditions = 5;
     /**
      * <code>optional int32 ut_covered_conditions = 5;</code>
      *
@@ -19572,6 +19657,7 @@ public final class BatchReport {
      */
     int getUtCoveredConditions();
 
+    // optional int32 it_covered_conditions = 6;
     /**
      * <code>optional int32 it_covered_conditions = 6;</code>
      *
@@ -19589,6 +19675,7 @@ public final class BatchReport {
      */
     int getItCoveredConditions();
 
+    // optional int32 overall_covered_conditions = 7;
     /**
      * <code>optional int32 overall_covered_conditions = 7;</code>
      *
@@ -19615,9 +19702,8 @@ public final class BatchReport {
    * </pre>
    */
   public static final class Coverage extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Coverage)
-      CoverageOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements CoverageOrBuilder {
     // Use Coverage.newBuilder() to construct.
     private Coverage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -19738,6 +19824,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 line = 1;
     public static final int LINE_FIELD_NUMBER = 1;
     private int line_;
     /**
@@ -19753,6 +19840,7 @@ public final class BatchReport {
       return line_;
     }
 
+    // optional int32 conditions = 2;
     public static final int CONDITIONS_FIELD_NUMBER = 2;
     private int conditions_;
     /**
@@ -19776,6 +19864,7 @@ public final class BatchReport {
       return conditions_;
     }
 
+    // optional bool ut_hits = 3;
     public static final int UT_HITS_FIELD_NUMBER = 3;
     private boolean utHits_;
     /**
@@ -19799,6 +19888,7 @@ public final class BatchReport {
       return utHits_;
     }
 
+    // optional bool it_hits = 4;
     public static final int IT_HITS_FIELD_NUMBER = 4;
     private boolean itHits_;
     /**
@@ -19822,6 +19912,7 @@ public final class BatchReport {
       return itHits_;
     }
 
+    // optional int32 ut_covered_conditions = 5;
     public static final int UT_COVERED_CONDITIONS_FIELD_NUMBER = 5;
     private int utCoveredConditions_;
     /**
@@ -19845,6 +19936,7 @@ public final class BatchReport {
       return utCoveredConditions_;
     }
 
+    // optional int32 it_covered_conditions = 6;
     public static final int IT_COVERED_CONDITIONS_FIELD_NUMBER = 6;
     private int itCoveredConditions_;
     /**
@@ -19868,6 +19960,7 @@ public final class BatchReport {
       return itCoveredConditions_;
     }
 
+    // optional int32 overall_covered_conditions = 7;
     public static final int OVERALL_COVERED_CONDITIONS_FIELD_NUMBER = 7;
     private int overallCoveredConditions_;
     /**
@@ -19903,8 +19996,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -20058,9 +20150,8 @@ public final class BatchReport {
      * </pre>
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Coverage)
-        org.sonar.batch.protocol.output.BatchReport.CoverageOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.CoverageOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Coverage_descriptor;
@@ -20227,6 +20318,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 line = 1;
       private int line_ ;
       /**
        * <code>optional int32 line = 1;</code>
@@ -20259,6 +20351,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 conditions = 2;
       private int conditions_ ;
       /**
        * <code>optional int32 conditions = 2;</code>
@@ -20307,6 +20400,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool ut_hits = 3;
       private boolean utHits_ ;
       /**
        * <code>optional bool ut_hits = 3;</code>
@@ -20355,6 +20449,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional bool it_hits = 4;
       private boolean itHits_ ;
       /**
        * <code>optional bool it_hits = 4;</code>
@@ -20403,6 +20498,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 ut_covered_conditions = 5;
       private int utCoveredConditions_ ;
       /**
        * <code>optional int32 ut_covered_conditions = 5;</code>
@@ -20451,6 +20547,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 it_covered_conditions = 6;
       private int itCoveredConditions_ ;
       /**
        * <code>optional int32 it_covered_conditions = 6;</code>
@@ -20499,6 +20596,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 overall_covered_conditions = 7;
       private int overallCoveredConditions_ ;
       /**
        * <code>optional int32 overall_covered_conditions = 7;</code>
@@ -20558,10 +20656,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Coverage)
   }
 
-  public interface SyntaxHighlightingOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:SyntaxHighlighting)
-      com.google.protobuf.MessageOrBuilder {
+  public interface SyntaxHighlightingOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional .Range range = 1;
     /**
      * <code>optional .Range range = 1;</code>
      */
@@ -20575,6 +20673,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder getRangeOrBuilder();
 
+    // optional .HighlightingType type = 2;
     /**
      * <code>optional .HighlightingType type = 2;</code>
      */
@@ -20593,9 +20692,8 @@ public final class BatchReport {
    * </pre>
    */
   public static final class SyntaxHighlighting extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:SyntaxHighlighting)
-      SyntaxHighlightingOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements SyntaxHighlightingOrBuilder {
     // Use SyntaxHighlighting.newBuilder() to construct.
     private SyntaxHighlighting(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -20705,6 +20803,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional .Range range = 1;
     public static final int RANGE_FIELD_NUMBER = 1;
     private org.sonar.batch.protocol.output.BatchReport.Range range_;
     /**
@@ -20726,6 +20825,7 @@ public final class BatchReport {
       return range_;
     }
 
+    // optional .HighlightingType type = 2;
     public static final int TYPE_FIELD_NUMBER = 2;
     private org.sonar.batch.protocol.Constants.HighlightingType type_;
     /**
@@ -20748,8 +20848,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -20868,9 +20967,8 @@ public final class BatchReport {
      * </pre>
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:SyntaxHighlighting)
-        org.sonar.batch.protocol.output.BatchReport.SyntaxHighlightingOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.SyntaxHighlightingOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_SyntaxHighlighting_descriptor;
@@ -21001,6 +21099,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional .Range range = 1;
       private org.sonar.batch.protocol.output.BatchReport.Range range_ = org.sonar.batch.protocol.output.BatchReport.Range.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder> rangeBuilder_;
@@ -21109,7 +21208,7 @@ public final class BatchReport {
         if (rangeBuilder_ == null) {
           rangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.sonar.batch.protocol.output.BatchReport.Range, org.sonar.batch.protocol.output.BatchReport.Range.Builder, org.sonar.batch.protocol.output.BatchReport.RangeOrBuilder>(
-                  getRange(),
+                  range_,
                   getParentForChildren(),
                   isClean());
           range_ = null;
@@ -21117,6 +21216,7 @@ public final class BatchReport {
         return rangeBuilder_;
       }
 
+      // optional .HighlightingType type = 2;
       private org.sonar.batch.protocol.Constants.HighlightingType type_ = org.sonar.batch.protocol.Constants.HighlightingType.ANNOTATION;
       /**
        * <code>optional .HighlightingType type = 2;</code>
@@ -21163,10 +21263,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:SyntaxHighlighting)
   }
 
-  public interface TestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Test)
-      com.google.protobuf.MessageOrBuilder {
+  public interface TestOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional string name = 1;
     /**
      * <code>optional string name = 1;</code>
      */
@@ -21181,6 +21281,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getNameBytes();
 
+    // optional .TestStatus status = 2;
     /**
      * <code>optional .TestStatus status = 2;</code>
      */
@@ -21190,6 +21291,7 @@ public final class BatchReport {
      */
     org.sonar.batch.protocol.Constants.TestStatus getStatus();
 
+    // optional int64 duration_in_ms = 3;
     /**
      * <code>optional int64 duration_in_ms = 3;</code>
      */
@@ -21199,6 +21301,7 @@ public final class BatchReport {
      */
     long getDurationInMs();
 
+    // optional string stacktrace = 4;
     /**
      * <code>optional string stacktrace = 4;</code>
      */
@@ -21213,6 +21316,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getStacktraceBytes();
 
+    // optional string msg = 5;
     /**
      * <code>optional string msg = 5;</code>
      */
@@ -21231,9 +21335,8 @@ public final class BatchReport {
    * Protobuf type {@code Test}
    */
   public static final class Test extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Test)
-      TestOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements TestOrBuilder {
     // Use Test.newBuilder() to construct.
     private Test(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -21280,9 +21383,8 @@ public final class BatchReport {
               break;
             }
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000001;
-              name_ = bs;
+              name_ = input.readBytes();
               break;
             }
             case 16: {
@@ -21302,15 +21404,13 @@ public final class BatchReport {
               break;
             }
             case 34: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000008;
-              stacktrace_ = bs;
+              stacktrace_ = input.readBytes();
               break;
             }
             case 42: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000010;
-              msg_ = bs;
+              msg_ = input.readBytes();
               break;
             }
           }
@@ -21353,6 +21453,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional string name = 1;
     public static final int NAME_FIELD_NUMBER = 1;
     private java.lang.Object name_;
     /**
@@ -21395,6 +21496,7 @@ public final class BatchReport {
       }
     }
 
+    // optional .TestStatus status = 2;
     public static final int STATUS_FIELD_NUMBER = 2;
     private org.sonar.batch.protocol.Constants.TestStatus status_;
     /**
@@ -21410,6 +21512,7 @@ public final class BatchReport {
       return status_;
     }
 
+    // optional int64 duration_in_ms = 3;
     public static final int DURATION_IN_MS_FIELD_NUMBER = 3;
     private long durationInMs_;
     /**
@@ -21425,6 +21528,7 @@ public final class BatchReport {
       return durationInMs_;
     }
 
+    // optional string stacktrace = 4;
     public static final int STACKTRACE_FIELD_NUMBER = 4;
     private java.lang.Object stacktrace_;
     /**
@@ -21467,6 +21571,7 @@ public final class BatchReport {
       }
     }
 
+    // optional string msg = 5;
     public static final int MSG_FIELD_NUMBER = 5;
     private java.lang.Object msg_;
     /**
@@ -21519,8 +21624,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -21655,9 +21759,8 @@ public final class BatchReport {
      * Protobuf type {@code Test}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Test)
-        org.sonar.batch.protocol.output.BatchReport.TestOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.TestOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_Test_descriptor;
@@ -21812,6 +21915,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional string name = 1;
       private java.lang.Object name_ = "";
       /**
        * <code>optional string name = 1;</code>
@@ -21825,12 +21929,9 @@ public final class BatchReport {
       public java.lang.String getName() {
         java.lang.Object ref = name_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            name_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          name_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -21888,6 +21989,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional .TestStatus status = 2;
       private org.sonar.batch.protocol.Constants.TestStatus status_ = org.sonar.batch.protocol.Constants.TestStatus.OK;
       /**
        * <code>optional .TestStatus status = 2;</code>
@@ -21923,6 +22025,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int64 duration_in_ms = 3;
       private long durationInMs_ ;
       /**
        * <code>optional int64 duration_in_ms = 3;</code>
@@ -21955,6 +22058,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string stacktrace = 4;
       private java.lang.Object stacktrace_ = "";
       /**
        * <code>optional string stacktrace = 4;</code>
@@ -21968,12 +22072,9 @@ public final class BatchReport {
       public java.lang.String getStacktrace() {
         java.lang.Object ref = stacktrace_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            stacktrace_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          stacktrace_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -22031,6 +22132,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional string msg = 5;
       private java.lang.Object msg_ = "";
       /**
        * <code>optional string msg = 5;</code>
@@ -22044,12 +22146,9 @@ public final class BatchReport {
       public java.lang.String getMsg() {
         java.lang.Object ref = msg_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            msg_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          msg_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -22118,10 +22217,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:Test)
   }
 
-  public interface CoverageDetailOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:CoverageDetail)
-      com.google.protobuf.MessageOrBuilder {
+  public interface CoverageDetailOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional string test_name = 1;
     /**
      * <code>optional string test_name = 1;</code>
      */
@@ -22136,6 +22235,7 @@ public final class BatchReport {
     com.google.protobuf.ByteString
         getTestNameBytes();
 
+    // repeated .CoverageDetail.CoveredFile covered_file = 2;
     /**
      * <code>repeated .CoverageDetail.CoveredFile covered_file = 2;</code>
      */
@@ -22164,9 +22264,8 @@ public final class BatchReport {
    * Protobuf type {@code CoverageDetail}
    */
   public static final class CoverageDetail extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:CoverageDetail)
-      CoverageDetailOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements CoverageDetailOrBuilder {
     // Use CoverageDetail.newBuilder() to construct.
     private CoverageDetail(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -22213,9 +22312,8 @@ public final class BatchReport {
               break;
             }
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000001;
-              testName_ = bs;
+              testName_ = input.readBytes();
               break;
             }
             case 18: {
@@ -22268,10 +22366,10 @@ public final class BatchReport {
       return PARSER;
     }
 
-    public interface CoveredFileOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:CoverageDetail.CoveredFile)
-        com.google.protobuf.MessageOrBuilder {
+    public interface CoveredFileOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
 
+      // optional int32 file_ref = 1;
       /**
        * <code>optional int32 file_ref = 1;</code>
        */
@@ -22281,6 +22379,7 @@ public final class BatchReport {
        */
       int getFileRef();
 
+      // repeated int32 covered_line = 2 [packed = true];
       /**
        * <code>repeated int32 covered_line = 2 [packed = true];</code>
        */
@@ -22298,9 +22397,8 @@ public final class BatchReport {
      * Protobuf type {@code CoverageDetail.CoveredFile}
      */
     public static final class CoveredFile extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:CoverageDetail.CoveredFile)
-        CoveredFileOrBuilder {
+        com.google.protobuf.GeneratedMessage
+        implements CoveredFileOrBuilder {
       // Use CoveredFile.newBuilder() to construct.
       private CoveredFile(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
         super(builder);
@@ -22415,6 +22513,7 @@ public final class BatchReport {
       }
 
       private int bitField0_;
+      // optional int32 file_ref = 1;
       public static final int FILE_REF_FIELD_NUMBER = 1;
       private int fileRef_;
       /**
@@ -22430,6 +22529,7 @@ public final class BatchReport {
         return fileRef_;
       }
 
+      // repeated int32 covered_line = 2 [packed = true];
       public static final int COVERED_LINE_FIELD_NUMBER = 2;
       private java.util.List<java.lang.Integer> coveredLine_;
       /**
@@ -22460,8 +22560,7 @@ public final class BatchReport {
       private byte memoizedIsInitialized = -1;
       public final boolean isInitialized() {
         byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
+        if (isInitialized != -1) return isInitialized == 1;
 
         memoizedIsInitialized = 1;
         return true;
@@ -22589,9 +22688,8 @@ public final class BatchReport {
        * Protobuf type {@code CoverageDetail.CoveredFile}
        */
       public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:CoverageDetail.CoveredFile)
-          org.sonar.batch.protocol.output.BatchReport.CoverageDetail.CoveredFileOrBuilder {
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements org.sonar.batch.protocol.output.BatchReport.CoverageDetail.CoveredFileOrBuilder {
         public static final com.google.protobuf.Descriptors.Descriptor
             getDescriptor() {
           return org.sonar.batch.protocol.output.BatchReport.internal_static_CoverageDetail_CoveredFile_descriptor;
@@ -22721,6 +22819,7 @@ public final class BatchReport {
         }
         private int bitField0_;
 
+        // optional int32 file_ref = 1;
         private int fileRef_ ;
         /**
          * <code>optional int32 file_ref = 1;</code>
@@ -22753,6 +22852,7 @@ public final class BatchReport {
           return this;
         }
 
+        // repeated int32 covered_line = 2 [packed = true];
         private java.util.List<java.lang.Integer> coveredLine_ = java.util.Collections.emptyList();
         private void ensureCoveredLineIsMutable() {
           if (!((bitField0_ & 0x00000002) == 0x00000002)) {
@@ -22804,8 +22904,7 @@ public final class BatchReport {
         public Builder addAllCoveredLine(
             java.lang.Iterable<? extends java.lang.Integer> values) {
           ensureCoveredLineIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, coveredLine_);
+          super.addAll(values, coveredLine_);
           onChanged();
           return this;
         }
@@ -22831,6 +22930,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional string test_name = 1;
     public static final int TEST_NAME_FIELD_NUMBER = 1;
     private java.lang.Object testName_;
     /**
@@ -22873,6 +22973,7 @@ public final class BatchReport {
       }
     }
 
+    // repeated .CoverageDetail.CoveredFile covered_file = 2;
     public static final int COVERED_FILE_FIELD_NUMBER = 2;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.CoverageDetail.CoveredFile> coveredFile_;
     /**
@@ -22915,8 +23016,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -23030,9 +23130,8 @@ public final class BatchReport {
      * Protobuf type {@code CoverageDetail}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:CoverageDetail)
-        org.sonar.batch.protocol.output.BatchReport.CoverageDetailOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.CoverageDetailOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_CoverageDetail_descriptor;
@@ -23189,6 +23288,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional string test_name = 1;
       private java.lang.Object testName_ = "";
       /**
        * <code>optional string test_name = 1;</code>
@@ -23202,12 +23302,9 @@ public final class BatchReport {
       public java.lang.String getTestName() {
         java.lang.Object ref = testName_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            testName_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          testName_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -23265,6 +23362,7 @@ public final class BatchReport {
         return this;
       }
 
+      // repeated .CoverageDetail.CoveredFile covered_file = 2;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.CoverageDetail.CoveredFile> coveredFile_ =
         java.util.Collections.emptyList();
       private void ensureCoveredFileIsMutable() {
@@ -23406,8 +23504,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.CoverageDetail.CoveredFile> values) {
         if (coveredFileBuilder_ == null) {
           ensureCoveredFileIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, coveredFile_);
+          super.addAll(values, coveredFile_);
           onChanged();
         } else {
           coveredFileBuilder_.addAllMessages(values);
@@ -23516,10 +23613,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:CoverageDetail)
   }
 
-  public interface FileDependencyOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:FileDependency)
-      com.google.protobuf.MessageOrBuilder {
+  public interface FileDependencyOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 to_file_ref = 1;
     /**
      * <code>optional int32 to_file_ref = 1;</code>
      */
@@ -23529,6 +23626,7 @@ public final class BatchReport {
      */
     int getToFileRef();
 
+    // optional int32 weight = 2;
     /**
      * <code>optional int32 weight = 2;</code>
      */
@@ -23542,9 +23640,8 @@ public final class BatchReport {
    * Protobuf type {@code FileDependency}
    */
   public static final class FileDependency extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:FileDependency)
-      FileDependencyOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements FileDependencyOrBuilder {
     // Use FileDependency.newBuilder() to construct.
     private FileDependency(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -23640,6 +23737,7 @@ public final class BatchReport {
     }
 
     private int bitField0_;
+    // optional int32 to_file_ref = 1;
     public static final int TO_FILE_REF_FIELD_NUMBER = 1;
     private int toFileRef_;
     /**
@@ -23655,6 +23753,7 @@ public final class BatchReport {
       return toFileRef_;
     }
 
+    // optional int32 weight = 2;
     public static final int WEIGHT_FIELD_NUMBER = 2;
     private int weight_;
     /**
@@ -23677,8 +23776,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -23792,9 +23890,8 @@ public final class BatchReport {
      * Protobuf type {@code FileDependency}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:FileDependency)
-        org.sonar.batch.protocol.output.BatchReport.FileDependencyOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.FileDependencyOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_FileDependency_descriptor;
@@ -23916,6 +24013,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // optional int32 to_file_ref = 1;
       private int toFileRef_ ;
       /**
        * <code>optional int32 to_file_ref = 1;</code>
@@ -23948,6 +24046,7 @@ public final class BatchReport {
         return this;
       }
 
+      // optional int32 weight = 2;
       private int weight_ ;
       /**
        * <code>optional int32 weight = 2;</code>
@@ -23991,10 +24090,10 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:FileDependency)
   }
 
-  public interface ModuleDependenciesOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ModuleDependencies)
-      com.google.protobuf.MessageOrBuilder {
+  public interface ModuleDependenciesOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // repeated .ModuleDependencies.ModuleDependency dep = 1;
     /**
      * <code>repeated .ModuleDependencies.ModuleDependency dep = 1;</code>
      */
@@ -24023,9 +24122,8 @@ public final class BatchReport {
    * Protobuf type {@code ModuleDependencies}
    */
   public static final class ModuleDependencies extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ModuleDependencies)
-      ModuleDependenciesOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements ModuleDependenciesOrBuilder {
     // Use ModuleDependencies.newBuilder() to construct.
     private ModuleDependencies(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -24121,10 +24219,10 @@ public final class BatchReport {
       return PARSER;
     }
 
-    public interface ModuleDependencyOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:ModuleDependencies.ModuleDependency)
-        com.google.protobuf.MessageOrBuilder {
+    public interface ModuleDependencyOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
 
+      // optional string key = 1;
       /**
        * <code>optional string key = 1;</code>
        */
@@ -24139,6 +24237,7 @@ public final class BatchReport {
       com.google.protobuf.ByteString
           getKeyBytes();
 
+      // optional string version = 2;
       /**
        * <code>optional string version = 2;</code>
        */
@@ -24153,6 +24252,7 @@ public final class BatchReport {
       com.google.protobuf.ByteString
           getVersionBytes();
 
+      // optional string scope = 3;
       /**
        * <code>optional string scope = 3;</code>
        */
@@ -24167,6 +24267,7 @@ public final class BatchReport {
       com.google.protobuf.ByteString
           getScopeBytes();
 
+      // repeated .ModuleDependencies.ModuleDependency child = 4;
       /**
        * <code>repeated .ModuleDependencies.ModuleDependency child = 4;</code>
        */
@@ -24195,9 +24296,8 @@ public final class BatchReport {
      * Protobuf type {@code ModuleDependencies.ModuleDependency}
      */
     public static final class ModuleDependency extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:ModuleDependencies.ModuleDependency)
-        ModuleDependencyOrBuilder {
+        com.google.protobuf.GeneratedMessage
+        implements ModuleDependencyOrBuilder {
       // Use ModuleDependency.newBuilder() to construct.
       private ModuleDependency(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
         super(builder);
@@ -24244,21 +24344,18 @@ public final class BatchReport {
                 break;
               }
               case 10: {
-                com.google.protobuf.ByteString bs = input.readBytes();
                 bitField0_ |= 0x00000001;
-                key_ = bs;
+                key_ = input.readBytes();
                 break;
               }
               case 18: {
-                com.google.protobuf.ByteString bs = input.readBytes();
                 bitField0_ |= 0x00000002;
-                version_ = bs;
+                version_ = input.readBytes();
                 break;
               }
               case 26: {
-                com.google.protobuf.ByteString bs = input.readBytes();
                 bitField0_ |= 0x00000004;
-                scope_ = bs;
+                scope_ = input.readBytes();
                 break;
               }
               case 34: {
@@ -24312,6 +24409,7 @@ public final class BatchReport {
       }
 
       private int bitField0_;
+      // optional string key = 1;
       public static final int KEY_FIELD_NUMBER = 1;
       private java.lang.Object key_;
       /**
@@ -24354,6 +24452,7 @@ public final class BatchReport {
         }
       }
 
+      // optional string version = 2;
       public static final int VERSION_FIELD_NUMBER = 2;
       private java.lang.Object version_;
       /**
@@ -24396,6 +24495,7 @@ public final class BatchReport {
         }
       }
 
+      // optional string scope = 3;
       public static final int SCOPE_FIELD_NUMBER = 3;
       private java.lang.Object scope_;
       /**
@@ -24438,6 +24538,7 @@ public final class BatchReport {
         }
       }
 
+      // repeated .ModuleDependencies.ModuleDependency child = 4;
       public static final int CHILD_FIELD_NUMBER = 4;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependency> child_;
       /**
@@ -24482,8 +24583,7 @@ public final class BatchReport {
       private byte memoizedIsInitialized = -1;
       public final boolean isInitialized() {
         byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
+        if (isInitialized != -1) return isInitialized == 1;
 
         memoizedIsInitialized = 1;
         return true;
@@ -24611,9 +24711,8 @@ public final class BatchReport {
        * Protobuf type {@code ModuleDependencies.ModuleDependency}
        */
       public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:ModuleDependencies.ModuleDependency)
-          org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependencyOrBuilder {
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependencyOrBuilder {
         public static final com.google.protobuf.Descriptors.Descriptor
             getDescriptor() {
           return org.sonar.batch.protocol.output.BatchReport.internal_static_ModuleDependencies_ModuleDependency_descriptor;
@@ -24792,6 +24891,7 @@ public final class BatchReport {
         }
         private int bitField0_;
 
+        // optional string key = 1;
         private java.lang.Object key_ = "";
         /**
          * <code>optional string key = 1;</code>
@@ -24805,12 +24905,9 @@ public final class BatchReport {
         public java.lang.String getKey() {
           java.lang.Object ref = key_;
           if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              key_ = s;
-            }
+            java.lang.String s = ((com.google.protobuf.ByteString) ref)
+                .toStringUtf8();
+            key_ = s;
             return s;
           } else {
             return (java.lang.String) ref;
@@ -24868,6 +24965,7 @@ public final class BatchReport {
           return this;
         }
 
+        // optional string version = 2;
         private java.lang.Object version_ = "";
         /**
          * <code>optional string version = 2;</code>
@@ -24881,12 +24979,9 @@ public final class BatchReport {
         public java.lang.String getVersion() {
           java.lang.Object ref = version_;
           if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              version_ = s;
-            }
+            java.lang.String s = ((com.google.protobuf.ByteString) ref)
+                .toStringUtf8();
+            version_ = s;
             return s;
           } else {
             return (java.lang.String) ref;
@@ -24944,6 +25039,7 @@ public final class BatchReport {
           return this;
         }
 
+        // optional string scope = 3;
         private java.lang.Object scope_ = "";
         /**
          * <code>optional string scope = 3;</code>
@@ -24957,12 +25053,9 @@ public final class BatchReport {
         public java.lang.String getScope() {
           java.lang.Object ref = scope_;
           if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              scope_ = s;
-            }
+            java.lang.String s = ((com.google.protobuf.ByteString) ref)
+                .toStringUtf8();
+            scope_ = s;
             return s;
           } else {
             return (java.lang.String) ref;
@@ -25020,6 +25113,7 @@ public final class BatchReport {
           return this;
         }
 
+        // repeated .ModuleDependencies.ModuleDependency child = 4;
         private java.util.List<org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependency> child_ =
           java.util.Collections.emptyList();
         private void ensureChildIsMutable() {
@@ -25161,8 +25255,7 @@ public final class BatchReport {
             java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependency> values) {
           if (childBuilder_ == null) {
             ensureChildIsMutable();
-            com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                values, child_);
+            super.addAll(values, child_);
             onChanged();
           } else {
             childBuilder_.addAllMessages(values);
@@ -25271,6 +25364,7 @@ public final class BatchReport {
       // @@protoc_insertion_point(class_scope:ModuleDependencies.ModuleDependency)
     }
 
+    // repeated .ModuleDependencies.ModuleDependency dep = 1;
     public static final int DEP_FIELD_NUMBER = 1;
     private java.util.List<org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependency> dep_;
     /**
@@ -25312,8 +25406,7 @@ public final class BatchReport {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -25420,9 +25513,8 @@ public final class BatchReport {
      * Protobuf type {@code ModuleDependencies}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ModuleDependencies)
-        org.sonar.batch.protocol.output.BatchReport.ModuleDependenciesOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.batch.protocol.output.BatchReport.ModuleDependenciesOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.batch.protocol.output.BatchReport.internal_static_ModuleDependencies_descriptor;
@@ -25566,6 +25658,7 @@ public final class BatchReport {
       }
       private int bitField0_;
 
+      // repeated .ModuleDependencies.ModuleDependency dep = 1;
       private java.util.List<org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependency> dep_ =
         java.util.Collections.emptyList();
       private void ensureDepIsMutable() {
@@ -25707,8 +25800,7 @@ public final class BatchReport {
           java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchReport.ModuleDependencies.ModuleDependency> values) {
         if (depBuilder_ == null) {
           ensureDepIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, dep_);
+          super.addAll(values, dep_);
           onChanged();
         } else {
           depBuilder_.addAllMessages(values);
@@ -25817,122 +25909,122 @@ public final class BatchReport {
     // @@protoc_insertion_point(class_scope:ModuleDependencies)
   }
 
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Metadata_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Metadata_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_ComponentLink_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_ComponentLink_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Event_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Event_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Component_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Component_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Measure_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Measure_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Measures_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Measures_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Issue_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Issue_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Issues_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Issues_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Changesets_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Changesets_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Changesets_Changeset_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Changesets_Changeset_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Duplicate_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Duplicate_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Duplication_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Duplication_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Duplications_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Duplications_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Range_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Range_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Symbols_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Symbols_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Symbols_Symbol_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Symbols_Symbol_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Coverage_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Coverage_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_SyntaxHighlighting_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_SyntaxHighlighting_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_Test_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_Test_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_CoverageDetail_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_CoverageDetail_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_CoverageDetail_CoveredFile_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_CoverageDetail_CoveredFile_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_FileDependency_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_FileDependency_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_ModuleDependencies_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_ModuleDependencies_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_ModuleDependencies_ModuleDependency_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
@@ -26029,163 +26121,162 @@ public final class BatchReport {
       "ncyB#\n\037org.sonar.batch.protocol.outputH\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public com.google.protobuf.ExtensionRegistry assignDescriptors(
-              com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
+      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+        public com.google.protobuf.ExtensionRegistry assignDescriptors(
+            com.google.protobuf.Descriptors.FileDescriptor root) {
+          descriptor = root;
+          internal_static_Metadata_descriptor =
+            getDescriptor().getMessageTypes().get(0);
+          internal_static_Metadata_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Metadata_descriptor,
+              new java.lang.String[] { "AnalysisDate", "ProjectKey", "Branch", "RootComponentRef", "SnapshotId", "DeletedComponentsCount", });
+          internal_static_ComponentLink_descriptor =
+            getDescriptor().getMessageTypes().get(1);
+          internal_static_ComponentLink_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_ComponentLink_descriptor,
+              new java.lang.String[] { "Type", "Href", });
+          internal_static_Event_descriptor =
+            getDescriptor().getMessageTypes().get(2);
+          internal_static_Event_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Event_descriptor,
+              new java.lang.String[] { "ComponentRef", "Name", "Description", "Category", "EventData", });
+          internal_static_Component_descriptor =
+            getDescriptor().getMessageTypes().get(3);
+          internal_static_Component_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Component_descriptor,
+              new java.lang.String[] { "Ref", "Path", "Name", "Type", "IsTest", "Language", "ChildRef", "Link", "Version", "Key", "Lines", "Id", "SnapshotId", "Uuid", "Event", });
+          internal_static_Measure_descriptor =
+            getDescriptor().getMessageTypes().get(4);
+          internal_static_Measure_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Measure_descriptor,
+              new java.lang.String[] { "ValueType", "BooleanValue", "IntValue", "LongValue", "DoubleValue", "StringValue", "MetricKey", "Description", "RuleKey", "Severity", "AlertStatus", "AlertText", "VariationValue1", "VariationValue2", "VariationValue3", "VariationValue4", "VariationValue5", "CharactericId", "PersonId", });
+          internal_static_Measures_descriptor =
+            getDescriptor().getMessageTypes().get(5);
+          internal_static_Measures_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Measures_descriptor,
+              new java.lang.String[] { "ComponentRef", "Measure", });
+          internal_static_Issue_descriptor =
+            getDescriptor().getMessageTypes().get(6);
+          internal_static_Issue_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Issue_descriptor,
+              new java.lang.String[] { "RuleRepository", "RuleKey", "Line", "Msg", "Severity", "Tag", "EffortToFix", "IsNew", "Uuid", "DebtInMinutes", "Resolution", "Status", "Checksum", "ManualSeverity", "Reporter", "Assignee", "ActionPlanKey", "Attributes", "AuthorLogin", "CreationDate", "CloseDate", "UpdateDate", "SelectedAt", "DiffFields", "IsChanged", "MustSendNotification", });
+          internal_static_Issues_descriptor =
+            getDescriptor().getMessageTypes().get(7);
+          internal_static_Issues_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Issues_descriptor,
+              new java.lang.String[] { "ComponentRef", "Issue", "ComponentUuid", });
+          internal_static_Changesets_descriptor =
+            getDescriptor().getMessageTypes().get(8);
+          internal_static_Changesets_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Changesets_descriptor,
+              new java.lang.String[] { "ComponentRef", "Changeset", "ChangesetIndexByLine", });
+          internal_static_Changesets_Changeset_descriptor =
+            internal_static_Changesets_descriptor.getNestedTypes().get(0);
+          internal_static_Changesets_Changeset_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Changesets_Changeset_descriptor,
+              new java.lang.String[] { "Revision", "Author", "Date", });
+          internal_static_Duplicate_descriptor =
+            getDescriptor().getMessageTypes().get(9);
+          internal_static_Duplicate_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Duplicate_descriptor,
+              new java.lang.String[] { "OtherFileRef", "Range", "OtherFileKey", });
+          internal_static_Duplication_descriptor =
+            getDescriptor().getMessageTypes().get(10);
+          internal_static_Duplication_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Duplication_descriptor,
+              new java.lang.String[] { "OriginPosition", "Duplicate", });
+          internal_static_Duplications_descriptor =
+            getDescriptor().getMessageTypes().get(11);
+          internal_static_Duplications_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Duplications_descriptor,
+              new java.lang.String[] { "ComponentRef", "Duplication", });
+          internal_static_Range_descriptor =
+            getDescriptor().getMessageTypes().get(12);
+          internal_static_Range_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Range_descriptor,
+              new java.lang.String[] { "StartLine", "EndLine", "StartOffset", "EndOffset", });
+          internal_static_Symbols_descriptor =
+            getDescriptor().getMessageTypes().get(13);
+          internal_static_Symbols_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Symbols_descriptor,
+              new java.lang.String[] { "FileRef", "Symbol", });
+          internal_static_Symbols_Symbol_descriptor =
+            internal_static_Symbols_descriptor.getNestedTypes().get(0);
+          internal_static_Symbols_Symbol_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Symbols_Symbol_descriptor,
+              new java.lang.String[] { "Declaration", "Reference", });
+          internal_static_Coverage_descriptor =
+            getDescriptor().getMessageTypes().get(14);
+          internal_static_Coverage_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Coverage_descriptor,
+              new java.lang.String[] { "Line", "Conditions", "UtHits", "ItHits", "UtCoveredConditions", "ItCoveredConditions", "OverallCoveredConditions", });
+          internal_static_SyntaxHighlighting_descriptor =
+            getDescriptor().getMessageTypes().get(15);
+          internal_static_SyntaxHighlighting_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_SyntaxHighlighting_descriptor,
+              new java.lang.String[] { "Range", "Type", });
+          internal_static_Test_descriptor =
+            getDescriptor().getMessageTypes().get(16);
+          internal_static_Test_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_Test_descriptor,
+              new java.lang.String[] { "Name", "Status", "DurationInMs", "Stacktrace", "Msg", });
+          internal_static_CoverageDetail_descriptor =
+            getDescriptor().getMessageTypes().get(17);
+          internal_static_CoverageDetail_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_CoverageDetail_descriptor,
+              new java.lang.String[] { "TestName", "CoveredFile", });
+          internal_static_CoverageDetail_CoveredFile_descriptor =
+            internal_static_CoverageDetail_descriptor.getNestedTypes().get(0);
+          internal_static_CoverageDetail_CoveredFile_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_CoverageDetail_CoveredFile_descriptor,
+              new java.lang.String[] { "FileRef", "CoveredLine", });
+          internal_static_FileDependency_descriptor =
+            getDescriptor().getMessageTypes().get(18);
+          internal_static_FileDependency_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_FileDependency_descriptor,
+              new java.lang.String[] { "ToFileRef", "Weight", });
+          internal_static_ModuleDependencies_descriptor =
+            getDescriptor().getMessageTypes().get(19);
+          internal_static_ModuleDependencies_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_ModuleDependencies_descriptor,
+              new java.lang.String[] { "Dep", });
+          internal_static_ModuleDependencies_ModuleDependency_descriptor =
+            internal_static_ModuleDependencies_descriptor.getNestedTypes().get(0);
+          internal_static_ModuleDependencies_ModuleDependency_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_ModuleDependencies_ModuleDependency_descriptor,
+              new java.lang.String[] { "Key", "Version", "Scope", "Child", });
+          return null;
+        }
+      };
     com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
         new com.google.protobuf.Descriptors.FileDescriptor[] {
           org.sonar.batch.protocol.Constants.getDescriptor(),
         }, assigner);
-    internal_static_Metadata_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_Metadata_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Metadata_descriptor,
-        new java.lang.String[] { "AnalysisDate", "ProjectKey", "Branch", "RootComponentRef", "SnapshotId", "DeletedComponentsCount", });
-    internal_static_ComponentLink_descriptor =
-      getDescriptor().getMessageTypes().get(1);
-    internal_static_ComponentLink_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ComponentLink_descriptor,
-        new java.lang.String[] { "Type", "Href", });
-    internal_static_Event_descriptor =
-      getDescriptor().getMessageTypes().get(2);
-    internal_static_Event_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Event_descriptor,
-        new java.lang.String[] { "ComponentRef", "Name", "Description", "Category", "EventData", });
-    internal_static_Component_descriptor =
-      getDescriptor().getMessageTypes().get(3);
-    internal_static_Component_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Component_descriptor,
-        new java.lang.String[] { "Ref", "Path", "Name", "Type", "IsTest", "Language", "ChildRef", "Link", "Version", "Key", "Lines", "Id", "SnapshotId", "Uuid", "Event", });
-    internal_static_Measure_descriptor =
-      getDescriptor().getMessageTypes().get(4);
-    internal_static_Measure_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Measure_descriptor,
-        new java.lang.String[] { "ValueType", "BooleanValue", "IntValue", "LongValue", "DoubleValue", "StringValue", "MetricKey", "Description", "RuleKey", "Severity", "AlertStatus", "AlertText", "VariationValue1", "VariationValue2", "VariationValue3", "VariationValue4", "VariationValue5", "CharactericId", "PersonId", });
-    internal_static_Measures_descriptor =
-      getDescriptor().getMessageTypes().get(5);
-    internal_static_Measures_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Measures_descriptor,
-        new java.lang.String[] { "ComponentRef", "Measure", });
-    internal_static_Issue_descriptor =
-      getDescriptor().getMessageTypes().get(6);
-    internal_static_Issue_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Issue_descriptor,
-        new java.lang.String[] { "RuleRepository", "RuleKey", "Line", "Msg", "Severity", "Tag", "EffortToFix", "IsNew", "Uuid", "DebtInMinutes", "Resolution", "Status", "Checksum", "ManualSeverity", "Reporter", "Assignee", "ActionPlanKey", "Attributes", "AuthorLogin", "CreationDate", "CloseDate", "UpdateDate", "SelectedAt", "DiffFields", "IsChanged", "MustSendNotification", });
-    internal_static_Issues_descriptor =
-      getDescriptor().getMessageTypes().get(7);
-    internal_static_Issues_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Issues_descriptor,
-        new java.lang.String[] { "ComponentRef", "Issue", "ComponentUuid", });
-    internal_static_Changesets_descriptor =
-      getDescriptor().getMessageTypes().get(8);
-    internal_static_Changesets_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Changesets_descriptor,
-        new java.lang.String[] { "ComponentRef", "Changeset", "ChangesetIndexByLine", });
-    internal_static_Changesets_Changeset_descriptor =
-      internal_static_Changesets_descriptor.getNestedTypes().get(0);
-    internal_static_Changesets_Changeset_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Changesets_Changeset_descriptor,
-        new java.lang.String[] { "Revision", "Author", "Date", });
-    internal_static_Duplicate_descriptor =
-      getDescriptor().getMessageTypes().get(9);
-    internal_static_Duplicate_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Duplicate_descriptor,
-        new java.lang.String[] { "OtherFileRef", "Range", "OtherFileKey", });
-    internal_static_Duplication_descriptor =
-      getDescriptor().getMessageTypes().get(10);
-    internal_static_Duplication_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Duplication_descriptor,
-        new java.lang.String[] { "OriginPosition", "Duplicate", });
-    internal_static_Duplications_descriptor =
-      getDescriptor().getMessageTypes().get(11);
-    internal_static_Duplications_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Duplications_descriptor,
-        new java.lang.String[] { "ComponentRef", "Duplication", });
-    internal_static_Range_descriptor =
-      getDescriptor().getMessageTypes().get(12);
-    internal_static_Range_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Range_descriptor,
-        new java.lang.String[] { "StartLine", "EndLine", "StartOffset", "EndOffset", });
-    internal_static_Symbols_descriptor =
-      getDescriptor().getMessageTypes().get(13);
-    internal_static_Symbols_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Symbols_descriptor,
-        new java.lang.String[] { "FileRef", "Symbol", });
-    internal_static_Symbols_Symbol_descriptor =
-      internal_static_Symbols_descriptor.getNestedTypes().get(0);
-    internal_static_Symbols_Symbol_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Symbols_Symbol_descriptor,
-        new java.lang.String[] { "Declaration", "Reference", });
-    internal_static_Coverage_descriptor =
-      getDescriptor().getMessageTypes().get(14);
-    internal_static_Coverage_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Coverage_descriptor,
-        new java.lang.String[] { "Line", "Conditions", "UtHits", "ItHits", "UtCoveredConditions", "ItCoveredConditions", "OverallCoveredConditions", });
-    internal_static_SyntaxHighlighting_descriptor =
-      getDescriptor().getMessageTypes().get(15);
-    internal_static_SyntaxHighlighting_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_SyntaxHighlighting_descriptor,
-        new java.lang.String[] { "Range", "Type", });
-    internal_static_Test_descriptor =
-      getDescriptor().getMessageTypes().get(16);
-    internal_static_Test_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Test_descriptor,
-        new java.lang.String[] { "Name", "Status", "DurationInMs", "Stacktrace", "Msg", });
-    internal_static_CoverageDetail_descriptor =
-      getDescriptor().getMessageTypes().get(17);
-    internal_static_CoverageDetail_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_CoverageDetail_descriptor,
-        new java.lang.String[] { "TestName", "CoveredFile", });
-    internal_static_CoverageDetail_CoveredFile_descriptor =
-      internal_static_CoverageDetail_descriptor.getNestedTypes().get(0);
-    internal_static_CoverageDetail_CoveredFile_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_CoverageDetail_CoveredFile_descriptor,
-        new java.lang.String[] { "FileRef", "CoveredLine", });
-    internal_static_FileDependency_descriptor =
-      getDescriptor().getMessageTypes().get(18);
-    internal_static_FileDependency_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_FileDependency_descriptor,
-        new java.lang.String[] { "ToFileRef", "Weight", });
-    internal_static_ModuleDependencies_descriptor =
-      getDescriptor().getMessageTypes().get(19);
-    internal_static_ModuleDependencies_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ModuleDependencies_descriptor,
-        new java.lang.String[] { "Dep", });
-    internal_static_ModuleDependencies_ModuleDependency_descriptor =
-      internal_static_ModuleDependencies_descriptor.getNestedTypes().get(0);
-    internal_static_ModuleDependencies_ModuleDependency_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ModuleDependencies_ModuleDependency_descriptor,
-        new java.lang.String[] { "Key", "Version", "Scope", "Child", });
-    org.sonar.batch.protocol.Constants.getDescriptor();
   }
 
   // @@protoc_insertion_point(outer_class_scope)
index 987acb9659f9bf0e91fa8b3c6a61b2fc7ac88332..8427ac822a9d6749e02fc3c026db092d3fc05fa1 100644 (file)
@@ -8,10 +8,10 @@ public final class FileSourceDb {
   public static void registerAllExtensions(
       com.google.protobuf.ExtensionRegistry registry) {
   }
-  public interface LineOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:org.sonar.server.source.db.Line)
-      com.google.protobuf.MessageOrBuilder {
+  public interface LineOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional int32 line = 1;
     /**
      * <code>optional int32 line = 1;</code>
      */
@@ -21,6 +21,7 @@ public final class FileSourceDb {
      */
     int getLine();
 
+    // optional string source = 2;
     /**
      * <code>optional string source = 2;</code>
      */
@@ -35,6 +36,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getSourceBytes();
 
+    // optional string scm_revision = 3;
     /**
      * <code>optional string scm_revision = 3;</code>
      *
@@ -61,6 +63,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getScmRevisionBytes();
 
+    // optional string scm_author = 4;
     /**
      * <code>optional string scm_author = 4;</code>
      */
@@ -75,6 +78,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getScmAuthorBytes();
 
+    // optional int64 scm_date = 5;
     /**
      * <code>optional int64 scm_date = 5;</code>
      */
@@ -84,6 +88,7 @@ public final class FileSourceDb {
      */
     long getScmDate();
 
+    // optional int32 ut_line_hits = 6;
     /**
      * <code>optional int32 ut_line_hits = 6;</code>
      *
@@ -101,6 +106,7 @@ public final class FileSourceDb {
      */
     int getUtLineHits();
 
+    // optional int32 ut_conditions = 7;
     /**
      * <code>optional int32 ut_conditions = 7;</code>
      */
@@ -110,6 +116,7 @@ public final class FileSourceDb {
      */
     int getUtConditions();
 
+    // optional int32 ut_covered_conditions = 8;
     /**
      * <code>optional int32 ut_covered_conditions = 8;</code>
      */
@@ -119,6 +126,7 @@ public final class FileSourceDb {
      */
     int getUtCoveredConditions();
 
+    // optional int32 it_line_hits = 9;
     /**
      * <code>optional int32 it_line_hits = 9;</code>
      *
@@ -136,6 +144,7 @@ public final class FileSourceDb {
      */
     int getItLineHits();
 
+    // optional int32 it_conditions = 10;
     /**
      * <code>optional int32 it_conditions = 10;</code>
      */
@@ -145,6 +154,7 @@ public final class FileSourceDb {
      */
     int getItConditions();
 
+    // optional int32 it_covered_conditions = 11;
     /**
      * <code>optional int32 it_covered_conditions = 11;</code>
      */
@@ -154,6 +164,7 @@ public final class FileSourceDb {
      */
     int getItCoveredConditions();
 
+    // optional int32 overall_line_hits = 12;
     /**
      * <code>optional int32 overall_line_hits = 12;</code>
      *
@@ -171,6 +182,7 @@ public final class FileSourceDb {
      */
     int getOverallLineHits();
 
+    // optional int32 overall_conditions = 13;
     /**
      * <code>optional int32 overall_conditions = 13;</code>
      */
@@ -180,6 +192,7 @@ public final class FileSourceDb {
      */
     int getOverallConditions();
 
+    // optional int32 overall_covered_conditions = 14;
     /**
      * <code>optional int32 overall_covered_conditions = 14;</code>
      */
@@ -189,6 +202,7 @@ public final class FileSourceDb {
      */
     int getOverallCoveredConditions();
 
+    // optional string highlighting = 15;
     /**
      * <code>optional string highlighting = 15;</code>
      */
@@ -203,6 +217,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getHighlightingBytes();
 
+    // optional string symbols = 16;
     /**
      * <code>optional string symbols = 16;</code>
      */
@@ -217,6 +232,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getSymbolsBytes();
 
+    // repeated int32 duplication = 17 [packed = true];
     /**
      * <code>repeated int32 duplication = 17 [packed = true];</code>
      */
@@ -234,9 +250,8 @@ public final class FileSourceDb {
    * Protobuf type {@code org.sonar.server.source.db.Line}
    */
   public static final class Line extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:org.sonar.server.source.db.Line)
-      LineOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements LineOrBuilder {
     // Use Line.newBuilder() to construct.
     private Line(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -288,21 +303,18 @@ public final class FileSourceDb {
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              source_ = bs;
+              source_ = input.readBytes();
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000004;
-              scmRevision_ = bs;
+              scmRevision_ = input.readBytes();
               break;
             }
             case 34: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000008;
-              scmAuthor_ = bs;
+              scmAuthor_ = input.readBytes();
               break;
             }
             case 40: {
@@ -356,15 +368,13 @@ public final class FileSourceDb {
               break;
             }
             case 122: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00004000;
-              highlighting_ = bs;
+              highlighting_ = input.readBytes();
               break;
             }
             case 130: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00008000;
-              symbols_ = bs;
+              symbols_ = input.readBytes();
               break;
             }
             case 136: {
@@ -431,6 +441,7 @@ public final class FileSourceDb {
     }
 
     private int bitField0_;
+    // optional int32 line = 1;
     public static final int LINE_FIELD_NUMBER = 1;
     private int line_;
     /**
@@ -446,6 +457,7 @@ public final class FileSourceDb {
       return line_;
     }
 
+    // optional string source = 2;
     public static final int SOURCE_FIELD_NUMBER = 2;
     private java.lang.Object source_;
     /**
@@ -488,6 +500,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional string scm_revision = 3;
     public static final int SCM_REVISION_FIELD_NUMBER = 3;
     private java.lang.Object scmRevision_;
     /**
@@ -542,6 +555,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional string scm_author = 4;
     public static final int SCM_AUTHOR_FIELD_NUMBER = 4;
     private java.lang.Object scmAuthor_;
     /**
@@ -584,6 +598,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional int64 scm_date = 5;
     public static final int SCM_DATE_FIELD_NUMBER = 5;
     private long scmDate_;
     /**
@@ -599,6 +614,7 @@ public final class FileSourceDb {
       return scmDate_;
     }
 
+    // optional int32 ut_line_hits = 6;
     public static final int UT_LINE_HITS_FIELD_NUMBER = 6;
     private int utLineHits_;
     /**
@@ -622,6 +638,7 @@ public final class FileSourceDb {
       return utLineHits_;
     }
 
+    // optional int32 ut_conditions = 7;
     public static final int UT_CONDITIONS_FIELD_NUMBER = 7;
     private int utConditions_;
     /**
@@ -637,6 +654,7 @@ public final class FileSourceDb {
       return utConditions_;
     }
 
+    // optional int32 ut_covered_conditions = 8;
     public static final int UT_COVERED_CONDITIONS_FIELD_NUMBER = 8;
     private int utCoveredConditions_;
     /**
@@ -652,6 +670,7 @@ public final class FileSourceDb {
       return utCoveredConditions_;
     }
 
+    // optional int32 it_line_hits = 9;
     public static final int IT_LINE_HITS_FIELD_NUMBER = 9;
     private int itLineHits_;
     /**
@@ -675,6 +694,7 @@ public final class FileSourceDb {
       return itLineHits_;
     }
 
+    // optional int32 it_conditions = 10;
     public static final int IT_CONDITIONS_FIELD_NUMBER = 10;
     private int itConditions_;
     /**
@@ -690,6 +710,7 @@ public final class FileSourceDb {
       return itConditions_;
     }
 
+    // optional int32 it_covered_conditions = 11;
     public static final int IT_COVERED_CONDITIONS_FIELD_NUMBER = 11;
     private int itCoveredConditions_;
     /**
@@ -705,6 +726,7 @@ public final class FileSourceDb {
       return itCoveredConditions_;
     }
 
+    // optional int32 overall_line_hits = 12;
     public static final int OVERALL_LINE_HITS_FIELD_NUMBER = 12;
     private int overallLineHits_;
     /**
@@ -728,6 +750,7 @@ public final class FileSourceDb {
       return overallLineHits_;
     }
 
+    // optional int32 overall_conditions = 13;
     public static final int OVERALL_CONDITIONS_FIELD_NUMBER = 13;
     private int overallConditions_;
     /**
@@ -743,6 +766,7 @@ public final class FileSourceDb {
       return overallConditions_;
     }
 
+    // optional int32 overall_covered_conditions = 14;
     public static final int OVERALL_COVERED_CONDITIONS_FIELD_NUMBER = 14;
     private int overallCoveredConditions_;
     /**
@@ -758,6 +782,7 @@ public final class FileSourceDb {
       return overallCoveredConditions_;
     }
 
+    // optional string highlighting = 15;
     public static final int HIGHLIGHTING_FIELD_NUMBER = 15;
     private java.lang.Object highlighting_;
     /**
@@ -800,6 +825,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional string symbols = 16;
     public static final int SYMBOLS_FIELD_NUMBER = 16;
     private java.lang.Object symbols_;
     /**
@@ -842,6 +868,7 @@ public final class FileSourceDb {
       }
     }
 
+    // repeated int32 duplication = 17 [packed = true];
     public static final int DUPLICATION_FIELD_NUMBER = 17;
     private java.util.List<java.lang.Integer> duplication_;
     /**
@@ -887,8 +914,7 @@ public final class FileSourceDb {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -1121,9 +1147,8 @@ public final class FileSourceDb {
      * Protobuf type {@code org.sonar.server.source.db.Line}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:org.sonar.server.source.db.Line)
-        org.sonar.server.source.db.FileSourceDb.LineOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.server.source.db.FileSourceDb.LineOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.server.source.db.FileSourceDb.internal_static_org_sonar_server_source_db_Line_descriptor;
@@ -1398,6 +1423,7 @@ public final class FileSourceDb {
       }
       private int bitField0_;
 
+      // optional int32 line = 1;
       private int line_ ;
       /**
        * <code>optional int32 line = 1;</code>
@@ -1430,6 +1456,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string source = 2;
       private java.lang.Object source_ = "";
       /**
        * <code>optional string source = 2;</code>
@@ -1443,12 +1470,9 @@ public final class FileSourceDb {
       public java.lang.String getSource() {
         java.lang.Object ref = source_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            source_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          source_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1506,6 +1530,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string scm_revision = 3;
       private java.lang.Object scmRevision_ = "";
       /**
        * <code>optional string scm_revision = 3;</code>
@@ -1527,12 +1552,9 @@ public final class FileSourceDb {
       public java.lang.String getScmRevision() {
         java.lang.Object ref = scmRevision_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            scmRevision_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          scmRevision_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1606,6 +1628,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string scm_author = 4;
       private java.lang.Object scmAuthor_ = "";
       /**
        * <code>optional string scm_author = 4;</code>
@@ -1619,12 +1642,9 @@ public final class FileSourceDb {
       public java.lang.String getScmAuthor() {
         java.lang.Object ref = scmAuthor_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            scmAuthor_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          scmAuthor_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -1682,6 +1702,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int64 scm_date = 5;
       private long scmDate_ ;
       /**
        * <code>optional int64 scm_date = 5;</code>
@@ -1714,6 +1735,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 ut_line_hits = 6;
       private int utLineHits_ ;
       /**
        * <code>optional int32 ut_line_hits = 6;</code>
@@ -1762,6 +1784,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 ut_conditions = 7;
       private int utConditions_ ;
       /**
        * <code>optional int32 ut_conditions = 7;</code>
@@ -1794,6 +1817,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 ut_covered_conditions = 8;
       private int utCoveredConditions_ ;
       /**
        * <code>optional int32 ut_covered_conditions = 8;</code>
@@ -1826,6 +1850,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 it_line_hits = 9;
       private int itLineHits_ ;
       /**
        * <code>optional int32 it_line_hits = 9;</code>
@@ -1874,6 +1899,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 it_conditions = 10;
       private int itConditions_ ;
       /**
        * <code>optional int32 it_conditions = 10;</code>
@@ -1906,6 +1932,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 it_covered_conditions = 11;
       private int itCoveredConditions_ ;
       /**
        * <code>optional int32 it_covered_conditions = 11;</code>
@@ -1938,6 +1965,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 overall_line_hits = 12;
       private int overallLineHits_ ;
       /**
        * <code>optional int32 overall_line_hits = 12;</code>
@@ -1986,6 +2014,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 overall_conditions = 13;
       private int overallConditions_ ;
       /**
        * <code>optional int32 overall_conditions = 13;</code>
@@ -2018,6 +2047,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int32 overall_covered_conditions = 14;
       private int overallCoveredConditions_ ;
       /**
        * <code>optional int32 overall_covered_conditions = 14;</code>
@@ -2050,6 +2080,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string highlighting = 15;
       private java.lang.Object highlighting_ = "";
       /**
        * <code>optional string highlighting = 15;</code>
@@ -2063,12 +2094,9 @@ public final class FileSourceDb {
       public java.lang.String getHighlighting() {
         java.lang.Object ref = highlighting_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            highlighting_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          highlighting_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2126,6 +2154,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string symbols = 16;
       private java.lang.Object symbols_ = "";
       /**
        * <code>optional string symbols = 16;</code>
@@ -2139,12 +2168,9 @@ public final class FileSourceDb {
       public java.lang.String getSymbols() {
         java.lang.Object ref = symbols_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            symbols_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          symbols_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -2202,6 +2228,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // repeated int32 duplication = 17 [packed = true];
       private java.util.List<java.lang.Integer> duplication_ = java.util.Collections.emptyList();
       private void ensureDuplicationIsMutable() {
         if (!((bitField0_ & 0x00010000) == 0x00010000)) {
@@ -2253,8 +2280,7 @@ public final class FileSourceDb {
       public Builder addAllDuplication(
           java.lang.Iterable<? extends java.lang.Integer> values) {
         ensureDuplicationIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, duplication_);
+        super.addAll(values, duplication_);
         onChanged();
         return this;
       }
@@ -2279,10 +2305,10 @@ public final class FileSourceDb {
     // @@protoc_insertion_point(class_scope:org.sonar.server.source.db.Line)
   }
 
-  public interface DataOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:org.sonar.server.source.db.Data)
-      com.google.protobuf.MessageOrBuilder {
+  public interface DataOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // repeated .org.sonar.server.source.db.Line lines = 1;
     /**
      * <code>repeated .org.sonar.server.source.db.Line lines = 1;</code>
      */
@@ -2311,9 +2337,8 @@ public final class FileSourceDb {
    * Protobuf type {@code org.sonar.server.source.db.Data}
    */
   public static final class Data extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:org.sonar.server.source.db.Data)
-      DataOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements DataOrBuilder {
     // Use Data.newBuilder() to construct.
     private Data(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -2409,6 +2434,7 @@ public final class FileSourceDb {
       return PARSER;
     }
 
+    // repeated .org.sonar.server.source.db.Line lines = 1;
     public static final int LINES_FIELD_NUMBER = 1;
     private java.util.List<org.sonar.server.source.db.FileSourceDb.Line> lines_;
     /**
@@ -2450,8 +2476,7 @@ public final class FileSourceDb {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -2558,9 +2583,8 @@ public final class FileSourceDb {
      * Protobuf type {@code org.sonar.server.source.db.Data}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:org.sonar.server.source.db.Data)
-        org.sonar.server.source.db.FileSourceDb.DataOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.server.source.db.FileSourceDb.DataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.server.source.db.FileSourceDb.internal_static_org_sonar_server_source_db_Data_descriptor;
@@ -2704,6 +2728,7 @@ public final class FileSourceDb {
       }
       private int bitField0_;
 
+      // repeated .org.sonar.server.source.db.Line lines = 1;
       private java.util.List<org.sonar.server.source.db.FileSourceDb.Line> lines_ =
         java.util.Collections.emptyList();
       private void ensureLinesIsMutable() {
@@ -2845,8 +2870,7 @@ public final class FileSourceDb {
           java.lang.Iterable<? extends org.sonar.server.source.db.FileSourceDb.Line> values) {
         if (linesBuilder_ == null) {
           ensureLinesIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, lines_);
+          super.addAll(values, lines_);
           onChanged();
         } else {
           linesBuilder_.addAllMessages(values);
@@ -2955,10 +2979,10 @@ public final class FileSourceDb {
     // @@protoc_insertion_point(class_scope:org.sonar.server.source.db.Data)
   }
 
-  public interface TestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:org.sonar.server.source.db.Test)
-      com.google.protobuf.MessageOrBuilder {
+  public interface TestOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
 
+    // optional string uuid = 1;
     /**
      * <code>optional string uuid = 1;</code>
      */
@@ -2973,6 +2997,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getUuidBytes();
 
+    // optional string name = 2;
     /**
      * <code>optional string name = 2;</code>
      */
@@ -2987,6 +3012,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getNameBytes();
 
+    // optional .TestStatus status = 3;
     /**
      * <code>optional .TestStatus status = 3;</code>
      */
@@ -2996,6 +3022,7 @@ public final class FileSourceDb {
      */
     org.sonar.batch.protocol.Constants.TestStatus getStatus();
 
+    // optional int64 execution_time_ms = 4;
     /**
      * <code>optional int64 execution_time_ms = 4;</code>
      */
@@ -3005,6 +3032,7 @@ public final class FileSourceDb {
      */
     long getExecutionTimeMs();
 
+    // optional string stacktrace = 5;
     /**
      * <code>optional string stacktrace = 5;</code>
      */
@@ -3019,6 +3047,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getStacktraceBytes();
 
+    // optional string msg = 6;
     /**
      * <code>optional string msg = 6;</code>
      */
@@ -3033,6 +3062,7 @@ public final class FileSourceDb {
     com.google.protobuf.ByteString
         getMsgBytes();
 
+    // repeated .org.sonar.server.source.db.Test.CoveredFile covered_file = 7;
     /**
      * <code>repeated .org.sonar.server.source.db.Test.CoveredFile covered_file = 7;</code>
      */
@@ -3061,9 +3091,8 @@ public final class FileSourceDb {
    * Protobuf type {@code org.sonar.server.source.db.Test}
    */
   public static final class Test extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:org.sonar.server.source.db.Test)
-      TestOrBuilder {
+      com.google.protobuf.GeneratedMessage
+      implements TestOrBuilder {
     // Use Test.newBuilder() to construct.
     private Test(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
@@ -3110,15 +3139,13 @@ public final class FileSourceDb {
               break;
             }
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000001;
-              uuid_ = bs;
+              uuid_ = input.readBytes();
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000002;
-              name_ = bs;
+              name_ = input.readBytes();
               break;
             }
             case 24: {
@@ -3138,15 +3165,13 @@ public final class FileSourceDb {
               break;
             }
             case 42: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000010;
-              stacktrace_ = bs;
+              stacktrace_ = input.readBytes();
               break;
             }
             case 50: {
-              com.google.protobuf.ByteString bs = input.readBytes();
               bitField0_ |= 0x00000020;
-              msg_ = bs;
+              msg_ = input.readBytes();
               break;
             }
             case 58: {
@@ -3199,10 +3224,10 @@ public final class FileSourceDb {
       return PARSER;
     }
 
-    public interface CoveredFileOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:org.sonar.server.source.db.Test.CoveredFile)
-        com.google.protobuf.MessageOrBuilder {
+    public interface CoveredFileOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
 
+      // optional string file_uuid = 1;
       /**
        * <code>optional string file_uuid = 1;</code>
        */
@@ -3217,6 +3242,7 @@ public final class FileSourceDb {
       com.google.protobuf.ByteString
           getFileUuidBytes();
 
+      // repeated int32 covered_line = 2 [packed = true];
       /**
        * <code>repeated int32 covered_line = 2 [packed = true];</code>
        */
@@ -3234,9 +3260,8 @@ public final class FileSourceDb {
      * Protobuf type {@code org.sonar.server.source.db.Test.CoveredFile}
      */
     public static final class CoveredFile extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:org.sonar.server.source.db.Test.CoveredFile)
-        CoveredFileOrBuilder {
+        com.google.protobuf.GeneratedMessage
+        implements CoveredFileOrBuilder {
       // Use CoveredFile.newBuilder() to construct.
       private CoveredFile(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
         super(builder);
@@ -3283,9 +3308,8 @@ public final class FileSourceDb {
                 break;
               }
               case 10: {
-                com.google.protobuf.ByteString bs = input.readBytes();
                 bitField0_ |= 0x00000001;
-                fileUuid_ = bs;
+                fileUuid_ = input.readBytes();
                 break;
               }
               case 16: {
@@ -3352,6 +3376,7 @@ public final class FileSourceDb {
       }
 
       private int bitField0_;
+      // optional string file_uuid = 1;
       public static final int FILE_UUID_FIELD_NUMBER = 1;
       private java.lang.Object fileUuid_;
       /**
@@ -3394,6 +3419,7 @@ public final class FileSourceDb {
         }
       }
 
+      // repeated int32 covered_line = 2 [packed = true];
       public static final int COVERED_LINE_FIELD_NUMBER = 2;
       private java.util.List<java.lang.Integer> coveredLine_;
       /**
@@ -3424,8 +3450,7 @@ public final class FileSourceDb {
       private byte memoizedIsInitialized = -1;
       public final boolean isInitialized() {
         byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
+        if (isInitialized != -1) return isInitialized == 1;
 
         memoizedIsInitialized = 1;
         return true;
@@ -3553,9 +3578,8 @@ public final class FileSourceDb {
        * Protobuf type {@code org.sonar.server.source.db.Test.CoveredFile}
        */
       public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:org.sonar.server.source.db.Test.CoveredFile)
-          org.sonar.server.source.db.FileSourceDb.Test.CoveredFileOrBuilder {
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements org.sonar.server.source.db.FileSourceDb.Test.CoveredFileOrBuilder {
         public static final com.google.protobuf.Descriptors.Descriptor
             getDescriptor() {
           return org.sonar.server.source.db.FileSourceDb.internal_static_org_sonar_server_source_db_Test_CoveredFile_descriptor;
@@ -3687,6 +3711,7 @@ public final class FileSourceDb {
         }
         private int bitField0_;
 
+        // optional string file_uuid = 1;
         private java.lang.Object fileUuid_ = "";
         /**
          * <code>optional string file_uuid = 1;</code>
@@ -3700,12 +3725,9 @@ public final class FileSourceDb {
         public java.lang.String getFileUuid() {
           java.lang.Object ref = fileUuid_;
           if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              fileUuid_ = s;
-            }
+            java.lang.String s = ((com.google.protobuf.ByteString) ref)
+                .toStringUtf8();
+            fileUuid_ = s;
             return s;
           } else {
             return (java.lang.String) ref;
@@ -3763,6 +3785,7 @@ public final class FileSourceDb {
           return this;
         }
 
+        // repeated int32 covered_line = 2 [packed = true];
         private java.util.List<java.lang.Integer> coveredLine_ = java.util.Collections.emptyList();
         private void ensureCoveredLineIsMutable() {
           if (!((bitField0_ & 0x00000002) == 0x00000002)) {
@@ -3814,8 +3837,7 @@ public final class FileSourceDb {
         public Builder addAllCoveredLine(
             java.lang.Iterable<? extends java.lang.Integer> values) {
           ensureCoveredLineIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, coveredLine_);
+          super.addAll(values, coveredLine_);
           onChanged();
           return this;
         }
@@ -3841,6 +3863,7 @@ public final class FileSourceDb {
     }
 
     private int bitField0_;
+    // optional string uuid = 1;
     public static final int UUID_FIELD_NUMBER = 1;
     private java.lang.Object uuid_;
     /**
@@ -3883,6 +3906,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional string name = 2;
     public static final int NAME_FIELD_NUMBER = 2;
     private java.lang.Object name_;
     /**
@@ -3925,6 +3949,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional .TestStatus status = 3;
     public static final int STATUS_FIELD_NUMBER = 3;
     private org.sonar.batch.protocol.Constants.TestStatus status_;
     /**
@@ -3940,6 +3965,7 @@ public final class FileSourceDb {
       return status_;
     }
 
+    // optional int64 execution_time_ms = 4;
     public static final int EXECUTION_TIME_MS_FIELD_NUMBER = 4;
     private long executionTimeMs_;
     /**
@@ -3955,6 +3981,7 @@ public final class FileSourceDb {
       return executionTimeMs_;
     }
 
+    // optional string stacktrace = 5;
     public static final int STACKTRACE_FIELD_NUMBER = 5;
     private java.lang.Object stacktrace_;
     /**
@@ -3997,6 +4024,7 @@ public final class FileSourceDb {
       }
     }
 
+    // optional string msg = 6;
     public static final int MSG_FIELD_NUMBER = 6;
     private java.lang.Object msg_;
     /**
@@ -4039,6 +4067,7 @@ public final class FileSourceDb {
       }
     }
 
+    // repeated .org.sonar.server.source.db.Test.CoveredFile covered_file = 7;
     public static final int COVERED_FILE_FIELD_NUMBER = 7;
     private java.util.List<org.sonar.server.source.db.FileSourceDb.Test.CoveredFile> coveredFile_;
     /**
@@ -4086,8 +4115,7 @@ public final class FileSourceDb {
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
+      if (isInitialized != -1) return isInitialized == 1;
 
       memoizedIsInitialized = 1;
       return true;
@@ -4236,9 +4264,8 @@ public final class FileSourceDb {
      * Protobuf type {@code org.sonar.server.source.db.Test}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:org.sonar.server.source.db.Test)
-        org.sonar.server.source.db.FileSourceDb.TestOrBuilder {
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.sonar.server.source.db.FileSourceDb.TestOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
         return org.sonar.server.source.db.FileSourceDb.internal_static_org_sonar_server_source_db_Test_descriptor;
@@ -4446,6 +4473,7 @@ public final class FileSourceDb {
       }
       private int bitField0_;
 
+      // optional string uuid = 1;
       private java.lang.Object uuid_ = "";
       /**
        * <code>optional string uuid = 1;</code>
@@ -4459,12 +4487,9 @@ public final class FileSourceDb {
       public java.lang.String getUuid() {
         java.lang.Object ref = uuid_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            uuid_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          uuid_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4522,6 +4547,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string name = 2;
       private java.lang.Object name_ = "";
       /**
        * <code>optional string name = 2;</code>
@@ -4535,12 +4561,9 @@ public final class FileSourceDb {
       public java.lang.String getName() {
         java.lang.Object ref = name_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            name_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          name_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4598,6 +4621,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional .TestStatus status = 3;
       private org.sonar.batch.protocol.Constants.TestStatus status_ = org.sonar.batch.protocol.Constants.TestStatus.OK;
       /**
        * <code>optional .TestStatus status = 3;</code>
@@ -4633,6 +4657,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional int64 execution_time_ms = 4;
       private long executionTimeMs_ ;
       /**
        * <code>optional int64 execution_time_ms = 4;</code>
@@ -4665,6 +4690,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string stacktrace = 5;
       private java.lang.Object stacktrace_ = "";
       /**
        * <code>optional string stacktrace = 5;</code>
@@ -4678,12 +4704,9 @@ public final class FileSourceDb {
       public java.lang.String getStacktrace() {
         java.lang.Object ref = stacktrace_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            stacktrace_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          stacktrace_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4741,6 +4764,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // optional string msg = 6;
       private java.lang.Object msg_ = "";
       /**
        * <code>optional string msg = 6;</code>
@@ -4754,12 +4778,9 @@ public final class FileSourceDb {
       public java.lang.String getMsg() {
         java.lang.Object ref = msg_;
         if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            msg_ = s;
-          }
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          msg_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
@@ -4817,6 +4838,7 @@ public final class FileSourceDb {
         return this;
       }
 
+      // repeated .org.sonar.server.source.db.Test.CoveredFile covered_file = 7;
       private java.util.List<org.sonar.server.source.db.FileSourceDb.Test.CoveredFile> coveredFile_ =
         java.util.Collections.emptyList();
       private void ensureCoveredFileIsMutable() {
@@ -4958,8 +4980,7 @@ public final class FileSourceDb {
           java.lang.Iterable<? extends org.sonar.server.source.db.FileSourceDb.Test.CoveredFile> values) {
         if (coveredFileBuilder_ == null) {
           ensureCoveredFileIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, coveredFile_);
+          super.addAll(values, coveredFile_);
           onChanged();
         } else {
           coveredFileBuilder_.addAllMessages(values);
@@ -5068,22 +5089,22 @@ public final class FileSourceDb {
     // @@protoc_insertion_point(class_scope:org.sonar.server.source.db.Test)
   }
 
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_org_sonar_server_source_db_Line_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_org_sonar_server_source_db_Line_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_org_sonar_server_source_db_Data_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_org_sonar_server_source_db_Data_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_org_sonar_server_source_db_Test_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_org_sonar_server_source_db_Test_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_org_sonar_server_source_db_Test_CoveredFile_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
@@ -5119,43 +5140,42 @@ public final class FileSourceDb {
       "\n\014covered_line\030\002 \003(\005B\002\020\001B\002H\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public com.google.protobuf.ExtensionRegistry assignDescriptors(
-              com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
+      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+        public com.google.protobuf.ExtensionRegistry assignDescriptors(
+            com.google.protobuf.Descriptors.FileDescriptor root) {
+          descriptor = root;
+          internal_static_org_sonar_server_source_db_Line_descriptor =
+            getDescriptor().getMessageTypes().get(0);
+          internal_static_org_sonar_server_source_db_Line_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_org_sonar_server_source_db_Line_descriptor,
+              new java.lang.String[] { "Line", "Source", "ScmRevision", "ScmAuthor", "ScmDate", "UtLineHits", "UtConditions", "UtCoveredConditions", "ItLineHits", "ItConditions", "ItCoveredConditions", "OverallLineHits", "OverallConditions", "OverallCoveredConditions", "Highlighting", "Symbols", "Duplication", });
+          internal_static_org_sonar_server_source_db_Data_descriptor =
+            getDescriptor().getMessageTypes().get(1);
+          internal_static_org_sonar_server_source_db_Data_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_org_sonar_server_source_db_Data_descriptor,
+              new java.lang.String[] { "Lines", });
+          internal_static_org_sonar_server_source_db_Test_descriptor =
+            getDescriptor().getMessageTypes().get(2);
+          internal_static_org_sonar_server_source_db_Test_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_org_sonar_server_source_db_Test_descriptor,
+              new java.lang.String[] { "Uuid", "Name", "Status", "ExecutionTimeMs", "Stacktrace", "Msg", "CoveredFile", });
+          internal_static_org_sonar_server_source_db_Test_CoveredFile_descriptor =
+            internal_static_org_sonar_server_source_db_Test_descriptor.getNestedTypes().get(0);
+          internal_static_org_sonar_server_source_db_Test_CoveredFile_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_org_sonar_server_source_db_Test_CoveredFile_descriptor,
+              new java.lang.String[] { "FileUuid", "CoveredLine", });
+          return null;
+        }
+      };
     com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
         new com.google.protobuf.Descriptors.FileDescriptor[] {
           org.sonar.batch.protocol.Constants.getDescriptor(),
         }, assigner);
-    internal_static_org_sonar_server_source_db_Line_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_org_sonar_server_source_db_Line_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_org_sonar_server_source_db_Line_descriptor,
-        new java.lang.String[] { "Line", "Source", "ScmRevision", "ScmAuthor", "ScmDate", "UtLineHits", "UtConditions", "UtCoveredConditions", "ItLineHits", "ItConditions", "ItCoveredConditions", "OverallLineHits", "OverallConditions", "OverallCoveredConditions", "Highlighting", "Symbols", "Duplication", });
-    internal_static_org_sonar_server_source_db_Data_descriptor =
-      getDescriptor().getMessageTypes().get(1);
-    internal_static_org_sonar_server_source_db_Data_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_org_sonar_server_source_db_Data_descriptor,
-        new java.lang.String[] { "Lines", });
-    internal_static_org_sonar_server_source_db_Test_descriptor =
-      getDescriptor().getMessageTypes().get(2);
-    internal_static_org_sonar_server_source_db_Test_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_org_sonar_server_source_db_Test_descriptor,
-        new java.lang.String[] { "Uuid", "Name", "Status", "ExecutionTimeMs", "Stacktrace", "Msg", "CoveredFile", });
-    internal_static_org_sonar_server_source_db_Test_CoveredFile_descriptor =
-      internal_static_org_sonar_server_source_db_Test_descriptor.getNestedTypes().get(0);
-    internal_static_org_sonar_server_source_db_Test_CoveredFile_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_org_sonar_server_source_db_Test_CoveredFile_descriptor,
-        new java.lang.String[] { "FileUuid", "CoveredLine", });
-    org.sonar.batch.protocol.Constants.getDescriptor();
   }
 
   // @@protoc_insertion_point(outer_class_scope)
index de6317e1290d83c169bcb1bbf98b34fa7f47804e..cb9a86f6ec4d3c74085630ba129324d6d2c9a41c 100644 (file)
@@ -35,8 +35,6 @@ enum ComponentType {
   MODULE = 1;
   DIRECTORY = 2;
   FILE = 3;
-  VIEW = 4;
-  SUBVIEW = 5;
 }
 
 enum MeasureValueType {
index 36bec004e4a9232fd8d907c45fa4214b428e6eb4..fa97f80d2ebacfbf728216a030bbb642b0ef6924 100644 (file)
  */
 package org.sonar.batch.components;
 
-import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.BatchComponent;
 import org.sonar.api.batch.RequiresDB;
 import org.sonar.api.database.DatabaseSession;
 import org.sonar.api.database.model.Snapshot;
-import org.sonar.api.resources.Qualifiers;
 import org.sonar.batch.deprecated.components.PeriodsDefinition;
 
 import javax.annotation.CheckForNull;
@@ -63,7 +61,7 @@ public class TimeMachineConfiguration implements BatchComponent {
       modulePastSnapshots.add(pastSnapshot);
       // When no snapshot is found, date of the period is null
       periods.add(new Period(pastSnapshot.getIndex(), snapshot != null ? longToDate(snapshot.getCreatedAtMs()) : null));
-      log(pastSnapshot);
+      LOG.info(pastSnapshot.toString());
     }
   }
 
@@ -82,16 +80,6 @@ public class TimeMachineConfiguration implements BatchComponent {
     return snapshots.isEmpty() ? null : snapshots.get(0);
   }
 
-  private void log(PastSnapshot pastSnapshot) {
-    String qualifier = pastSnapshot.getQualifier();
-    // hack to avoid too many logs when the views plugin is installed
-    if (StringUtils.equals(Qualifiers.VIEW, qualifier) || StringUtils.equals(Qualifiers.SUBVIEW, qualifier)) {
-      LOG.debug(pastSnapshot.toString());
-    } else {
-      LOG.info(pastSnapshot.toString());
-    }
-  }
-
   public List<Period> periods() {
     return periods;
   }
index 263ba32f0ab47b5a0e508ceb7e34d601a8f31e3d..32ea95fa3d3816e6c3ea17eab352c7d5eb00853d 100644 (file)
@@ -37,7 +37,6 @@ import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure;
 import org.sonar.api.config.Settings;
 import org.sonar.api.measures.CoreMetrics;
 import org.sonar.api.resources.Project;
-import org.sonar.api.utils.KeyValueFormat;
 import org.sonar.api.utils.SonarException;
 import org.sonar.batch.cpd.index.IndexFactory;
 import org.sonar.batch.cpd.index.SonarDuplicationsIndex;
@@ -60,17 +59,10 @@ import java.io.FileNotFoundException;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
+import java.util.concurrent.*;
 
 public class JavaCpdEngine extends CpdEngine {
 
@@ -201,25 +193,12 @@ public class JavaCpdEngine extends CpdEngine {
     if (duplications == null || Iterables.isEmpty(duplications)) {
       return;
     }
-    Set<Integer> duplicatedLines = new HashSet<Integer>();
-    int duplicatedBlocks = computeBlockAndLineCount(duplications, duplicatedLines);
-    Map<Integer, Integer> duplicationByLine = new HashMap<Integer, Integer>();
-    for (int i = 1; i <= inputFile.lines(); i++) {
-      duplicationByLine.put(i, duplicatedLines.contains(i) ? 1 : 0);
-    }
-    saveMeasures(context, inputFile, duplicatedLines, duplicatedBlocks, duplicationByLine);
+    computeBlockAndLineCount(context, inputFile, duplications);
 
     saveDuplications(context, inputFile, duplications);
   }
 
-  private static void saveMeasures(org.sonar.api.batch.sensor.SensorContext context, InputFile inputFile, Set<Integer> duplicatedLines, int duplicatedBlocks,
-    Map<Integer, Integer> duplicationByLine) {
-    ((DefaultMeasure<String>) context.<String>newMeasure()
-      .forMetric(CoreMetrics.DUPLICATION_LINES_DATA)
-      .onFile(inputFile)
-      .withValue(KeyValueFormat.format(duplicationByLine)))
-      .setFromCore()
-      .save();
+  private static void saveMeasures(org.sonar.api.batch.sensor.SensorContext context, InputFile inputFile, int duplicatedLines, int duplicatedBlocks) {
     // Save
     ((DefaultMeasure<Integer>) context.<Integer>newMeasure()
       .forMetric(CoreMetrics.DUPLICATED_FILES)
@@ -230,7 +209,7 @@ public class JavaCpdEngine extends CpdEngine {
     ((DefaultMeasure<Integer>) context.<Integer>newMeasure()
       .forMetric(CoreMetrics.DUPLICATED_LINES)
       .onFile(inputFile)
-      .withValue(duplicatedLines.size()))
+      .withValue(duplicatedLines))
       .setFromCore()
       .save();
     ((DefaultMeasure<Integer>) context.<Integer>newMeasure()
@@ -268,8 +247,9 @@ public class JavaCpdEngine extends CpdEngine {
     }
   }
 
-  private static int computeBlockAndLineCount(Iterable<CloneGroup> duplications, Set<Integer> duplicatedLines) {
+  private static void computeBlockAndLineCount(org.sonar.api.batch.sensor.SensorContext context, InputFile inputFile, Iterable<CloneGroup> duplications) {
     int duplicatedBlocks = 0;
+    Set<Integer> duplicatedLines = new HashSet<>();
     for (CloneGroup clone : duplications) {
       ClonePart origin = clone.getOriginPart();
       for (ClonePart part : clone.getCloneParts()) {
@@ -281,7 +261,7 @@ public class JavaCpdEngine extends CpdEngine {
         }
       }
     }
-    return duplicatedBlocks;
+    saveMeasures(context, inputFile, duplicatedLines.size(), duplicatedBlocks);
   }
 
 }
index 33f6246ea8cd1532192a3f6cfac73ec06e813d44..3d8cdc1f72f4caa3187cd0b13cf212f4774c617d 100644 (file)
@@ -72,7 +72,6 @@ public class DefaultIndex extends SonarIndex {
     CoreMetrics.FILE_TANGLES,
     // Computed by CpdSensor
     CoreMetrics.DUPLICATIONS_DATA,
-    CoreMetrics.DUPLICATION_LINES_DATA,
     CoreMetrics.DUPLICATED_FILES,
     CoreMetrics.DUPLICATED_LINES,
     CoreMetrics.DUPLICATED_BLOCKS,
@@ -175,6 +174,7 @@ public class DefaultIndex extends SonarIndex {
         entry.getValue().clear();
         it.remove();
       }
+
     }
 
     // Keep only inter module dependencies
@@ -226,7 +226,7 @@ public class DefaultIndex extends SonarIndex {
       if (metric == null) {
         throw new SonarException("Unknown metric: " + measure.getMetricKey());
       }
-      if (!isViewResource(resource) && !measure.isFromCore() && INTERNAL_METRICS.contains(metric)) {
+      if (!measure.isFromCore() && INTERNAL_METRICS.contains(metric)) {
         LOG.debug("Metric " + metric.key() + " is an internal metric computed by SonarQube. Provided value is ignored.");
         return measure;
       }
@@ -238,14 +238,6 @@ public class DefaultIndex extends SonarIndex {
     return measure;
   }
 
-  /**
-   * Views plugin creates copy of technical projects and should be allowed to copy all measures even internal ones
-   */
-  private boolean isViewResource(Resource resource) {
-    boolean isTechnicalProject = Scopes.FILE.equals(resource.getScope()) && Qualifiers.PROJECT.equals(resource.getQualifier());
-    return isTechnicalProject || ResourceUtils.isView(resource) || ResourceUtils.isSubview(resource);
-  }
-
   //
   //
   //
index 43cb60c251a631c77a73e9dd48f9e9d72fc66d59..13aa50590ca0cbd87d20f7406796287b176f4e7a 100644 (file)
  */
 package org.sonar.batch.mediumtest;
 
+import com.google.common.collect.LinkedHashMultimap;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.batch.AnalysisMode;
-import org.sonar.api.batch.fs.InputDir;
-import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.fs.TextPointer;
-import org.sonar.api.batch.fs.TextRange;
+import org.sonar.api.batch.fs.*;
 import org.sonar.api.batch.fs.internal.DefaultInputFile;
 import org.sonar.api.batch.sensor.dependency.internal.DefaultDependency;
 import org.sonar.api.batch.sensor.duplication.Duplication;
@@ -41,6 +39,7 @@ import org.sonar.api.measures.Measure;
 import org.sonar.batch.dependency.DependencyCache;
 import org.sonar.batch.duplication.DuplicationCache;
 import org.sonar.batch.index.Cache.Entry;
+import org.sonar.batch.index.ResourceCache;
 import org.sonar.batch.issue.IssueCache;
 import org.sonar.batch.protocol.output.*;
 import org.sonar.batch.protocol.output.BatchReport.Component;
@@ -66,7 +65,7 @@ public class TaskResult implements org.sonar.batch.mediumtest.ScanTaskObserver {
   private static final Logger LOG = LoggerFactory.getLogger(TaskResult.class);
 
   private List<Issue> issues = new ArrayList<>();
-  private List<org.sonar.api.batch.sensor.measure.Measure> measures = new ArrayList<>();
+  private Multimap<String, org.sonar.api.batch.sensor.measure.Measure> measures = LinkedHashMultimap.create();
   private Map<String, List<Duplication>> duplications = new HashMap<>();
   private Map<String, InputFile> inputFiles = new HashMap<>();
   private Map<String, Component> reportComponents = new HashMap<>();
@@ -115,19 +114,24 @@ public class TaskResult implements org.sonar.batch.mediumtest.ScanTaskObserver {
   }
 
   private void storeMeasures(ProjectScanContainer container) {
-    InputPathCache inputFileCache = container.getComponentByType(InputPathCache.class);
+    ResourceCache resourceCache = container.getComponentByType(ResourceCache.class);
     for (Entry<Measure> measureEntry : container.getComponentByType(MeasureCache.class).entries()) {
       String componentKey = measureEntry.key()[0].toString();
-      InputFile file = inputFileCache.getFile(StringUtils.substringBeforeLast(componentKey, ":"), StringUtils.substringAfterLast(componentKey, ":"));
+      InputPath path = resourceCache.get(componentKey).inputPath();
       Measure oldMeasure = measureEntry.value();
       DefaultMeasure<Serializable> newMeasure = new DefaultMeasure<>().forMetric(oldMeasure.getMetric());
-      if (file != null) {
-        newMeasure.onFile(file);
+      if (path != null) {
+        if (path instanceof InputFile) {
+          newMeasure.onFile((InputFile) path);
+        } else {
+          // Ignore measure on directories since this will disappear in target architecture
+          continue;
+        }
       } else {
         newMeasure.onProject();
       }
       newMeasure.withValue(oldMeasure.value());
-      measures.add(newMeasure);
+      measures.put(componentKey, newMeasure);
     }
   }
 
@@ -164,8 +168,12 @@ public class TaskResult implements org.sonar.batch.mediumtest.ScanTaskObserver {
     return issues;
   }
 
-  public List<org.sonar.api.batch.sensor.measure.Measure> measures() {
-    return measures;
+  public Collection<org.sonar.api.batch.sensor.measure.Measure> allMeasures() {
+    return measures.values();
+  }
+
+  public Collection<org.sonar.api.batch.sensor.measure.Measure> measures(String componentKey) {
+    return measures.get(componentKey);
   }
 
   public Collection<InputFile> inputFiles() {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/DatabaseLessPhaseExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/DatabaseLessPhaseExecutor.java
deleted file mode 100644 (file)
index 9a0d765..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.batch.phases;
-
-import org.sonar.api.batch.SensorContext;
-import org.sonar.api.resources.Project;
-import org.sonar.batch.events.BatchStepEvent;
-import org.sonar.batch.events.EventBus;
-import org.sonar.batch.index.DefaultIndex;
-import org.sonar.batch.issue.ignore.scanner.IssueExclusionsLoader;
-import org.sonar.batch.issue.tracking.LocalIssueTracking;
-import org.sonar.batch.report.ReportPublisher;
-import org.sonar.batch.rule.QProfileVerifier;
-import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
-import org.sonar.batch.scan.filesystem.FileSystemLogger;
-import org.sonar.batch.scan.report.IssuesReports;
-
-public final class DatabaseLessPhaseExecutor implements PhaseExecutor {
-
-  private final EventBus eventBus;
-  private final Phases phases;
-  private final InitializersExecutor initializersExecutor;
-  private final PostJobsExecutor postJobsExecutor;
-  private final SensorsExecutor sensorsExecutor;
-  private final SensorContext sensorContext;
-  private final DefaultIndex index;
-  private final ProjectInitializer pi;
-  private final FileSystemLogger fsLogger;
-  private final DefaultModuleFileSystem fs;
-  private final QProfileVerifier profileVerifier;
-  private final IssueExclusionsLoader issueExclusionsLoader;
-  private final IssuesReports issuesReport;
-  private final LocalIssueTracking localIssueTracking;
-  private final ReportPublisher reportPublisher;
-
-  public DatabaseLessPhaseExecutor(Phases phases, InitializersExecutor initializersExecutor, PostJobsExecutor postJobsExecutor, SensorsExecutor sensorsExecutor,
-    SensorContext sensorContext, DefaultIndex index,
-    EventBus eventBus, ProjectInitializer pi, FileSystemLogger fsLogger, IssuesReports jsonReport, DefaultModuleFileSystem fs, QProfileVerifier profileVerifier,
-    IssueExclusionsLoader issueExclusionsLoader, LocalIssueTracking localIssueTracking, ReportPublisher reportPublisher) {
-    this.phases = phases;
-    this.initializersExecutor = initializersExecutor;
-    this.postJobsExecutor = postJobsExecutor;
-    this.sensorsExecutor = sensorsExecutor;
-    this.sensorContext = sensorContext;
-    this.index = index;
-    this.eventBus = eventBus;
-    this.pi = pi;
-    this.fsLogger = fsLogger;
-    this.issuesReport = jsonReport;
-    this.fs = fs;
-    this.profileVerifier = profileVerifier;
-    this.issueExclusionsLoader = issueExclusionsLoader;
-    this.localIssueTracking = localIssueTracking;
-    this.reportPublisher = reportPublisher;
-  }
-
-  /**
-   * Executed on each module
-   */
-  @Override
-  public void execute(Project module) {
-    pi.execute(module);
-
-    eventBus.fireEvent(new ProjectAnalysisEvent(module, true));
-
-    executeInitializersPhase();
-
-    if (phases.isEnabled(Phases.Phase.SENSOR)) {
-      // Index and lock the filesystem
-      indexFs();
-
-      // Log detected languages and their profiles after FS is indexed and languages detected
-      profileVerifier.execute();
-
-      // Initialize issue exclusions
-      initIssueExclusions();
-
-      sensorsExecutor.execute(sensorContext);
-    }
-
-    if (module.isRoot()) {
-      localIssueTracking();
-      issuesReport();
-      publishReportJob();
-      if (phases.isEnabled(Phases.Phase.POSTJOB)) {
-        postJobsExecutor.execute(sensorContext);
-      }
-    }
-
-    cleanMemory();
-    eventBus.fireEvent(new ProjectAnalysisEvent(module, false));
-  }
-
-  private void publishReportJob() {
-    String stepName = "Publish report";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    this.reportPublisher.execute();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void localIssueTracking() {
-    String stepName = "Local Issue Tracking";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    localIssueTracking.execute();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void issuesReport() {
-    String stepName = "Issues Reports";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    issuesReport.execute();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void initIssueExclusions() {
-    String stepName = "Init issue exclusions";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    issueExclusionsLoader.execute();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void indexFs() {
-    String stepName = "Index filesystem and store sources";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    fs.index();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void executeInitializersPhase() {
-    if (phases.isEnabled(Phases.Phase.INIT)) {
-      initializersExecutor.execute();
-      fsLogger.log();
-    }
-  }
-
-  private void cleanMemory() {
-    String cleanMemory = "Clean memory";
-    eventBus.fireEvent(new BatchStepEvent(cleanMemory, true));
-    index.clear();
-    eventBus.fireEvent(new BatchStepEvent(cleanMemory, false));
-  }
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/DatabaseModePhaseExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/DatabaseModePhaseExecutor.java
deleted file mode 100644 (file)
index 7d01ad4..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.batch.phases;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.sonar.api.batch.SensorContext;
-import org.sonar.api.database.DatabaseSession;
-import org.sonar.api.resources.Project;
-import org.sonar.batch.bootstrap.DefaultAnalysisMode;
-import org.sonar.batch.events.BatchStepEvent;
-import org.sonar.batch.events.EventBus;
-import org.sonar.batch.index.DefaultIndex;
-import org.sonar.batch.index.ResourcePersister;
-import org.sonar.batch.index.ScanPersister;
-import org.sonar.batch.issue.ignore.scanner.IssueExclusionsLoader;
-import org.sonar.batch.report.ReportPublisher;
-import org.sonar.batch.rule.QProfileVerifier;
-import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
-import org.sonar.batch.scan.filesystem.FileSystemLogger;
-import org.sonar.batch.scan.report.IssuesReports;
-
-import java.util.Arrays;
-
-public final class DatabaseModePhaseExecutor implements PhaseExecutor {
-
-  private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseModePhaseExecutor.class);
-
-  private final EventBus eventBus;
-  private final Phases phases;
-  private final DecoratorsExecutor decoratorsExecutor;
-  private final PostJobsExecutor postJobsExecutor;
-  private final InitializersExecutor initializersExecutor;
-  private final SensorsExecutor sensorsExecutor;
-  private final ReportPublisher reportPublisher;
-  private final SensorContext sensorContext;
-  private final DefaultIndex index;
-  private final ProjectInitializer pi;
-  private final ScanPersister[] persisters;
-  private final FileSystemLogger fsLogger;
-  private final IssuesReports jsonReport;
-  private final DefaultModuleFileSystem fs;
-  private final QProfileVerifier profileVerifier;
-  private final IssueExclusionsLoader issueExclusionsLoader;
-  private final DefaultAnalysisMode analysisMode;
-  private final DatabaseSession session;
-  private final ResourcePersister resourcePersister;
-
-  public DatabaseModePhaseExecutor(Phases phases, DecoratorsExecutor decoratorsExecutor,
-    InitializersExecutor initializersExecutor, PostJobsExecutor postJobsExecutor, SensorsExecutor sensorsExecutor,
-    SensorContext sensorContext, DefaultIndex index,
-    EventBus eventBus, ReportPublisher reportPublisher, ProjectInitializer pi,
-    ScanPersister[] persisters, FileSystemLogger fsLogger, IssuesReports jsonReport, DefaultModuleFileSystem fs, QProfileVerifier profileVerifier,
-    IssueExclusionsLoader issueExclusionsLoader, DefaultAnalysisMode analysisMode, DatabaseSession session, ResourcePersister resourcePersister) {
-    this.phases = phases;
-    this.decoratorsExecutor = decoratorsExecutor;
-    this.postJobsExecutor = postJobsExecutor;
-    this.initializersExecutor = initializersExecutor;
-    this.sensorsExecutor = sensorsExecutor;
-    this.sensorContext = sensorContext;
-    this.index = index;
-    this.eventBus = eventBus;
-    this.reportPublisher = reportPublisher;
-    this.pi = pi;
-    this.persisters = persisters;
-    this.fsLogger = fsLogger;
-    this.jsonReport = jsonReport;
-    this.fs = fs;
-    this.profileVerifier = profileVerifier;
-    this.issueExclusionsLoader = issueExclusionsLoader;
-    this.analysisMode = analysisMode;
-    this.session = session;
-    this.resourcePersister = resourcePersister;
-  }
-
-  /**
-   * Executed on each module
-   */
-  @Override
-  public void execute(Project module) {
-    pi.execute(module);
-
-    eventBus.fireEvent(new ProjectAnalysisEvent(module, true));
-
-    executeInitializersPhase();
-
-    if (phases.isEnabled(Phases.Phase.SENSOR)) {
-      // Index and lock the filesystem
-      indexFs();
-
-      // Log detected languages and their profiles after FS is indexed and languages detected
-      profileVerifier.execute();
-
-      // Initialize issue exclusions
-      initIssueExclusions();
-
-      // SONAR-2965 In case the sensor takes too much time we close the session to not face a timeout
-      session.commitAndClose();
-      sensorsExecutor.execute(sensorContext);
-    }
-
-    // Special case for views.
-    resourcePersister.persist();
-
-    if (phases.isEnabled(Phases.Phase.DECORATOR)) {
-      decoratorsExecutor.execute();
-    }
-
-    if (module.isRoot()) {
-      jsonReport.execute();
-
-      executePersisters();
-      publishReportJob();
-      if (phases.isEnabled(Phases.Phase.POSTJOB)) {
-        postJobsExecutor.execute(sensorContext);
-      }
-    }
-    cleanMemory();
-    eventBus.fireEvent(new ProjectAnalysisEvent(module, false));
-  }
-
-  private void initIssueExclusions() {
-    String stepName = "Init issue exclusions";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    issueExclusionsLoader.execute();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void indexFs() {
-    String stepName = "Index filesystem and store sources";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    fs.index();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void executePersisters() {
-    if (!analysisMode.isPreview()) {
-      LOGGER.info("Store results in database");
-      eventBus.fireEvent(new PersistersPhaseEvent(Arrays.asList(persisters), true));
-      for (ScanPersister persister : persisters) {
-        LOGGER.debug("Execute {}", persister.getClass().getName());
-        eventBus.fireEvent(new PersisterExecutionEvent(persister, true));
-        persister.persist();
-        eventBus.fireEvent(new PersisterExecutionEvent(persister, false));
-      }
-
-      eventBus.fireEvent(new PersistersPhaseEvent(Arrays.asList(persisters), false));
-    }
-  }
-
-  private void publishReportJob() {
-    String stepName = "Publish report";
-    eventBus.fireEvent(new BatchStepEvent(stepName, true));
-    this.reportPublisher.execute();
-    eventBus.fireEvent(new BatchStepEvent(stepName, false));
-  }
-
-  private void executeInitializersPhase() {
-    if (phases.isEnabled(Phases.Phase.INIT)) {
-      initializersExecutor.execute();
-      fsLogger.log();
-    }
-  }
-
-  private void cleanMemory() {
-    String cleanMemory = "Clean memory";
-    eventBus.fireEvent(new BatchStepEvent(cleanMemory, true));
-    index.clear();
-    eventBus.fireEvent(new BatchStepEvent(cleanMemory, false));
-  }
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java
new file mode 100644 (file)
index 0000000..3618d96
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.batch.phases;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.sonar.api.BatchComponent;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
+import org.sonar.batch.events.EventBus;
+import org.sonar.batch.index.ScanPersister;
+
+import java.util.Arrays;
+
+public class PersistersExecutor implements BatchComponent {
+
+  private static final Logger LOG = LoggerFactory.getLogger(PersistersExecutor.class);
+
+  private final ScanPersister[] persisters;
+  private final DefaultAnalysisMode analysisMode;
+  private final EventBus eventBus;
+
+  public PersistersExecutor(DefaultAnalysisMode analysisMode, EventBus eventBus, ScanPersister[] persisters) {
+    this.analysisMode = analysisMode;
+    this.eventBus = eventBus;
+    this.persisters = persisters;
+  }
+
+  public PersistersExecutor(DefaultAnalysisMode analysisMode, EventBus eventBus) {
+    this(analysisMode, eventBus, new ScanPersister[0]);
+  }
+
+  public void execute() {
+    if (analysisMode.isDb()) {
+      LOG.info("Store results in database");
+      eventBus.fireEvent(new PersistersPhaseEvent(Arrays.asList(persisters), true));
+      for (ScanPersister persister : persisters) {
+        LOG.debug("Execute {}", persister.getClass().getName());
+        eventBus.fireEvent(new PersisterExecutionEvent(persister, true));
+        persister.persist();
+        eventBus.fireEvent(new PersisterExecutionEvent(persister, false));
+      }
+
+      eventBus.fireEvent(new PersistersPhaseEvent(Arrays.asList(persisters), false));
+    }
+  }
+
+}
index 8dc06b59a3f774068529072c08e2c18e2b9a7345..af07cf80cb036c24611ea91811bd8b8f88b0f173 100644 (file)
  */
 package org.sonar.batch.phases;
 
+import org.sonar.api.batch.SensorContext;
 import org.sonar.api.resources.Project;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
+import org.sonar.batch.events.BatchStepEvent;
+import org.sonar.batch.events.EventBus;
+import org.sonar.batch.index.DefaultIndex;
+import org.sonar.batch.issue.ignore.scanner.IssueExclusionsLoader;
+import org.sonar.batch.issue.tracking.LocalIssueTracking;
+import org.sonar.batch.report.ReportPublisher;
+import org.sonar.batch.rule.QProfileVerifier;
+import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
+import org.sonar.batch.scan.filesystem.FileSystemLogger;
+import org.sonar.batch.scan.report.IssuesReports;
+
+public final class PhaseExecutor {
+
+  private final EventBus eventBus;
+  private final DecoratorsExecutor decoratorsExecutor;
+  private final PostJobsExecutor postJobsExecutor;
+  private final InitializersExecutor initializersExecutor;
+  private final SensorsExecutor sensorsExecutor;
+  private final ReportPublisher reportPublisher;
+  private final SensorContext sensorContext;
+  private final DefaultIndex index;
+  private final ProjectInitializer pi;
+  private final PersistersExecutor persistersExecutor;
+  private final FileSystemLogger fsLogger;
+  private final DefaultModuleFileSystem fs;
+  private final QProfileVerifier profileVerifier;
+  private final IssueExclusionsLoader issueExclusionsLoader;
+  private final IssuesReports issuesReport;
+  private final DefaultAnalysisMode analysisMode;
+  private final LocalIssueTracking localIssueTracking;
+
+  public PhaseExecutor(DecoratorsExecutor decoratorsExecutor,
+    InitializersExecutor initializersExecutor, PostJobsExecutor postJobsExecutor, SensorsExecutor sensorsExecutor,
+    SensorContext sensorContext, DefaultIndex index,
+    EventBus eventBus, ReportPublisher reportPublisher, ProjectInitializer pi,
+    PersistersExecutor persistersExecutor, FileSystemLogger fsLogger, IssuesReports jsonReport, DefaultModuleFileSystem fs, QProfileVerifier profileVerifier,
+    IssueExclusionsLoader issueExclusionsLoader, DefaultAnalysisMode analysisMode, LocalIssueTracking localIssueTracking) {
+    this.decoratorsExecutor = decoratorsExecutor;
+    this.postJobsExecutor = postJobsExecutor;
+    this.initializersExecutor = initializersExecutor;
+    this.sensorsExecutor = sensorsExecutor;
+    this.sensorContext = sensorContext;
+    this.index = index;
+    this.eventBus = eventBus;
+    this.reportPublisher = reportPublisher;
+    this.pi = pi;
+    this.persistersExecutor = persistersExecutor;
+    this.fsLogger = fsLogger;
+    this.issuesReport = jsonReport;
+    this.fs = fs;
+    this.profileVerifier = profileVerifier;
+    this.issueExclusionsLoader = issueExclusionsLoader;
+    this.analysisMode = analysisMode;
+    this.localIssueTracking = localIssueTracking;
+  }
 
-public interface PhaseExecutor {
   /**
    * Executed on each module
    */
-  public void execute(Project module);
+  public void execute(Project module) {
+    pi.execute(module);
+
+    eventBus.fireEvent(new ProjectAnalysisEvent(module, true));
+
+    executeInitializersPhase();
+
+    // Index and lock the filesystem
+    indexFs();
+
+    // Log detected languages and their profiles after FS is indexed and languages detected
+    profileVerifier.execute();
+
+    // Initialize issue exclusions
+    initIssueExclusions();
+
+    sensorsExecutor.execute(sensorContext);
+
+    decoratorsExecutor.execute();
+
+    if (module.isRoot()) {
+      if (analysisMode.isPreview()) {
+        localIssueTracking();
+      }
+      issuesReport();
+
+      if (!analysisMode.isPreview()) {
+        persistersExecutor.execute();
+      }
+
+      publishReportJob();
+      postJobsExecutor.execute(sensorContext);
+    }
+    cleanMemory();
+    eventBus.fireEvent(new ProjectAnalysisEvent(module, false));
+  }
+
+  private void publishReportJob() {
+    String stepName = "Publish report";
+    eventBus.fireEvent(new BatchStepEvent(stepName, true));
+    this.reportPublisher.execute();
+    eventBus.fireEvent(new BatchStepEvent(stepName, false));
+  }
+
+  private void localIssueTracking() {
+    String stepName = "Local Issue Tracking";
+    eventBus.fireEvent(new BatchStepEvent(stepName, true));
+    localIssueTracking.execute();
+    eventBus.fireEvent(new BatchStepEvent(stepName, false));
+  }
+
+  private void issuesReport() {
+    String stepName = "Issues Reports";
+    eventBus.fireEvent(new BatchStepEvent(stepName, true));
+    issuesReport.execute();
+    eventBus.fireEvent(new BatchStepEvent(stepName, false));
+  }
+
+  private void initIssueExclusions() {
+    String stepName = "Init issue exclusions";
+    eventBus.fireEvent(new BatchStepEvent(stepName, true));
+    issueExclusionsLoader.execute();
+    eventBus.fireEvent(new BatchStepEvent(stepName, false));
+  }
+
+  private void indexFs() {
+    String stepName = "Index filesystem and store sources";
+    eventBus.fireEvent(new BatchStepEvent(stepName, true));
+    fs.index();
+    eventBus.fireEvent(new BatchStepEvent(stepName, false));
+  }
+
+  private void executeInitializersPhase() {
+    initializersExecutor.execute();
+    fsLogger.log();
+  }
+
+  private void cleanMemory() {
+    String cleanMemory = "Clean memory";
+    eventBus.fireEvent(new BatchStepEvent(cleanMemory, true));
+    index.clear();
+    eventBus.fireEvent(new BatchStepEvent(cleanMemory, false));
+  }
 }
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java b/sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java
deleted file mode 100644 (file)
index 979ce8c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.batch.phases;
-
-import com.google.common.collect.Sets;
-
-import java.util.Arrays;
-import java.util.Set;
-
-/**
- * Used by views
- */
-public class Phases {
-
-  public enum Phase {
-    INIT("Initializers"), SENSOR("Sensors"), DECORATOR("Decorators"), PERSISTER("Persisters"), POSTJOB("Post-Jobs");
-
-    private final String label;
-
-    private Phase(String label) {
-      this.label = label;
-    }
-
-    @Override
-    public String toString() {
-      return label;
-    }
-  }
-
-  private final Set<Phase> enabled = Sets.newHashSet();
-
-  public Phases enable(Phase... phases) {
-    enabled.addAll(Arrays.asList(phases));
-    return this;
-  }
-
-  public boolean isEnabled(Phase phase) {
-    return enabled.contains(phase);
-  }
-
-  public boolean isFullyEnabled() {
-    return enabled.containsAll(Arrays.asList(Phase.values()));
-  }
-}
index fc8634f6f707aa2e554b597d1a89f75f48fc4462..c4a0fc191745b8728a878016e76b8097381c95a2 100644 (file)
@@ -22,20 +22,15 @@ package org.sonar.batch.profiling;
 import com.google.common.collect.Maps;
 import org.sonar.api.resources.Project;
 import org.sonar.api.utils.System2;
-import org.sonar.batch.phases.Phases;
-import org.sonar.batch.phases.Phases.Phase;
 
 import javax.annotation.Nullable;
 
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Properties;
 
 public class ModuleProfiling extends AbstractTimeProfiling {
 
-  private Map<Phases.Phase, PhaseProfiling> profilingPerPhase = new HashMap<Phases.Phase, PhaseProfiling>();
+  private Map<Phase, PhaseProfiling> profilingPerPhase = new HashMap<Phase, PhaseProfiling>();
   private Map<String, ItemProfiling> profilingPerBatchStep = new LinkedHashMap<String, ItemProfiling>();
   private final Project module;
 
@@ -81,7 +76,7 @@ public class ModuleProfiling extends AbstractTimeProfiling {
       println(" * " + batchStep.getKey() + " execution time: ", percent, batchStep.getValue());
     }
     // Breakdown per phase
-    for (Phase phase : Phases.Phase.values()) {
+    for (Phase phase : Phase.values()) {
       if (profilingPerPhase.containsKey(phase) && getProfilingPerPhase(phase).hasItems()) {
         println("");
         println(" * " + phase + " execution time breakdown: ", getProfilingPerPhase(phase));
@@ -92,7 +87,7 @@ public class ModuleProfiling extends AbstractTimeProfiling {
 
   public void merge(ModuleProfiling other) {
     super.add(other);
-    for (Entry<Phases.Phase, PhaseProfiling> entry : other.profilingPerPhase.entrySet()) {
+    for (Entry<Phase, PhaseProfiling> entry : other.profilingPerPhase.entrySet()) {
       if (!this.profilingPerPhase.containsKey(entry.getKey())) {
         this.addPhaseProfiling(entry.getKey());
       }
diff --git a/sonar-batch/src/main/java/org/sonar/batch/profiling/Phase.java b/sonar-batch/src/main/java/org/sonar/batch/profiling/Phase.java
new file mode 100644 (file)
index 0000000..6c92846
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.batch.profiling;
+
+public enum Phase {
+
+  INIT("Initializers"), SENSOR("Sensors"), DECORATOR("Decorators"), PERSISTER("Persisters"), POSTJOB("Post-Jobs");
+
+  private final String label;
+
+  private Phase(String label) {
+    this.label = label;
+  }
+
+  @Override
+  public String toString() {
+    return label;
+  }
+
+}
index 358db0d7b9c9d4e4375ad0b31f55ce970d6436d0..2bb5599a0fe505d634552dab9fdfc5845dbf66d5 100644 (file)
@@ -20,7 +20,6 @@
 package org.sonar.batch.profiling;
 
 import org.sonar.api.utils.System2;
-import org.sonar.batch.phases.Phases.Phase;
 
 import java.util.HashMap;
 import java.util.Map;
index 137b1419d9cd25f19004470a2df116318d41b31a..b4357e407bd73e14f3827774b8903fcc37d7696c 100644 (file)
@@ -26,21 +26,12 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.CoreProperties;
 import org.sonar.api.batch.Decorator;
-import org.sonar.api.batch.events.DecoratorExecutionHandler;
-import org.sonar.api.batch.events.DecoratorsPhaseHandler;
-import org.sonar.api.batch.events.InitializerExecutionHandler;
-import org.sonar.api.batch.events.InitializersPhaseHandler;
-import org.sonar.api.batch.events.PostJobExecutionHandler;
-import org.sonar.api.batch.events.PostJobsPhaseHandler;
-import org.sonar.api.batch.events.ProjectAnalysisHandler;
-import org.sonar.api.batch.events.SensorExecutionHandler;
-import org.sonar.api.batch.events.SensorsPhaseHandler;
+import org.sonar.api.batch.events.*;
 import org.sonar.api.resources.Project;
 import org.sonar.api.utils.System2;
 import org.sonar.api.utils.TimeUtils;
 import org.sonar.batch.bootstrap.BootstrapProperties;
 import org.sonar.batch.events.BatchStepHandler;
-import org.sonar.batch.phases.Phases;
 import org.sonar.batch.phases.event.PersisterExecutionHandler;
 import org.sonar.batch.phases.event.PersistersPhaseHandler;
 import org.sonar.batch.util.BatchUtils;
@@ -49,11 +40,7 @@ import javax.annotation.Nullable;
 
 import java.io.File;
 import java.io.FileOutputStream;
-import java.util.HashMap;
-import java.util.IdentityHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
+import java.util.*;
 
 import static org.sonar.batch.profiling.AbstractTimeProfiling.sortByDescendingTotalTime;
 import static org.sonar.batch.profiling.AbstractTimeProfiling.truncate;
@@ -161,15 +148,15 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
   @Override
   public void onSensorsPhase(SensorsPhaseEvent event) {
     if (event.isStart()) {
-      currentModuleProfiling.addPhaseProfiling(Phases.Phase.SENSOR);
+      currentModuleProfiling.addPhaseProfiling(Phase.SENSOR);
     } else {
-      currentModuleProfiling.getProfilingPerPhase(Phases.Phase.SENSOR).stop();
+      currentModuleProfiling.getProfilingPerPhase(Phase.SENSOR).stop();
     }
   }
 
   @Override
   public void onSensorExecution(SensorExecutionEvent event) {
-    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phases.Phase.SENSOR);
+    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phase.SENSOR);
     if (event.isStart()) {
       profiling.newItemProfiling(event.getSensor());
     } else {
@@ -180,15 +167,15 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
   @Override
   public void onPersistersPhase(PersistersPhaseEvent event) {
     if (event.isStart()) {
-      currentModuleProfiling.addPhaseProfiling(Phases.Phase.PERSISTER);
+      currentModuleProfiling.addPhaseProfiling(Phase.PERSISTER);
     } else {
-      currentModuleProfiling.getProfilingPerPhase(Phases.Phase.PERSISTER).stop();
+      currentModuleProfiling.getProfilingPerPhase(Phase.PERSISTER).stop();
     }
   }
 
   @Override
   public void onPersisterExecution(PersisterExecutionEvent event) {
-    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phases.Phase.PERSISTER);
+    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phase.PERSISTER);
     if (event.isStart()) {
       profiling.newItemProfiling(event.getPersister());
     } else {
@@ -198,7 +185,7 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
 
   @Override
   public void onDecoratorExecution(DecoratorExecutionEvent event) {
-    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phases.Phase.DECORATOR);
+    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phase.DECORATOR);
     if (event.isStart()) {
       if (profiling.getProfilingPerItem(event.getDecorator()) == null) {
         profiling.newItemProfiling(event.getDecorator());
@@ -212,28 +199,28 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
   @Override
   public void onDecoratorsPhase(DecoratorsPhaseEvent event) {
     if (event.isStart()) {
-      currentModuleProfiling.addPhaseProfiling(Phases.Phase.DECORATOR);
+      currentModuleProfiling.addPhaseProfiling(Phase.DECORATOR);
     } else {
       for (Decorator decorator : decoratorsProfiler.getDurations().keySet()) {
-        currentModuleProfiling.getProfilingPerPhase(Phases.Phase.DECORATOR)
+        currentModuleProfiling.getProfilingPerPhase(Phase.DECORATOR)
           .getProfilingPerItem(decorator).setTotalTime(decoratorsProfiler.getDurations().get(decorator));
       }
-      currentModuleProfiling.getProfilingPerPhase(Phases.Phase.DECORATOR).stop();
+      currentModuleProfiling.getProfilingPerPhase(Phase.DECORATOR).stop();
     }
   }
 
   @Override
   public void onPostJobsPhase(PostJobsPhaseEvent event) {
     if (event.isStart()) {
-      currentModuleProfiling.addPhaseProfiling(Phases.Phase.POSTJOB);
+      currentModuleProfiling.addPhaseProfiling(Phase.POSTJOB);
     } else {
-      currentModuleProfiling.getProfilingPerPhase(Phases.Phase.POSTJOB).stop();
+      currentModuleProfiling.getProfilingPerPhase(Phase.POSTJOB).stop();
     }
   }
 
   @Override
   public void onPostJobExecution(PostJobExecutionEvent event) {
-    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phases.Phase.POSTJOB);
+    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phase.POSTJOB);
     if (event.isStart()) {
       profiling.newItemProfiling(event.getPostJob());
     } else {
@@ -244,15 +231,15 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
   @Override
   public void onInitializersPhase(InitializersPhaseEvent event) {
     if (event.isStart()) {
-      currentModuleProfiling.addPhaseProfiling(Phases.Phase.INIT);
+      currentModuleProfiling.addPhaseProfiling(Phase.INIT);
     } else {
-      currentModuleProfiling.getProfilingPerPhase(Phases.Phase.INIT).stop();
+      currentModuleProfiling.getProfilingPerPhase(Phase.INIT).stop();
     }
   }
 
   @Override
   public void onInitializerExecution(InitializerExecutionEvent event) {
-    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phases.Phase.INIT);
+    PhaseProfiling profiling = currentModuleProfiling.getProfilingPerPhase(Phase.INIT);
     if (event.isStart()) {
       profiling.newItemProfiling(event.getInitializer());
     } else {
index a31b46e8437dc050541ad4273cde7aa26ffad7cd..217458bcdea76bac9a42efd03632e5534026783e 100644 (file)
@@ -112,7 +112,7 @@ public class ComponentsPublisher implements ReportPublisherStep {
   }
 
   private void writeEvents(BatchResource batchResource, Builder builder) {
-    if (isRealProjectOrModule(batchResource.resource())) {
+    if (ResourceUtils.isProject(batchResource.resource())) {
       for (Event event : eventCache.getEvents(batchResource.batchId())) {
         builder.addEvent(event);
       }
@@ -120,7 +120,7 @@ public class ComponentsPublisher implements ReportPublisherStep {
   }
 
   private void writeVersion(Resource r, BatchReport.Component.Builder builder) {
-    if (isRealProjectOrModule(r)) {
+    if (ResourceUtils.isProject(r)) {
       ProjectDefinition def = getProjectDefinition(reactor, r.getKey());
       String version = getVersion(def);
       builder.setVersion(version);
@@ -133,7 +133,7 @@ public class ComponentsPublisher implements ReportPublisherStep {
   }
 
   private void writeLinks(Resource r, BatchReport.Component.Builder builder) {
-    if (isRealProjectOrModule(r)) {
+    if (ResourceUtils.isProject(r)) {
       ProjectDefinition def = getProjectDefinition(reactor, r.getKey());
       ComponentLink.Builder linkBuilder = ComponentLink.newBuilder();
 
@@ -145,11 +145,6 @@ public class ComponentsPublisher implements ReportPublisherStep {
     }
   }
 
-  // Exclude views
-  private static boolean isRealProjectOrModule(Resource r) {
-    return ResourceUtils.isProject(r) && !ResourceUtils.isView(r) && !ResourceUtils.isSubview(r);
-  }
-
   private ProjectDefinition getProjectDefinition(ProjectReactor reactor, String keyWithBranch) {
     for (ProjectDefinition p : reactor.getProjects()) {
       if (keyWithBranch.equals(p.getKeyWithBranch())) {
@@ -191,10 +186,6 @@ public class ComponentsPublisher implements ReportPublisherStep {
       return Constants.ComponentType.MODULE;
     } else if (ResourceUtils.isRootProject(r)) {
       return Constants.ComponentType.PROJECT;
-    } else if (ResourceUtils.isView(r)) {
-      return Constants.ComponentType.VIEW;
-    } else if (ResourceUtils.isSubview(r)) {
-      return Constants.ComponentType.SUBVIEW;
     }
     throw new IllegalArgumentException("Unknown resource type: " + r);
   }
index a05aee3193cc752290a0a1ceecdb1721088d854e..75281a9e961bae4304293a13abf7758af51601db 100644 (file)
@@ -101,18 +101,15 @@ public class ModuleScanContainer extends ComponentContainer {
     ModuleSettings moduleSettings = getComponentByType(ModuleSettings.class);
     module.setSettings(moduleSettings);
 
-    if (analysisMode.isDb()) {
-      add(DatabaseModePhaseExecutor.class);
-    } else {
-      add(RuleFinderCompatibility.class,
-        DatabaseLessPhaseExecutor.class);
-    }
-
     add(
+      PhaseExecutor.class,
+      RuleFinderCompatibility.class,
       EventBus.class,
       PhasesTimeProfiler.class,
       PostJobsExecutor.class,
+      DecoratorsExecutor.class,
       SensorsExecutor.class,
+      PersistersExecutor.class,
       InitializersExecutor.class,
       ProjectInitializer.class,
       moduleDefinition.getContainerExtensions(),
@@ -180,8 +177,7 @@ public class ModuleScanContainer extends ComponentContainer {
   }
 
   private void addDataBaseComponents() {
-    add(DecoratorsExecutor.class,
-
+    add(
       // Quality Gate
       QualityGateVerifier.class,
       GenerateQualityGateEvents.class,
@@ -226,8 +222,7 @@ public class ModuleScanContainer extends ComponentContainer {
   @Override
   protected void doAfterStart() {
     DefaultIndex index = getComponentByType(DefaultIndex.class);
-    index.setCurrentProject(module,
-      getComponentByType(ModuleIssues.class));
+    index.setCurrentProject(module, getComponentByType(ModuleIssues.class));
 
     getComponentByType(PhaseExecutor.class).execute(module);
 
index 8e07479236548a1d1d5df69ce94e2f980bb2dd24..b157c30b64189bb7a541d97318b5766f2254f96d 100644 (file)
@@ -153,7 +153,6 @@ public class ProjectScanContainer extends ComponentContainer {
       TestPlanBuilder.class,
       TestableBuilder.class,
       ScanGraph.create(),
-      GraphPersister.class,
 
       // lang
       Languages.class,
@@ -197,6 +196,7 @@ public class ProjectScanContainer extends ComponentContainer {
     add(
       ResourcePersister.class,
       ResourceKeyMigration.class,
+      GraphPersister.class,
 
       // Users
       DefaultUserFinder.class,
index 645fa8b29d9a82a922c07159a7e3c9a3f59cebaf..0064d028ea8a53c426d7387e8f579b82c8d6a13d 100644 (file)
@@ -25,7 +25,6 @@ import org.sonar.api.task.Task;
 import org.sonar.api.task.TaskDefinition;
 import org.sonar.batch.DefaultProjectTree;
 import org.sonar.batch.bootstrap.TaskContainer;
-import org.sonar.batch.phases.Phases;
 
 public class ScanTask implements Task {
   public static final TaskDefinition DEFINITION = TaskDefinition.builder()
@@ -48,7 +47,6 @@ public class ScanTask implements Task {
   // Add components specific to project scan (views will use different ones)
   void scan(ComponentContainer scanContainer) {
     scanContainer.add(
-      new Phases().enable(Phases.Phase.values()),
       DefaultProjectTree.class,
       ProjectExclusions.class,
       ProjectReactorValidator.class,
index e81e4d5f6cc983db67af2ef9af55332672e2568d..ec96767341ea4e26aacd4dcb76f075fdf0064e7b 100644 (file)
@@ -23,19 +23,12 @@ import com.google.common.base.Joiner;
 import org.picocontainer.Startable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchComponent;
-import org.sonar.api.CoreProperties;
-import org.sonar.api.Properties;
-import org.sonar.api.Property;
-import org.sonar.api.PropertyType;
+import org.sonar.api.*;
 import org.sonar.api.batch.AnalysisMode;
 import org.sonar.api.batch.InstantiationStrategy;
 import org.sonar.api.batch.bootstrap.ProjectReactor;
 import org.sonar.api.batch.scm.ScmProvider;
 import org.sonar.api.config.Settings;
-import org.sonar.batch.phases.Phases;
-
-import javax.annotation.Nullable;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -62,38 +55,26 @@ public final class ScmConfiguration implements BatchComponent, Startable {
   private final ProjectReactor projectReactor;
   private final Settings settings;
   private final Map<String, ScmProvider> providerPerKey = new LinkedHashMap<String, ScmProvider>();
-  private final Phases phases;
   private final AnalysisMode analysisMode;
 
   private ScmProvider provider;
 
-  public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings, @Nullable Phases phases, ScmProvider... providers) {
+  public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings, ScmProvider... providers) {
     this.projectReactor = projectReactor;
     this.analysisMode = analysisMode;
     this.settings = settings;
-    this.phases = phases;
     for (ScmProvider scmProvider : providers) {
       providerPerKey.put(scmProvider.key(), scmProvider);
     }
   }
 
-  // Scan 2
-  public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings, ScmProvider... providers) {
-    this(projectReactor, analysisMode, settings, null, providers);
-  }
-
-  public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings, Phases phases) {
-    this(projectReactor, analysisMode, settings, phases, new ScmProvider[0]);
-  }
-
-  // Scan2
   public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings) {
-    this(projectReactor, analysisMode, settings, null, new ScmProvider[0]);
+    this(projectReactor, analysisMode, settings, new ScmProvider[0]);
   }
 
   @Override
   public void start() {
-    if (analysisMode.isPreview() || (phases != null && !phases.isEnabled(Phases.Phase.SENSOR))) {
+    if (analysisMode.isPreview()) {
       return;
     }
     if (isDisabled()) {
index e4e4d3e0366b2b8084ed4a6f5e4110ecb00086fe..2c77b007350d33f3f9f673428c9b3ce86a5a6120 100644 (file)
@@ -19,8 +19,6 @@
  */
 package org.sonar.batch.cpd;
 
-import org.sonar.api.batch.sensor.internal.SensorStorage;
-
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -31,6 +29,7 @@ import org.sonar.api.batch.fs.internal.DeprecatedDefaultInputFile;
 import org.sonar.api.batch.sensor.SensorContext;
 import org.sonar.api.batch.sensor.duplication.NewDuplication;
 import org.sonar.api.batch.sensor.duplication.internal.DefaultDuplication;
+import org.sonar.api.batch.sensor.internal.SensorStorage;
 import org.sonar.api.batch.sensor.measure.Measure;
 import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure;
 import org.sonar.api.measures.CoreMetrics;
@@ -92,7 +91,6 @@ public class JavaCpdEngineTest {
     verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).onFile(inputFile).withValue(1));
     verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).onFile(inputFile).withValue(1));
     verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).onFile(inputFile).withValue(3));
-    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATION_LINES_DATA).onFile(inputFile).withValue("1=0;2=1;3=1;4=1;5=0"));
 
     verify(storage).store(new DefaultDuplication()
       .originBlock(inputFile, 2, 4)
index b3e786841a09742877de81e9dbd9318b9d114ef8..b286255c05d4ec39ef45090038e5253ec505a17a 100644 (file)
@@ -90,22 +90,22 @@ public class CoverageMediumTest {
     assertThat(result.coverageFor(file, 2).getItCoveredConditions()).isEqualTo(0);
     assertThat(result.coverageFor(file, 2).getOverallCoveredConditions()).isEqualTo(0);
 
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
+    assertThat(result.allMeasures()).contains(new DefaultMeasure<Integer>()
       .forMetric(CoreMetrics.LINES_TO_COVER)
       .onFile(new DefaultInputFile("com.foo.project", "src/sample.xoo"))
       .withValue(2));
 
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
+    assertThat(result.allMeasures()).contains(new DefaultMeasure<Integer>()
       .forMetric(CoreMetrics.UNCOVERED_LINES)
       .onFile(new DefaultInputFile("com.foo.project", "src/sample.xoo"))
       .withValue(0));
 
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
+    assertThat(result.allMeasures()).contains(new DefaultMeasure<Integer>()
       .forMetric(CoreMetrics.CONDITIONS_TO_COVER)
       .onFile(new DefaultInputFile("com.foo.project", "src/sample.xoo"))
       .withValue(2));
 
-    assertThat(result.measures()).contains(new DefaultMeasure<String>()
+    assertThat(result.allMeasures()).contains(new DefaultMeasure<String>()
       .forMetric(CoreMetrics.COVERED_CONDITIONS_BY_LINE)
       .onFile(new DefaultInputFile("com.foo.project", "src/sample.xoo"))
       .withValue("2=1"));
index cc940ae1361923e0beb99a4ce4657ed57f10336d..221b6a88af6f4df25de480a9c82fdfb2a0ad0f86 100644 (file)
@@ -31,8 +31,6 @@ import org.sonar.api.batch.fs.InputFile;
 import org.sonar.api.batch.fs.internal.DefaultInputFile;
 import org.sonar.api.batch.sensor.duplication.Duplication;
 import org.sonar.api.batch.sensor.measure.Measure;
-import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure;
-import org.sonar.api.measures.CoreMetrics;
 import org.sonar.batch.mediumtest.BatchMediumTester;
 import org.sonar.batch.mediumtest.TaskResult;
 import org.sonar.xoo.XooPlugin;
@@ -42,6 +40,7 @@ import java.io.IOException;
 import java.util.List;
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.tuple;
 
 public class CpdMediumTest {
 
@@ -103,8 +102,8 @@ public class CpdMediumTest {
 
     assertThat(result.inputFiles()).hasSize(2);
 
-    // 5 measures per file + quality profile measure
-    assertThat(result.measures()).hasSize(11);
+    assertThat(result.measures("com.foo.project:src/sample1.xoo")).extracting("metric.key", "value").contains(tuple("duplicated_blocks", 1), tuple("duplicated_files", 1),
+      tuple("duplicated_lines", 17));
 
     InputFile inputFile1 = result.inputFile("src/sample1.xoo");
     InputFile inputFile2 = result.inputFile("src/sample2.xoo");
@@ -156,7 +155,7 @@ public class CpdMediumTest {
       .start();
 
     Measure duplicatedBlocks = null;
-    for (Measure m : result.measures()) {
+    for (Measure m : result.allMeasures()) {
       if (m.metric().key().equals("duplicated_blocks")) {
         duplicatedBlocks = m;
       }
@@ -189,8 +188,8 @@ public class CpdMediumTest {
         .build())
       .start();
 
-    // 5 measures per file + QP measure
-    assertThat(result.measures()).hasSize(6);
+    assertThat(result.measures("com.foo.project:src/sample.xoo")).extracting("metric.key", "value").contains(tuple("duplicated_blocks", 2), tuple("duplicated_files", 1),
+      tuple("duplicated_lines", 4));
 
     InputFile inputFile = result.inputFile("src/sample.xoo");
     // One clone group
@@ -204,11 +203,6 @@ public class CpdMediumTest {
     assertThat(cloneGroup.duplicates()).hasSize(1);
     assertThat(cloneGroup.duplicates().get(0).startLine()).isEqualTo(5);
     assertThat(cloneGroup.duplicates().get(0).length()).isEqualTo(2);
-
-    assertThat(result.measures()).contains(new DefaultMeasure<String>()
-      .forMetric(CoreMetrics.DUPLICATION_LINES_DATA)
-      .onFile(inputFile)
-      .withValue("1=1;2=1;3=0;4=0;5=1;6=1;7=0"));
   }
 
 }
index 49905eace3b83dfd08f3e88d30dede396565cbe4..530606f84baeb0d2fa2b47fe0ca1fc154eb95666 100644 (file)
@@ -36,6 +36,7 @@ import java.io.File;
 import java.io.IOException;
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.tuple;
 
 public class MeasuresMediumTest {
 
@@ -65,7 +66,7 @@ public class MeasuresMediumTest {
       .newScanTask(new File(projectDir, "sonar-project.properties"))
       .start();
 
-    assertThat(result.measures()).hasSize(13);
+    assertThat(result.allMeasures()).hasSize(20);
   }
 
   @Test
@@ -92,9 +93,9 @@ public class MeasuresMediumTest {
         .build())
       .start();
 
-    assertThat(result.measures()).hasSize(2);
+    assertThat(result.allMeasures()).hasSize(4);
 
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
+    assertThat(result.allMeasures()).contains(new DefaultMeasure<Integer>()
       .forMetric(CoreMetrics.LINES)
       .onFile(new DefaultInputFile("com.foo.project", "src/sample.xoo"))
       .withValue(2));
@@ -127,23 +128,8 @@ public class MeasuresMediumTest {
         .build())
       .start();
 
-    // QP + 2 x lines + 1 x ncloc+ 1 x lines_to_cover
-    assertThat(result.measures()).hasSize(5);
-
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
-      .forMetric(CoreMetrics.LINES)
-      .onFile(new DefaultInputFile("com.foo.project", "src/sample.xoo"))
-      .withValue(3));
-
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
-      .forMetric(CoreMetrics.LINES)
-      .onFile(new DefaultInputFile("com.foo.project", "src/sample.other"))
-      .withValue(3));
-    assertThat(result.measures()).contains(new DefaultMeasure<Integer>()
-      .forMetric(CoreMetrics.NCLOC)
-      .onFile(new DefaultInputFile("com.foo.project", "src/sample.other"))
-      .withValue(2));
-
+    assertThat(result.measures("com.foo.project:src/sample.xoo")).extracting("metric.key", "value").contains(tuple("lines", 3));
+    assertThat(result.measures("com.foo.project:src/sample.other")).extracting("metric.key", "value").contains(tuple("lines", 3), tuple("ncloc", 2));
   }
 
 }
index e11782bdd54d0828e20057cc374ce3253e8e1ccf..066d11f0c19d8e00dab72d60fd86bf5b60b83742 100644 (file)
@@ -291,7 +291,7 @@ public class ScmMediumTest {
         .build())
       .start();
 
-    assertThat(result.measures()).hasSize(2);
+    assertThat(result.allMeasures()).extracting("metric.key").containsOnly("lines", "quality_profiles");
   }
 
 }
diff --git a/sonar-batch/src/test/java/org/sonar/batch/phases/PhasesTest.java b/sonar-batch/src/test/java/org/sonar/batch/phases/PhasesTest.java
deleted file mode 100644 (file)
index 14f7e0a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.batch.phases;
-
-import org.junit.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class PhasesTest {
-  @Test
-  public void no_phase_should_be_enabled_by_default() {
-    Phases phases = new Phases();
-    assertThat(phases.isEnabled(Phases.Phase.DECORATOR)).isFalse();
-  }
-
-  @Test
-  public void phase_should_be_enabled() {
-    Phases phases = new Phases();
-    phases.enable(Phases.Phase.SENSOR, Phases.Phase.DECORATOR);
-
-    assertThat(phases.isEnabled(Phases.Phase.DECORATOR)).isTrue();
-    assertThat(phases.isEnabled(Phases.Phase.SENSOR)).isTrue();
-    assertThat(phases.isEnabled(Phases.Phase.POSTJOB)).isFalse();
-    assertThat(phases.isFullyEnabled()).isFalse();
-  }
-
-  @Test
-  public void all_phases_should_be_enabled() {
-    Phases phases = new Phases();
-    phases.enable(Phases.Phase.values());
-
-    assertThat(phases.isEnabled(Phases.Phase.INIT)).isTrue();
-    assertThat(phases.isEnabled(Phases.Phase.DECORATOR)).isTrue();
-    assertThat(phases.isEnabled(Phases.Phase.SENSOR)).isTrue();
-    assertThat(phases.isEnabled(Phases.Phase.POSTJOB)).isTrue();
-    assertThat(phases.isFullyEnabled()).isTrue();
-  }
-}
index e04c684331392ffc6536db71da2fb49f9f9a7350..704a27b04c1e068f311bb992e2000ee0541546c9 100644 (file)
@@ -25,23 +25,10 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.sonar.api.CoreProperties;
-import org.sonar.api.batch.Decorator;
-import org.sonar.api.batch.DecoratorContext;
-import org.sonar.api.batch.Initializer;
-import org.sonar.api.batch.PostJob;
-import org.sonar.api.batch.Sensor;
-import org.sonar.api.batch.SensorContext;
-import org.sonar.api.batch.events.DecoratorExecutionHandler;
-import org.sonar.api.batch.events.DecoratorsPhaseHandler;
-import org.sonar.api.batch.events.InitializerExecutionHandler;
-import org.sonar.api.batch.events.InitializersPhaseHandler;
-import org.sonar.api.batch.events.PostJobExecutionHandler;
-import org.sonar.api.batch.events.PostJobsPhaseHandler;
-import org.sonar.api.batch.events.ProjectAnalysisHandler;
+import org.sonar.api.batch.*;
+import org.sonar.api.batch.events.*;
 import org.sonar.api.batch.events.ProjectAnalysisHandler.ProjectAnalysisEvent;
-import org.sonar.api.batch.events.SensorExecutionHandler;
 import org.sonar.api.batch.events.SensorExecutionHandler.SensorExecutionEvent;
-import org.sonar.api.batch.events.SensorsPhaseHandler;
 import org.sonar.api.batch.events.SensorsPhaseHandler.SensorsPhaseEvent;
 import org.sonar.api.resources.Project;
 import org.sonar.api.resources.Resource;
@@ -49,7 +36,6 @@ import org.sonar.api.utils.System2;
 import org.sonar.batch.bootstrap.BootstrapProperties;
 import org.sonar.batch.events.BatchStepEvent;
 import org.sonar.batch.index.ScanPersister;
-import org.sonar.batch.phases.Phases.Phase;
 import org.sonar.batch.phases.event.PersisterExecutionHandler;
 import org.sonar.batch.phases.event.PersistersPhaseHandler;
 
index 5af586710913587a7c3fd7c7fcacbef4eb0ab825..96730773efd8c7c9c2f7e0a5676f321b3d16ae39 100644 (file)
@@ -21,17 +21,8 @@ package org.sonar.batch.scan;
 
 import org.junit.Test;
 import org.sonar.api.CoreProperties;
-import org.sonar.api.batch.bootstrap.ProjectDefinition;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
-import org.sonar.api.config.Settings;
-import org.sonar.api.platform.ComponentContainer;
-import org.sonar.batch.ProjectConfigurator;
-import org.sonar.batch.bootstrap.TaskContainer;
-import org.sonar.batch.phases.Phases;
-import org.sonar.core.resource.ResourceDao;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
 
 public class ScanTaskTest {
   @Test
@@ -40,16 +31,4 @@ public class ScanTaskTest {
     assertThat(ScanTask.DEFINITION.key()).isEqualTo(CoreProperties.SCAN_TASK);
   }
 
-  @Test
-  public void should_enable_all_phases() {
-    ScanTask task = new ScanTask(mock(TaskContainer.class));
-    ComponentContainer projectScanContainer = new ComponentContainer();
-    projectScanContainer.add(mock(ProjectConfigurator.class), new ProjectReactor(ProjectDefinition.create().setProperty(CoreProperties.PROJECT_KEY_PROPERTY, "foo")),
-      mock(Settings.class),
-      mock(ResourceDao.class));
-    task.scan(projectScanContainer);
-
-    Phases phases = projectScanContainer.getComponentByType(Phases.class);
-    assertThat(phases.isFullyEnabled()).isTrue();
-  }
 }
index 7b3dddee46d0bc7be1274049a608b0b3f41df867..eeb92f0a798743b4e37dfd8c69842399604f5a30 100644 (file)
@@ -1391,25 +1391,6 @@ public final class CoreMetrics {
     .setDeleteHistoricalData(true)
     .create();
 
-  /**
-   * @since 4.5 used by dev cockpit.
-   */
-  @Beta
-  public static final String DUPLICATION_LINES_DATA_KEY = "duplication_lines_data";
-
-  /**
-   * Information about duplication in file.
-   * Key-value pairs, where key - is a number of line, and value - is an indicator of whether line is duplicated somewhere (1) or not (0).
-   *
-   * @see org.sonar.api.measures.FileLinesContext
-   * @since 4.5 used by dev cockpit
-   */
-  @Beta
-  public static final Metric<String> DUPLICATION_LINES_DATA = new Metric.Builder(DUPLICATION_LINES_DATA_KEY, "duplication_lines_data", Metric.ValueType.DATA)
-    .setHidden(true)
-    .setDomain(DOMAIN_DUPLICATION)
-    .create();
-
   // --------------------------------------------------------------------------------------------------------------------
   //
   // CODING RULES