diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-01-26 18:24:01 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-02-02 17:27:19 +0100 |
commit | 35f1487144f72e49b73383c0e96d73b53c60c641 (patch) | |
tree | ceb208c0c3d0e631561c9807d394ca97503df1ae /sonar-batch-protocol | |
parent | 7a15c4d1064bbda06a204427bc71a26d9091647a (diff) | |
download | sonarqube-35f1487144f72e49b73383c0e96d73b53c60c641.tar.gz sonarqube-35f1487144f72e49b73383c0e96d73b53c60c641.zip |
Use protocol buffers format for analysis reports
Diffstat (limited to 'sonar-batch-protocol')
21 files changed, 7388 insertions, 911 deletions
diff --git a/sonar-batch-protocol/compile_protobuf.sh b/sonar-batch-protocol/compile_protobuf.sh new file mode 100644 index 00000000000..f2d14c4eebc --- /dev/null +++ b/sonar-batch-protocol/compile_protobuf.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +OUTPUT_DIR="src/main/gen-java" + +mkdir -p ${OUTPUT_DIR} +protoc --proto_path=src/main/protobuf --java_out=${OUTPUT_DIR} src/main/protobuf/*.proto diff --git a/sonar-batch-protocol/pom.xml b/sonar-batch-protocol/pom.xml index a221b25fbe6..399c4a242e0 100644 --- a/sonar-batch-protocol/pom.xml +++ b/sonar-batch-protocol/pom.xml @@ -14,6 +14,10 @@ <dependencies> <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + </dependency> + <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> @@ -43,6 +47,24 @@ <build> <plugins> <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>src/main/gen-java</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> diff --git a/sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/Constants.java b/sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/Constants.java new file mode 100644 index 00000000000..f9cd2f3ea34 --- /dev/null +++ b/sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/Constants.java @@ -0,0 +1,269 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: constants.proto + +package org.sonar.batch.protocol; + +public final class Constants { + private Constants() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + /** + * Protobuf enum {@code Severity} + */ + public enum Severity + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>INFO = 0;</code> + */ + INFO(0, 0), + /** + * <code>MINOR = 1;</code> + */ + MINOR(1, 1), + /** + * <code>MAJOR = 2;</code> + */ + MAJOR(2, 2), + /** + * <code>CRITICAL = 3;</code> + */ + CRITICAL(3, 3), + /** + * <code>BLOCKER = 4;</code> + */ + BLOCKER(4, 4), + ; + + /** + * <code>INFO = 0;</code> + */ + public static final int INFO_VALUE = 0; + /** + * <code>MINOR = 1;</code> + */ + public static final int MINOR_VALUE = 1; + /** + * <code>MAJOR = 2;</code> + */ + public static final int MAJOR_VALUE = 2; + /** + * <code>CRITICAL = 3;</code> + */ + public static final int CRITICAL_VALUE = 3; + /** + * <code>BLOCKER = 4;</code> + */ + public static final int BLOCKER_VALUE = 4; + + + public final int getNumber() { return value; } + + public static Severity valueOf(int value) { + switch (value) { + case 0: return INFO; + case 1: return MINOR; + case 2: return MAJOR; + case 3: return CRITICAL; + case 4: return BLOCKER; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<Severity> + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap<Severity> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<Severity>() { + public Severity findValueByNumber(int number) { + return Severity.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.sonar.batch.protocol.Constants.getDescriptor().getEnumTypes().get(0); + } + + private static final Severity[] VALUES = values(); + + public static Severity valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private Severity(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:Severity) + } + + /** + * Protobuf enum {@code ComponentType} + */ + public enum ComponentType + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>PROJECT = 0;</code> + */ + PROJECT(0, 0), + /** + * <code>MODULE = 1;</code> + */ + MODULE(1, 1), + /** + * <code>DIRECTORY = 2;</code> + */ + DIRECTORY(2, 2), + /** + * <code>FILE = 3;</code> + */ + FILE(3, 3), + /** + * <code>VIEW = 4;</code> + */ + VIEW(4, 4), + /** + * <code>SUBVIEW = 5;</code> + */ + SUBVIEW(5, 5), + ; + + /** + * <code>PROJECT = 0;</code> + */ + public static final int PROJECT_VALUE = 0; + /** + * <code>MODULE = 1;</code> + */ + public static final int MODULE_VALUE = 1; + /** + * <code>DIRECTORY = 2;</code> + */ + public static final int DIRECTORY_VALUE = 2; + /** + * <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; } + + public static ComponentType valueOf(int value) { + switch (value) { + case 0: return PROJECT; + case 1: return MODULE; + case 2: return DIRECTORY; + case 3: return FILE; + case 4: return VIEW; + case 5: return SUBVIEW; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<ComponentType> + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap<ComponentType> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<ComponentType>() { + public ComponentType findValueByNumber(int number) { + return ComponentType.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.sonar.batch.protocol.Constants.getDescriptor().getEnumTypes().get(1); + } + + private static final ComponentType[] VALUES = values(); + + public static ComponentType valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private ComponentType(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:ComponentType) + } + + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + 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\005B\034\n\030org.sonar.batch.pr" + + "otocolH\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; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/output/BatchOutput.java b/sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/output/BatchOutput.java new file mode 100644 index 00000000000..d42f92e5a82 --- /dev/null +++ b/sonar-batch-protocol/src/main/gen-java/org/sonar/batch/protocol/output/BatchOutput.java @@ -0,0 +1,6470 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: batch_output.proto + +package org.sonar.batch.protocol.output; + +public final class BatchOutput { + private BatchOutput() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface ReportMetadataOrBuilder extends + // @@protoc_insertion_point(interface_extends:ReportMetadata) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int64 analysis_date = 1;</code> + */ + boolean hasAnalysisDate(); + /** + * <code>optional int64 analysis_date = 1;</code> + */ + long getAnalysisDate(); + + /** + * <code>optional string project_key = 2;</code> + */ + boolean hasProjectKey(); + /** + * <code>optional string project_key = 2;</code> + */ + java.lang.String getProjectKey(); + /** + * <code>optional string project_key = 2;</code> + */ + com.google.protobuf.ByteString + getProjectKeyBytes(); + + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + boolean hasRootComponentRef(); + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + int getRootComponentRef(); + } + /** + * Protobuf type {@code ReportMetadata} + */ + public static final class ReportMetadata extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:ReportMetadata) + ReportMetadataOrBuilder { + // Use ReportMetadata.newBuilder() to construct. + private ReportMetadata(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ReportMetadata(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ReportMetadata defaultInstance; + public static ReportMetadata getDefaultInstance() { + return defaultInstance; + } + + public ReportMetadata getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ReportMetadata( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + analysisDate_ = input.readInt64(); + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + projectKey_ = bs; + break; + } + case 24: { + bitField0_ |= 0x00000004; + rootComponentRef_ = input.readInt32(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportMetadata_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.class, org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.Builder.class); + } + + public static com.google.protobuf.Parser<ReportMetadata> PARSER = + new com.google.protobuf.AbstractParser<ReportMetadata>() { + public ReportMetadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ReportMetadata(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<ReportMetadata> getParserForType() { + return PARSER; + } + + private int bitField0_; + public static final int ANALYSIS_DATE_FIELD_NUMBER = 1; + private long analysisDate_; + /** + * <code>optional int64 analysis_date = 1;</code> + */ + public boolean hasAnalysisDate() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int64 analysis_date = 1;</code> + */ + public long getAnalysisDate() { + return analysisDate_; + } + + public static final int PROJECT_KEY_FIELD_NUMBER = 2; + private java.lang.Object projectKey_; + /** + * <code>optional string project_key = 2;</code> + */ + public boolean hasProjectKey() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional string project_key = 2;</code> + */ + public java.lang.String getProjectKey() { + java.lang.Object ref = projectKey_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + projectKey_ = s; + } + return s; + } + } + /** + * <code>optional string project_key = 2;</code> + */ + public com.google.protobuf.ByteString + getProjectKeyBytes() { + java.lang.Object ref = projectKey_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ROOT_COMPONENT_REF_FIELD_NUMBER = 3; + private int rootComponentRef_; + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + public boolean hasRootComponentRef() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + public int getRootComponentRef() { + return rootComponentRef_; + } + + private void initFields() { + analysisDate_ = 0L; + projectKey_ = ""; + rootComponentRef_ = 0; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt64(1, analysisDate_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getProjectKeyBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(3, rootComponentRef_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(1, analysisDate_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getProjectKeyBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, rootComponentRef_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.sonar.batch.protocol.output.BatchOutput.ReportMetadata prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ReportMetadata} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:ReportMetadata) + org.sonar.batch.protocol.output.BatchOutput.ReportMetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportMetadata_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.class, org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.Builder.class); + } + + // Construct using org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + analysisDate_ = 0L; + bitField0_ = (bitField0_ & ~0x00000001); + projectKey_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + rootComponentRef_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportMetadata_descriptor; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportMetadata getDefaultInstanceForType() { + return org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.getDefaultInstance(); + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportMetadata build() { + org.sonar.batch.protocol.output.BatchOutput.ReportMetadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportMetadata buildPartial() { + org.sonar.batch.protocol.output.BatchOutput.ReportMetadata result = new org.sonar.batch.protocol.output.BatchOutput.ReportMetadata(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.analysisDate_ = analysisDate_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.projectKey_ = projectKey_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.rootComponentRef_ = rootComponentRef_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.sonar.batch.protocol.output.BatchOutput.ReportMetadata) { + return mergeFrom((org.sonar.batch.protocol.output.BatchOutput.ReportMetadata)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.sonar.batch.protocol.output.BatchOutput.ReportMetadata other) { + if (other == org.sonar.batch.protocol.output.BatchOutput.ReportMetadata.getDefaultInstance()) return this; + if (other.hasAnalysisDate()) { + setAnalysisDate(other.getAnalysisDate()); + } + if (other.hasProjectKey()) { + bitField0_ |= 0x00000002; + projectKey_ = other.projectKey_; + onChanged(); + } + if (other.hasRootComponentRef()) { + setRootComponentRef(other.getRootComponentRef()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.sonar.batch.protocol.output.BatchOutput.ReportMetadata parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.sonar.batch.protocol.output.BatchOutput.ReportMetadata) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private long analysisDate_ ; + /** + * <code>optional int64 analysis_date = 1;</code> + */ + public boolean hasAnalysisDate() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int64 analysis_date = 1;</code> + */ + public long getAnalysisDate() { + return analysisDate_; + } + /** + * <code>optional int64 analysis_date = 1;</code> + */ + public Builder setAnalysisDate(long value) { + bitField0_ |= 0x00000001; + analysisDate_ = value; + onChanged(); + return this; + } + /** + * <code>optional int64 analysis_date = 1;</code> + */ + public Builder clearAnalysisDate() { + bitField0_ = (bitField0_ & ~0x00000001); + analysisDate_ = 0L; + onChanged(); + return this; + } + + private java.lang.Object projectKey_ = ""; + /** + * <code>optional string project_key = 2;</code> + */ + public boolean hasProjectKey() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional string project_key = 2;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string project_key = 2;</code> + */ + public com.google.protobuf.ByteString + getProjectKeyBytes() { + java.lang.Object ref = projectKey_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string project_key = 2;</code> + */ + public Builder setProjectKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + projectKey_ = value; + onChanged(); + return this; + } + /** + * <code>optional string project_key = 2;</code> + */ + public Builder clearProjectKey() { + bitField0_ = (bitField0_ & ~0x00000002); + projectKey_ = getDefaultInstance().getProjectKey(); + onChanged(); + return this; + } + /** + * <code>optional string project_key = 2;</code> + */ + public Builder setProjectKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + projectKey_ = value; + onChanged(); + return this; + } + + private int rootComponentRef_ ; + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + public boolean hasRootComponentRef() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + public int getRootComponentRef() { + return rootComponentRef_; + } + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + public Builder setRootComponentRef(int value) { + bitField0_ |= 0x00000004; + rootComponentRef_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 root_component_ref = 3;</code> + */ + public Builder clearRootComponentRef() { + bitField0_ = (bitField0_ & ~0x00000004); + rootComponentRef_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ReportMetadata) + } + + static { + defaultInstance = new ReportMetadata(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ReportMetadata) + } + + public interface ReportComponentOrBuilder extends + // @@protoc_insertion_point(interface_extends:ReportComponent) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 ref = 1;</code> + */ + boolean hasRef(); + /** + * <code>optional int32 ref = 1;</code> + */ + int getRef(); + + /** + * <code>optional string path = 2;</code> + */ + boolean hasPath(); + /** + * <code>optional string path = 2;</code> + */ + java.lang.String getPath(); + /** + * <code>optional string path = 2;</code> + */ + com.google.protobuf.ByteString + getPathBytes(); + + /** + * <code>optional string name = 3;</code> + */ + boolean hasName(); + /** + * <code>optional string name = 3;</code> + */ + java.lang.String getName(); + /** + * <code>optional string name = 3;</code> + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * <code>optional .ComponentType type = 4;</code> + */ + boolean hasType(); + /** + * <code>optional .ComponentType type = 4;</code> + */ + org.sonar.batch.protocol.Constants.ComponentType getType(); + + /** + * <code>optional bool is_test = 5;</code> + */ + boolean hasIsTest(); + /** + * <code>optional bool is_test = 5;</code> + */ + boolean getIsTest(); + + /** + * <code>optional string language = 6;</code> + */ + boolean hasLanguage(); + /** + * <code>optional string language = 6;</code> + */ + java.lang.String getLanguage(); + /** + * <code>optional string language = 6;</code> + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + * <code>repeated int32 child_refs = 7;</code> + */ + java.util.List<java.lang.Integer> getChildRefsList(); + /** + * <code>repeated int32 child_refs = 7;</code> + */ + int getChildRefsCount(); + /** + * <code>repeated int32 child_refs = 7;</code> + */ + int getChildRefs(int index); + + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + boolean hasSnapshotId(); + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + int getSnapshotId(); + + /** + * <code>optional string uuid = 9;</code> + */ + boolean hasUuid(); + /** + * <code>optional string uuid = 9;</code> + */ + java.lang.String getUuid(); + /** + * <code>optional string uuid = 9;</code> + */ + com.google.protobuf.ByteString + getUuidBytes(); + } + /** + * Protobuf type {@code ReportComponent} + */ + public static final class ReportComponent extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:ReportComponent) + ReportComponentOrBuilder { + // Use ReportComponent.newBuilder() to construct. + private ReportComponent(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ReportComponent(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ReportComponent defaultInstance; + public static ReportComponent getDefaultInstance() { + return defaultInstance; + } + + public ReportComponent getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ReportComponent( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + ref_ = input.readInt32(); + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + path_ = bs; + break; + } + case 26: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000004; + name_ = bs; + break; + } + case 32: { + int rawValue = input.readEnum(); + org.sonar.batch.protocol.Constants.ComponentType value = org.sonar.batch.protocol.Constants.ComponentType.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(4, rawValue); + } else { + bitField0_ |= 0x00000008; + type_ = value; + } + break; + } + case 40: { + bitField0_ |= 0x00000010; + isTest_ = input.readBool(); + break; + } + case 50: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000020; + language_ = bs; + break; + } + case 56: { + if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) { + childRefs_ = new java.util.ArrayList<java.lang.Integer>(); + mutable_bitField0_ |= 0x00000040; + } + childRefs_.add(input.readInt32()); + break; + } + case 58: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) { + childRefs_ = new java.util.ArrayList<java.lang.Integer>(); + mutable_bitField0_ |= 0x00000040; + } + while (input.getBytesUntilLimit() > 0) { + childRefs_.add(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 64: { + bitField0_ |= 0x00000040; + snapshotId_ = input.readInt32(); + break; + } + case 74: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000080; + uuid_ = bs; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) { + childRefs_ = java.util.Collections.unmodifiableList(childRefs_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportComponent_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportComponent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportComponent.class, org.sonar.batch.protocol.output.BatchOutput.ReportComponent.Builder.class); + } + + public static com.google.protobuf.Parser<ReportComponent> PARSER = + new com.google.protobuf.AbstractParser<ReportComponent>() { + public ReportComponent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ReportComponent(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<ReportComponent> getParserForType() { + return PARSER; + } + + private int bitField0_; + public static final int REF_FIELD_NUMBER = 1; + private int ref_; + /** + * <code>optional int32 ref = 1;</code> + */ + public boolean hasRef() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 ref = 1;</code> + */ + public int getRef() { + return ref_; + } + + public static final int PATH_FIELD_NUMBER = 2; + private java.lang.Object path_; + /** + * <code>optional string path = 2;</code> + */ + public boolean hasPath() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional string path = 2;</code> + */ + public java.lang.String getPath() { + java.lang.Object ref = path_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + path_ = s; + } + return s; + } + } + /** + * <code>optional string path = 2;</code> + */ + public com.google.protobuf.ByteString + getPathBytes() { + java.lang.Object ref = path_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + path_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 3; + private java.lang.Object name_; + /** + * <code>optional string name = 3;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>optional string name = 3;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * <code>optional string name = 3;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TYPE_FIELD_NUMBER = 4; + private org.sonar.batch.protocol.Constants.ComponentType type_; + /** + * <code>optional .ComponentType type = 4;</code> + */ + public boolean hasType() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional .ComponentType type = 4;</code> + */ + public org.sonar.batch.protocol.Constants.ComponentType getType() { + return type_; + } + + public static final int IS_TEST_FIELD_NUMBER = 5; + private boolean isTest_; + /** + * <code>optional bool is_test = 5;</code> + */ + public boolean hasIsTest() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>optional bool is_test = 5;</code> + */ + public boolean getIsTest() { + return isTest_; + } + + public static final int LANGUAGE_FIELD_NUMBER = 6; + private java.lang.Object language_; + /** + * <code>optional string language = 6;</code> + */ + public boolean hasLanguage() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * <code>optional string language = 6;</code> + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + language_ = s; + } + return s; + } + } + /** + * <code>optional string language = 6;</code> + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CHILD_REFS_FIELD_NUMBER = 7; + private java.util.List<java.lang.Integer> childRefs_; + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public java.util.List<java.lang.Integer> + getChildRefsList() { + return childRefs_; + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public int getChildRefsCount() { + return childRefs_.size(); + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public int getChildRefs(int index) { + return childRefs_.get(index); + } + + public static final int SNAPSHOT_ID_FIELD_NUMBER = 8; + private int snapshotId_; + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public boolean hasSnapshotId() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public int getSnapshotId() { + return snapshotId_; + } + + public static final int UUID_FIELD_NUMBER = 9; + private java.lang.Object uuid_; + /** + * <code>optional string uuid = 9;</code> + */ + public boolean hasUuid() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * <code>optional string uuid = 9;</code> + */ + public java.lang.String getUuid() { + java.lang.Object ref = uuid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + uuid_ = s; + } + return s; + } + } + /** + * <code>optional string uuid = 9;</code> + */ + public com.google.protobuf.ByteString + getUuidBytes() { + java.lang.Object ref = uuid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + ref_ = 0; + path_ = ""; + name_ = ""; + type_ = org.sonar.batch.protocol.Constants.ComponentType.PROJECT; + isTest_ = false; + language_ = ""; + childRefs_ = java.util.Collections.emptyList(); + snapshotId_ = 0; + uuid_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, ref_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getPathBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, getNameBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeEnum(4, type_.getNumber()); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBool(5, isTest_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeBytes(6, getLanguageBytes()); + } + for (int i = 0; i < childRefs_.size(); i++) { + output.writeInt32(7, childRefs_.get(i)); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeInt32(8, snapshotId_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + output.writeBytes(9, getUuidBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, ref_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getPathBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, getNameBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, type_.getNumber()); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, isTest_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(6, getLanguageBytes()); + } + { + int dataSize = 0; + for (int i = 0; i < childRefs_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(childRefs_.get(i)); + } + size += dataSize; + size += 1 * getChildRefsList().size(); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(8, snapshotId_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(9, getUuidBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportComponent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.sonar.batch.protocol.output.BatchOutput.ReportComponent prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ReportComponent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:ReportComponent) + org.sonar.batch.protocol.output.BatchOutput.ReportComponentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportComponent_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportComponent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportComponent.class, org.sonar.batch.protocol.output.BatchOutput.ReportComponent.Builder.class); + } + + // Construct using org.sonar.batch.protocol.output.BatchOutput.ReportComponent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + ref_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + path_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + type_ = org.sonar.batch.protocol.Constants.ComponentType.PROJECT; + bitField0_ = (bitField0_ & ~0x00000008); + isTest_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + language_ = ""; + bitField0_ = (bitField0_ & ~0x00000020); + childRefs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000040); + snapshotId_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + uuid_ = ""; + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportComponent_descriptor; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportComponent getDefaultInstanceForType() { + return org.sonar.batch.protocol.output.BatchOutput.ReportComponent.getDefaultInstance(); + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportComponent build() { + org.sonar.batch.protocol.output.BatchOutput.ReportComponent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportComponent buildPartial() { + org.sonar.batch.protocol.output.BatchOutput.ReportComponent result = new org.sonar.batch.protocol.output.BatchOutput.ReportComponent(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.ref_ = ref_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.path_ = path_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.name_ = name_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.type_ = type_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.isTest_ = isTest_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.language_ = language_; + if (((bitField0_ & 0x00000040) == 0x00000040)) { + childRefs_ = java.util.Collections.unmodifiableList(childRefs_); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.childRefs_ = childRefs_; + if (((from_bitField0_ & 0x00000080) == 0x00000080)) { + to_bitField0_ |= 0x00000040; + } + result.snapshotId_ = snapshotId_; + if (((from_bitField0_ & 0x00000100) == 0x00000100)) { + to_bitField0_ |= 0x00000080; + } + result.uuid_ = uuid_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.sonar.batch.protocol.output.BatchOutput.ReportComponent) { + return mergeFrom((org.sonar.batch.protocol.output.BatchOutput.ReportComponent)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.sonar.batch.protocol.output.BatchOutput.ReportComponent other) { + if (other == org.sonar.batch.protocol.output.BatchOutput.ReportComponent.getDefaultInstance()) return this; + if (other.hasRef()) { + setRef(other.getRef()); + } + if (other.hasPath()) { + bitField0_ |= 0x00000002; + path_ = other.path_; + onChanged(); + } + if (other.hasName()) { + bitField0_ |= 0x00000004; + name_ = other.name_; + onChanged(); + } + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasIsTest()) { + setIsTest(other.getIsTest()); + } + if (other.hasLanguage()) { + bitField0_ |= 0x00000020; + language_ = other.language_; + onChanged(); + } + if (!other.childRefs_.isEmpty()) { + if (childRefs_.isEmpty()) { + childRefs_ = other.childRefs_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureChildRefsIsMutable(); + childRefs_.addAll(other.childRefs_); + } + onChanged(); + } + if (other.hasSnapshotId()) { + setSnapshotId(other.getSnapshotId()); + } + if (other.hasUuid()) { + bitField0_ |= 0x00000100; + uuid_ = other.uuid_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.sonar.batch.protocol.output.BatchOutput.ReportComponent parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.sonar.batch.protocol.output.BatchOutput.ReportComponent) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int ref_ ; + /** + * <code>optional int32 ref = 1;</code> + */ + public boolean hasRef() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 ref = 1;</code> + */ + public int getRef() { + return ref_; + } + /** + * <code>optional int32 ref = 1;</code> + */ + public Builder setRef(int value) { + bitField0_ |= 0x00000001; + ref_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 ref = 1;</code> + */ + public Builder clearRef() { + bitField0_ = (bitField0_ & ~0x00000001); + ref_ = 0; + onChanged(); + return this; + } + + private java.lang.Object path_ = ""; + /** + * <code>optional string path = 2;</code> + */ + public boolean hasPath() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional string path = 2;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string path = 2;</code> + */ + public com.google.protobuf.ByteString + getPathBytes() { + java.lang.Object ref = path_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + path_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string path = 2;</code> + */ + public Builder setPath( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + path_ = value; + onChanged(); + return this; + } + /** + * <code>optional string path = 2;</code> + */ + public Builder clearPath() { + bitField0_ = (bitField0_ & ~0x00000002); + path_ = getDefaultInstance().getPath(); + onChanged(); + return this; + } + /** + * <code>optional string path = 2;</code> + */ + public Builder setPathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + path_ = value; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * <code>optional string name = 3;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>optional string name = 3;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string name = 3;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string name = 3;</code> + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + name_ = value; + onChanged(); + return this; + } + /** + * <code>optional string name = 3;</code> + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000004); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * <code>optional string name = 3;</code> + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + name_ = value; + onChanged(); + return this; + } + + private org.sonar.batch.protocol.Constants.ComponentType type_ = org.sonar.batch.protocol.Constants.ComponentType.PROJECT; + /** + * <code>optional .ComponentType type = 4;</code> + */ + public boolean hasType() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional .ComponentType type = 4;</code> + */ + public org.sonar.batch.protocol.Constants.ComponentType getType() { + return type_; + } + /** + * <code>optional .ComponentType type = 4;</code> + */ + public Builder setType(org.sonar.batch.protocol.Constants.ComponentType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + type_ = value; + onChanged(); + return this; + } + /** + * <code>optional .ComponentType type = 4;</code> + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000008); + type_ = org.sonar.batch.protocol.Constants.ComponentType.PROJECT; + onChanged(); + return this; + } + + private boolean isTest_ ; + /** + * <code>optional bool is_test = 5;</code> + */ + public boolean hasIsTest() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>optional bool is_test = 5;</code> + */ + public boolean getIsTest() { + return isTest_; + } + /** + * <code>optional bool is_test = 5;</code> + */ + public Builder setIsTest(boolean value) { + bitField0_ |= 0x00000010; + isTest_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_test = 5;</code> + */ + public Builder clearIsTest() { + bitField0_ = (bitField0_ & ~0x00000010); + isTest_ = false; + onChanged(); + return this; + } + + private java.lang.Object language_ = ""; + /** + * <code>optional string language = 6;</code> + */ + public boolean hasLanguage() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * <code>optional string language = 6;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string language = 6;</code> + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string language = 6;</code> + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + language_ = value; + onChanged(); + return this; + } + /** + * <code>optional string language = 6;</code> + */ + public Builder clearLanguage() { + bitField0_ = (bitField0_ & ~0x00000020); + language_ = getDefaultInstance().getLanguage(); + onChanged(); + return this; + } + /** + * <code>optional string language = 6;</code> + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + language_ = value; + onChanged(); + return this; + } + + private java.util.List<java.lang.Integer> childRefs_ = java.util.Collections.emptyList(); + private void ensureChildRefsIsMutable() { + if (!((bitField0_ & 0x00000040) == 0x00000040)) { + childRefs_ = new java.util.ArrayList<java.lang.Integer>(childRefs_); + bitField0_ |= 0x00000040; + } + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public java.util.List<java.lang.Integer> + getChildRefsList() { + return java.util.Collections.unmodifiableList(childRefs_); + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public int getChildRefsCount() { + return childRefs_.size(); + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public int getChildRefs(int index) { + return childRefs_.get(index); + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public Builder setChildRefs( + int index, int value) { + ensureChildRefsIsMutable(); + childRefs_.set(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public Builder addChildRefs(int value) { + ensureChildRefsIsMutable(); + childRefs_.add(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public Builder addAllChildRefs( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureChildRefsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, childRefs_); + onChanged(); + return this; + } + /** + * <code>repeated int32 child_refs = 7;</code> + */ + public Builder clearChildRefs() { + childRefs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + private int snapshotId_ ; + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public boolean hasSnapshotId() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public int getSnapshotId() { + return snapshotId_; + } + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public Builder setSnapshotId(int value) { + bitField0_ |= 0x00000080; + snapshotId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 snapshot_id = 8;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public Builder clearSnapshotId() { + bitField0_ = (bitField0_ & ~0x00000080); + snapshotId_ = 0; + onChanged(); + return this; + } + + private java.lang.Object uuid_ = ""; + /** + * <code>optional string uuid = 9;</code> + */ + public boolean hasUuid() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * <code>optional string uuid = 9;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string uuid = 9;</code> + */ + public com.google.protobuf.ByteString + getUuidBytes() { + java.lang.Object ref = uuid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string uuid = 9;</code> + */ + public Builder setUuid( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000100; + uuid_ = value; + onChanged(); + return this; + } + /** + * <code>optional string uuid = 9;</code> + */ + public Builder clearUuid() { + bitField0_ = (bitField0_ & ~0x00000100); + uuid_ = getDefaultInstance().getUuid(); + onChanged(); + return this; + } + /** + * <code>optional string uuid = 9;</code> + */ + public Builder setUuidBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000100; + uuid_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ReportComponent) + } + + static { + defaultInstance = new ReportComponent(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ReportComponent) + } + + public interface ReportIssueOrBuilder extends + // @@protoc_insertion_point(interface_extends:ReportIssue) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional string rule_repository = 1;</code> + */ + boolean hasRuleRepository(); + /** + * <code>optional string rule_repository = 1;</code> + */ + java.lang.String getRuleRepository(); + /** + * <code>optional string rule_repository = 1;</code> + */ + com.google.protobuf.ByteString + getRuleRepositoryBytes(); + + /** + * <code>optional string rule_key = 2;</code> + */ + boolean hasRuleKey(); + /** + * <code>optional string rule_key = 2;</code> + */ + java.lang.String getRuleKey(); + /** + * <code>optional string rule_key = 2;</code> + */ + com.google.protobuf.ByteString + getRuleKeyBytes(); + + /** + * <code>optional int32 line = 3;</code> + */ + boolean hasLine(); + /** + * <code>optional int32 line = 3;</code> + */ + int getLine(); + + /** + * <code>optional string msg = 4;</code> + */ + boolean hasMsg(); + /** + * <code>optional string msg = 4;</code> + */ + java.lang.String getMsg(); + /** + * <code>optional string msg = 4;</code> + */ + com.google.protobuf.ByteString + getMsgBytes(); + + /** + * <code>optional .Severity severity = 5;</code> + */ + boolean hasSeverity(); + /** + * <code>optional .Severity severity = 5;</code> + */ + org.sonar.batch.protocol.Constants.Severity getSeverity(); + + /** + * <code>repeated string tags = 6;</code> + */ + com.google.protobuf.ProtocolStringList + getTagsList(); + /** + * <code>repeated string tags = 6;</code> + */ + int getTagsCount(); + /** + * <code>repeated string tags = 6;</code> + */ + java.lang.String getTags(int index); + /** + * <code>repeated string tags = 6;</code> + */ + com.google.protobuf.ByteString + getTagsBytes(int index); + + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + boolean hasEffortToFix(); + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + double getEffortToFix(); + + /** + * <code>optional bool is_new = 8;</code> + */ + boolean hasIsNew(); + /** + * <code>optional bool is_new = 8;</code> + */ + boolean getIsNew(); + + /** + * <code>optional string uuid = 9;</code> + */ + boolean hasUuid(); + /** + * <code>optional string uuid = 9;</code> + */ + java.lang.String getUuid(); + /** + * <code>optional string uuid = 9;</code> + */ + com.google.protobuf.ByteString + getUuidBytes(); + + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + boolean hasDebtInMinutes(); + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + long getDebtInMinutes(); + + /** + * <code>optional string resolution = 11;</code> + */ + boolean hasResolution(); + /** + * <code>optional string resolution = 11;</code> + */ + java.lang.String getResolution(); + /** + * <code>optional string resolution = 11;</code> + */ + com.google.protobuf.ByteString + getResolutionBytes(); + + /** + * <code>optional string status = 12;</code> + */ + boolean hasStatus(); + /** + * <code>optional string status = 12;</code> + */ + java.lang.String getStatus(); + /** + * <code>optional string status = 12;</code> + */ + com.google.protobuf.ByteString + getStatusBytes(); + + /** + * <code>optional string checksum = 13;</code> + */ + boolean hasChecksum(); + /** + * <code>optional string checksum = 13;</code> + */ + java.lang.String getChecksum(); + /** + * <code>optional string checksum = 13;</code> + */ + com.google.protobuf.ByteString + getChecksumBytes(); + + /** + * <code>optional bool manual_severity = 14;</code> + */ + boolean hasManualSeverity(); + /** + * <code>optional bool manual_severity = 14;</code> + */ + boolean getManualSeverity(); + + /** + * <code>optional string reporter = 15;</code> + */ + boolean hasReporter(); + /** + * <code>optional string reporter = 15;</code> + */ + java.lang.String getReporter(); + /** + * <code>optional string reporter = 15;</code> + */ + com.google.protobuf.ByteString + getReporterBytes(); + + /** + * <code>optional string assignee = 16;</code> + */ + boolean hasAssignee(); + /** + * <code>optional string assignee = 16;</code> + */ + java.lang.String getAssignee(); + /** + * <code>optional string assignee = 16;</code> + */ + com.google.protobuf.ByteString + getAssigneeBytes(); + + /** + * <code>optional string action_plan_key = 17;</code> + */ + boolean hasActionPlanKey(); + /** + * <code>optional string action_plan_key = 17;</code> + */ + java.lang.String getActionPlanKey(); + /** + * <code>optional string action_plan_key = 17;</code> + */ + com.google.protobuf.ByteString + getActionPlanKeyBytes(); + + /** + * <code>optional string attributes = 18;</code> + */ + boolean hasAttributes(); + /** + * <code>optional string attributes = 18;</code> + */ + java.lang.String getAttributes(); + /** + * <code>optional string attributes = 18;</code> + */ + com.google.protobuf.ByteString + getAttributesBytes(); + + /** + * <code>optional string author_login = 19;</code> + */ + boolean hasAuthorLogin(); + /** + * <code>optional string author_login = 19;</code> + */ + java.lang.String getAuthorLogin(); + /** + * <code>optional string author_login = 19;</code> + */ + com.google.protobuf.ByteString + getAuthorLoginBytes(); + + /** + * <code>optional int64 creation_date = 20;</code> + */ + boolean hasCreationDate(); + /** + * <code>optional int64 creation_date = 20;</code> + */ + long getCreationDate(); + + /** + * <code>optional int64 close_date = 21;</code> + */ + boolean hasCloseDate(); + /** + * <code>optional int64 close_date = 21;</code> + */ + long getCloseDate(); + + /** + * <code>optional int64 update_date = 22;</code> + */ + boolean hasUpdateDate(); + /** + * <code>optional int64 update_date = 22;</code> + */ + long getUpdateDate(); + + /** + * <code>optional int64 selected_at = 23;</code> + */ + boolean hasSelectedAt(); + /** + * <code>optional int64 selected_at = 23;</code> + */ + long getSelectedAt(); + + /** + * <code>optional string diff_fields = 24;</code> + */ + boolean hasDiffFields(); + /** + * <code>optional string diff_fields = 24;</code> + */ + java.lang.String getDiffFields(); + /** + * <code>optional string diff_fields = 24;</code> + */ + com.google.protobuf.ByteString + getDiffFieldsBytes(); + + /** + * <code>optional bool is_changed = 25;</code> + */ + boolean hasIsChanged(); + /** + * <code>optional bool is_changed = 25;</code> + */ + boolean getIsChanged(); + + /** + * <code>optional bool must_send_notification = 26;</code> + */ + boolean hasMustSendNotification(); + /** + * <code>optional bool must_send_notification = 26;</code> + */ + boolean getMustSendNotification(); + } + /** + * Protobuf type {@code ReportIssue} + */ + public static final class ReportIssue extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:ReportIssue) + ReportIssueOrBuilder { + // Use ReportIssue.newBuilder() to construct. + private ReportIssue(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ReportIssue(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ReportIssue defaultInstance; + public static ReportIssue getDefaultInstance() { + return defaultInstance; + } + + public ReportIssue getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ReportIssue( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + ruleRepository_ = bs; + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + ruleKey_ = bs; + break; + } + case 24: { + bitField0_ |= 0x00000004; + line_ = input.readInt32(); + break; + } + case 34: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000008; + msg_ = bs; + break; + } + case 40: { + int rawValue = input.readEnum(); + org.sonar.batch.protocol.Constants.Severity value = org.sonar.batch.protocol.Constants.Severity.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(5, rawValue); + } else { + bitField0_ |= 0x00000010; + severity_ = value; + } + break; + } + case 50: { + com.google.protobuf.ByteString bs = input.readBytes(); + if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) { + tags_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000020; + } + tags_.add(bs); + break; + } + case 57: { + bitField0_ |= 0x00000020; + effortToFix_ = input.readDouble(); + break; + } + case 64: { + bitField0_ |= 0x00000040; + isNew_ = input.readBool(); + break; + } + case 74: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000080; + uuid_ = bs; + break; + } + case 80: { + bitField0_ |= 0x00000100; + debtInMinutes_ = input.readInt64(); + break; + } + case 90: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000200; + resolution_ = bs; + break; + } + case 98: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000400; + status_ = bs; + break; + } + case 106: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000800; + checksum_ = bs; + break; + } + case 112: { + bitField0_ |= 0x00001000; + manualSeverity_ = input.readBool(); + break; + } + case 122: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00002000; + reporter_ = bs; + break; + } + case 130: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00004000; + assignee_ = bs; + break; + } + case 138: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00008000; + actionPlanKey_ = bs; + break; + } + case 146: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00010000; + attributes_ = bs; + break; + } + case 154: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00020000; + authorLogin_ = bs; + break; + } + case 160: { + bitField0_ |= 0x00040000; + creationDate_ = input.readInt64(); + break; + } + case 168: { + bitField0_ |= 0x00080000; + closeDate_ = input.readInt64(); + break; + } + case 176: { + bitField0_ |= 0x00100000; + updateDate_ = input.readInt64(); + break; + } + case 184: { + bitField0_ |= 0x00200000; + selectedAt_ = input.readInt64(); + break; + } + case 194: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00400000; + diffFields_ = bs; + break; + } + case 200: { + bitField0_ |= 0x00800000; + isChanged_ = input.readBool(); + break; + } + case 208: { + bitField0_ |= 0x01000000; + mustSendNotification_ = input.readBool(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) { + tags_ = tags_.getUnmodifiableView(); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssue_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportIssue.class, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder.class); + } + + public static com.google.protobuf.Parser<ReportIssue> PARSER = + new com.google.protobuf.AbstractParser<ReportIssue>() { + public ReportIssue parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ReportIssue(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<ReportIssue> getParserForType() { + return PARSER; + } + + private int bitField0_; + public static final int RULE_REPOSITORY_FIELD_NUMBER = 1; + private java.lang.Object ruleRepository_; + /** + * <code>optional string rule_repository = 1;</code> + */ + public boolean hasRuleRepository() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional string rule_repository = 1;</code> + */ + public java.lang.String getRuleRepository() { + java.lang.Object ref = ruleRepository_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + ruleRepository_ = s; + } + return s; + } + } + /** + * <code>optional string rule_repository = 1;</code> + */ + public com.google.protobuf.ByteString + getRuleRepositoryBytes() { + java.lang.Object ref = ruleRepository_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleRepository_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RULE_KEY_FIELD_NUMBER = 2; + private java.lang.Object ruleKey_; + /** + * <code>optional string rule_key = 2;</code> + */ + public boolean hasRuleKey() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional string rule_key = 2;</code> + */ + public java.lang.String getRuleKey() { + java.lang.Object ref = ruleKey_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + ruleKey_ = s; + } + return s; + } + } + /** + * <code>optional string rule_key = 2;</code> + */ + public com.google.protobuf.ByteString + getRuleKeyBytes() { + java.lang.Object ref = ruleKey_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LINE_FIELD_NUMBER = 3; + private int line_; + /** + * <code>optional int32 line = 3;</code> + */ + public boolean hasLine() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>optional int32 line = 3;</code> + */ + public int getLine() { + return line_; + } + + public static final int MSG_FIELD_NUMBER = 4; + private java.lang.Object msg_; + /** + * <code>optional string msg = 4;</code> + */ + public boolean hasMsg() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional string msg = 4;</code> + */ + public java.lang.String getMsg() { + java.lang.Object ref = msg_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + msg_ = s; + } + return s; + } + } + /** + * <code>optional string msg = 4;</code> + */ + public com.google.protobuf.ByteString + getMsgBytes() { + java.lang.Object ref = msg_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + msg_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SEVERITY_FIELD_NUMBER = 5; + private org.sonar.batch.protocol.Constants.Severity severity_; + /** + * <code>optional .Severity severity = 5;</code> + */ + public boolean hasSeverity() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>optional .Severity severity = 5;</code> + */ + public org.sonar.batch.protocol.Constants.Severity getSeverity() { + return severity_; + } + + public static final int TAGS_FIELD_NUMBER = 6; + private com.google.protobuf.LazyStringList tags_; + /** + * <code>repeated string tags = 6;</code> + */ + public com.google.protobuf.ProtocolStringList + getTagsList() { + return tags_; + } + /** + * <code>repeated string tags = 6;</code> + */ + public int getTagsCount() { + return tags_.size(); + } + /** + * <code>repeated string tags = 6;</code> + */ + public java.lang.String getTags(int index) { + return tags_.get(index); + } + /** + * <code>repeated string tags = 6;</code> + */ + public com.google.protobuf.ByteString + getTagsBytes(int index) { + return tags_.getByteString(index); + } + + public static final int EFFORT_TO_FIX_FIELD_NUMBER = 7; + private double effortToFix_; + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public boolean hasEffortToFix() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public double getEffortToFix() { + return effortToFix_; + } + + public static final int IS_NEW_FIELD_NUMBER = 8; + private boolean isNew_; + /** + * <code>optional bool is_new = 8;</code> + */ + public boolean hasIsNew() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * <code>optional bool is_new = 8;</code> + */ + public boolean getIsNew() { + return isNew_; + } + + public static final int UUID_FIELD_NUMBER = 9; + private java.lang.Object uuid_; + /** + * <code>optional string uuid = 9;</code> + */ + public boolean hasUuid() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * <code>optional string uuid = 9;</code> + */ + public java.lang.String getUuid() { + java.lang.Object ref = uuid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + uuid_ = s; + } + return s; + } + } + /** + * <code>optional string uuid = 9;</code> + */ + public com.google.protobuf.ByteString + getUuidBytes() { + java.lang.Object ref = uuid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DEBT_IN_MINUTES_FIELD_NUMBER = 10; + private long debtInMinutes_; + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + public boolean hasDebtInMinutes() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + public long getDebtInMinutes() { + return debtInMinutes_; + } + + public static final int RESOLUTION_FIELD_NUMBER = 11; + private java.lang.Object resolution_; + /** + * <code>optional string resolution = 11;</code> + */ + public boolean hasResolution() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * <code>optional string resolution = 11;</code> + */ + public java.lang.String getResolution() { + java.lang.Object ref = resolution_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + resolution_ = s; + } + return s; + } + } + /** + * <code>optional string resolution = 11;</code> + */ + public com.google.protobuf.ByteString + getResolutionBytes() { + java.lang.Object ref = resolution_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resolution_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STATUS_FIELD_NUMBER = 12; + private java.lang.Object status_; + /** + * <code>optional string status = 12;</code> + */ + public boolean hasStatus() { + return ((bitField0_ & 0x00000400) == 0x00000400); + } + /** + * <code>optional string status = 12;</code> + */ + public java.lang.String getStatus() { + java.lang.Object ref = status_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + status_ = s; + } + return s; + } + } + /** + * <code>optional string status = 12;</code> + */ + public com.google.protobuf.ByteString + getStatusBytes() { + java.lang.Object ref = status_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + status_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CHECKSUM_FIELD_NUMBER = 13; + private java.lang.Object checksum_; + /** + * <code>optional string checksum = 13;</code> + */ + public boolean hasChecksum() { + return ((bitField0_ & 0x00000800) == 0x00000800); + } + /** + * <code>optional string checksum = 13;</code> + */ + public java.lang.String getChecksum() { + java.lang.Object ref = checksum_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + checksum_ = s; + } + return s; + } + } + /** + * <code>optional string checksum = 13;</code> + */ + public com.google.protobuf.ByteString + getChecksumBytes() { + java.lang.Object ref = checksum_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + checksum_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MANUAL_SEVERITY_FIELD_NUMBER = 14; + private boolean manualSeverity_; + /** + * <code>optional bool manual_severity = 14;</code> + */ + public boolean hasManualSeverity() { + return ((bitField0_ & 0x00001000) == 0x00001000); + } + /** + * <code>optional bool manual_severity = 14;</code> + */ + public boolean getManualSeverity() { + return manualSeverity_; + } + + public static final int REPORTER_FIELD_NUMBER = 15; + private java.lang.Object reporter_; + /** + * <code>optional string reporter = 15;</code> + */ + public boolean hasReporter() { + return ((bitField0_ & 0x00002000) == 0x00002000); + } + /** + * <code>optional string reporter = 15;</code> + */ + public java.lang.String getReporter() { + java.lang.Object ref = reporter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + reporter_ = s; + } + return s; + } + } + /** + * <code>optional string reporter = 15;</code> + */ + public com.google.protobuf.ByteString + getReporterBytes() { + java.lang.Object ref = reporter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + reporter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ASSIGNEE_FIELD_NUMBER = 16; + private java.lang.Object assignee_; + /** + * <code>optional string assignee = 16;</code> + */ + public boolean hasAssignee() { + return ((bitField0_ & 0x00004000) == 0x00004000); + } + /** + * <code>optional string assignee = 16;</code> + */ + public java.lang.String getAssignee() { + java.lang.Object ref = assignee_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + assignee_ = s; + } + return s; + } + } + /** + * <code>optional string assignee = 16;</code> + */ + public com.google.protobuf.ByteString + getAssigneeBytes() { + java.lang.Object ref = assignee_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + assignee_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ACTION_PLAN_KEY_FIELD_NUMBER = 17; + private java.lang.Object actionPlanKey_; + /** + * <code>optional string action_plan_key = 17;</code> + */ + public boolean hasActionPlanKey() { + return ((bitField0_ & 0x00008000) == 0x00008000); + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + public java.lang.String getActionPlanKey() { + java.lang.Object ref = actionPlanKey_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + actionPlanKey_ = s; + } + return s; + } + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + public com.google.protobuf.ByteString + getActionPlanKeyBytes() { + java.lang.Object ref = actionPlanKey_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + actionPlanKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ATTRIBUTES_FIELD_NUMBER = 18; + private java.lang.Object attributes_; + /** + * <code>optional string attributes = 18;</code> + */ + public boolean hasAttributes() { + return ((bitField0_ & 0x00010000) == 0x00010000); + } + /** + * <code>optional string attributes = 18;</code> + */ + public java.lang.String getAttributes() { + java.lang.Object ref = attributes_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + attributes_ = s; + } + return s; + } + } + /** + * <code>optional string attributes = 18;</code> + */ + public com.google.protobuf.ByteString + getAttributesBytes() { + java.lang.Object ref = attributes_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + attributes_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int AUTHOR_LOGIN_FIELD_NUMBER = 19; + private java.lang.Object authorLogin_; + /** + * <code>optional string author_login = 19;</code> + */ + public boolean hasAuthorLogin() { + return ((bitField0_ & 0x00020000) == 0x00020000); + } + /** + * <code>optional string author_login = 19;</code> + */ + public java.lang.String getAuthorLogin() { + java.lang.Object ref = authorLogin_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + authorLogin_ = s; + } + return s; + } + } + /** + * <code>optional string author_login = 19;</code> + */ + public com.google.protobuf.ByteString + getAuthorLoginBytes() { + java.lang.Object ref = authorLogin_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + authorLogin_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CREATION_DATE_FIELD_NUMBER = 20; + private long creationDate_; + /** + * <code>optional int64 creation_date = 20;</code> + */ + public boolean hasCreationDate() { + return ((bitField0_ & 0x00040000) == 0x00040000); + } + /** + * <code>optional int64 creation_date = 20;</code> + */ + public long getCreationDate() { + return creationDate_; + } + + public static final int CLOSE_DATE_FIELD_NUMBER = 21; + private long closeDate_; + /** + * <code>optional int64 close_date = 21;</code> + */ + public boolean hasCloseDate() { + return ((bitField0_ & 0x00080000) == 0x00080000); + } + /** + * <code>optional int64 close_date = 21;</code> + */ + public long getCloseDate() { + return closeDate_; + } + + public static final int UPDATE_DATE_FIELD_NUMBER = 22; + private long updateDate_; + /** + * <code>optional int64 update_date = 22;</code> + */ + public boolean hasUpdateDate() { + return ((bitField0_ & 0x00100000) == 0x00100000); + } + /** + * <code>optional int64 update_date = 22;</code> + */ + public long getUpdateDate() { + return updateDate_; + } + + public static final int SELECTED_AT_FIELD_NUMBER = 23; + private long selectedAt_; + /** + * <code>optional int64 selected_at = 23;</code> + */ + public boolean hasSelectedAt() { + return ((bitField0_ & 0x00200000) == 0x00200000); + } + /** + * <code>optional int64 selected_at = 23;</code> + */ + public long getSelectedAt() { + return selectedAt_; + } + + public static final int DIFF_FIELDS_FIELD_NUMBER = 24; + private java.lang.Object diffFields_; + /** + * <code>optional string diff_fields = 24;</code> + */ + public boolean hasDiffFields() { + return ((bitField0_ & 0x00400000) == 0x00400000); + } + /** + * <code>optional string diff_fields = 24;</code> + */ + public java.lang.String getDiffFields() { + java.lang.Object ref = diffFields_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + diffFields_ = s; + } + return s; + } + } + /** + * <code>optional string diff_fields = 24;</code> + */ + public com.google.protobuf.ByteString + getDiffFieldsBytes() { + java.lang.Object ref = diffFields_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + diffFields_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int IS_CHANGED_FIELD_NUMBER = 25; + private boolean isChanged_; + /** + * <code>optional bool is_changed = 25;</code> + */ + public boolean hasIsChanged() { + return ((bitField0_ & 0x00800000) == 0x00800000); + } + /** + * <code>optional bool is_changed = 25;</code> + */ + public boolean getIsChanged() { + return isChanged_; + } + + public static final int MUST_SEND_NOTIFICATION_FIELD_NUMBER = 26; + private boolean mustSendNotification_; + /** + * <code>optional bool must_send_notification = 26;</code> + */ + public boolean hasMustSendNotification() { + return ((bitField0_ & 0x01000000) == 0x01000000); + } + /** + * <code>optional bool must_send_notification = 26;</code> + */ + public boolean getMustSendNotification() { + return mustSendNotification_; + } + + private void initFields() { + ruleRepository_ = ""; + ruleKey_ = ""; + line_ = 0; + msg_ = ""; + severity_ = org.sonar.batch.protocol.Constants.Severity.INFO; + tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + effortToFix_ = 0D; + isNew_ = false; + uuid_ = ""; + debtInMinutes_ = 0L; + resolution_ = ""; + status_ = ""; + checksum_ = ""; + manualSeverity_ = false; + reporter_ = ""; + assignee_ = ""; + actionPlanKey_ = ""; + attributes_ = ""; + authorLogin_ = ""; + creationDate_ = 0L; + closeDate_ = 0L; + updateDate_ = 0L; + selectedAt_ = 0L; + diffFields_ = ""; + isChanged_ = false; + mustSendNotification_ = false; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getRuleRepositoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getRuleKeyBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(3, line_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBytes(4, getMsgBytes()); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeEnum(5, severity_.getNumber()); + } + for (int i = 0; i < tags_.size(); i++) { + output.writeBytes(6, tags_.getByteString(i)); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeDouble(7, effortToFix_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeBool(8, isNew_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + output.writeBytes(9, getUuidBytes()); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + output.writeInt64(10, debtInMinutes_); + } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + output.writeBytes(11, getResolutionBytes()); + } + if (((bitField0_ & 0x00000400) == 0x00000400)) { + output.writeBytes(12, getStatusBytes()); + } + if (((bitField0_ & 0x00000800) == 0x00000800)) { + output.writeBytes(13, getChecksumBytes()); + } + if (((bitField0_ & 0x00001000) == 0x00001000)) { + output.writeBool(14, manualSeverity_); + } + if (((bitField0_ & 0x00002000) == 0x00002000)) { + output.writeBytes(15, getReporterBytes()); + } + if (((bitField0_ & 0x00004000) == 0x00004000)) { + output.writeBytes(16, getAssigneeBytes()); + } + if (((bitField0_ & 0x00008000) == 0x00008000)) { + output.writeBytes(17, getActionPlanKeyBytes()); + } + if (((bitField0_ & 0x00010000) == 0x00010000)) { + output.writeBytes(18, getAttributesBytes()); + } + if (((bitField0_ & 0x00020000) == 0x00020000)) { + output.writeBytes(19, getAuthorLoginBytes()); + } + if (((bitField0_ & 0x00040000) == 0x00040000)) { + output.writeInt64(20, creationDate_); + } + if (((bitField0_ & 0x00080000) == 0x00080000)) { + output.writeInt64(21, closeDate_); + } + if (((bitField0_ & 0x00100000) == 0x00100000)) { + output.writeInt64(22, updateDate_); + } + if (((bitField0_ & 0x00200000) == 0x00200000)) { + output.writeInt64(23, selectedAt_); + } + if (((bitField0_ & 0x00400000) == 0x00400000)) { + output.writeBytes(24, getDiffFieldsBytes()); + } + if (((bitField0_ & 0x00800000) == 0x00800000)) { + output.writeBool(25, isChanged_); + } + if (((bitField0_ & 0x01000000) == 0x01000000)) { + output.writeBool(26, mustSendNotification_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getRuleRepositoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getRuleKeyBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, line_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(4, getMsgBytes()); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, severity_.getNumber()); + } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeBytesSizeNoTag(tags_.getByteString(i)); + } + size += dataSize; + size += 1 * getTagsList().size(); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(7, effortToFix_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(8, isNew_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(9, getUuidBytes()); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(10, debtInMinutes_); + } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(11, getResolutionBytes()); + } + if (((bitField0_ & 0x00000400) == 0x00000400)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(12, getStatusBytes()); + } + if (((bitField0_ & 0x00000800) == 0x00000800)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(13, getChecksumBytes()); + } + if (((bitField0_ & 0x00001000) == 0x00001000)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(14, manualSeverity_); + } + if (((bitField0_ & 0x00002000) == 0x00002000)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(15, getReporterBytes()); + } + if (((bitField0_ & 0x00004000) == 0x00004000)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(16, getAssigneeBytes()); + } + if (((bitField0_ & 0x00008000) == 0x00008000)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(17, getActionPlanKeyBytes()); + } + if (((bitField0_ & 0x00010000) == 0x00010000)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(18, getAttributesBytes()); + } + if (((bitField0_ & 0x00020000) == 0x00020000)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(19, getAuthorLoginBytes()); + } + if (((bitField0_ & 0x00040000) == 0x00040000)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(20, creationDate_); + } + if (((bitField0_ & 0x00080000) == 0x00080000)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(21, closeDate_); + } + if (((bitField0_ & 0x00100000) == 0x00100000)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(22, updateDate_); + } + if (((bitField0_ & 0x00200000) == 0x00200000)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(23, selectedAt_); + } + if (((bitField0_ & 0x00400000) == 0x00400000)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(24, getDiffFieldsBytes()); + } + if (((bitField0_ & 0x00800000) == 0x00800000)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(25, isChanged_); + } + if (((bitField0_ & 0x01000000) == 0x01000000)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(26, mustSendNotification_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssue parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.sonar.batch.protocol.output.BatchOutput.ReportIssue prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ReportIssue} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:ReportIssue) + org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssue_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportIssue.class, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder.class); + } + + // Construct using org.sonar.batch.protocol.output.BatchOutput.ReportIssue.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + ruleRepository_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + ruleKey_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + line_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + msg_ = ""; + bitField0_ = (bitField0_ & ~0x00000008); + severity_ = org.sonar.batch.protocol.Constants.Severity.INFO; + bitField0_ = (bitField0_ & ~0x00000010); + tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000020); + effortToFix_ = 0D; + bitField0_ = (bitField0_ & ~0x00000040); + isNew_ = false; + bitField0_ = (bitField0_ & ~0x00000080); + uuid_ = ""; + bitField0_ = (bitField0_ & ~0x00000100); + debtInMinutes_ = 0L; + bitField0_ = (bitField0_ & ~0x00000200); + resolution_ = ""; + bitField0_ = (bitField0_ & ~0x00000400); + status_ = ""; + bitField0_ = (bitField0_ & ~0x00000800); + checksum_ = ""; + bitField0_ = (bitField0_ & ~0x00001000); + manualSeverity_ = false; + bitField0_ = (bitField0_ & ~0x00002000); + reporter_ = ""; + bitField0_ = (bitField0_ & ~0x00004000); + assignee_ = ""; + bitField0_ = (bitField0_ & ~0x00008000); + actionPlanKey_ = ""; + bitField0_ = (bitField0_ & ~0x00010000); + attributes_ = ""; + bitField0_ = (bitField0_ & ~0x00020000); + authorLogin_ = ""; + bitField0_ = (bitField0_ & ~0x00040000); + creationDate_ = 0L; + bitField0_ = (bitField0_ & ~0x00080000); + closeDate_ = 0L; + bitField0_ = (bitField0_ & ~0x00100000); + updateDate_ = 0L; + bitField0_ = (bitField0_ & ~0x00200000); + selectedAt_ = 0L; + bitField0_ = (bitField0_ & ~0x00400000); + diffFields_ = ""; + bitField0_ = (bitField0_ & ~0x00800000); + isChanged_ = false; + bitField0_ = (bitField0_ & ~0x01000000); + mustSendNotification_ = false; + bitField0_ = (bitField0_ & ~0x02000000); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssue_descriptor; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue getDefaultInstanceForType() { + return org.sonar.batch.protocol.output.BatchOutput.ReportIssue.getDefaultInstance(); + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue build() { + org.sonar.batch.protocol.output.BatchOutput.ReportIssue result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue buildPartial() { + org.sonar.batch.protocol.output.BatchOutput.ReportIssue result = new org.sonar.batch.protocol.output.BatchOutput.ReportIssue(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.ruleRepository_ = ruleRepository_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.ruleKey_ = ruleKey_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.line_ = line_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.msg_ = msg_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.severity_ = severity_; + if (((bitField0_ & 0x00000020) == 0x00000020)) { + tags_ = tags_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.tags_ = tags_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000020; + } + result.effortToFix_ = effortToFix_; + if (((from_bitField0_ & 0x00000080) == 0x00000080)) { + to_bitField0_ |= 0x00000040; + } + result.isNew_ = isNew_; + if (((from_bitField0_ & 0x00000100) == 0x00000100)) { + to_bitField0_ |= 0x00000080; + } + result.uuid_ = uuid_; + if (((from_bitField0_ & 0x00000200) == 0x00000200)) { + to_bitField0_ |= 0x00000100; + } + result.debtInMinutes_ = debtInMinutes_; + if (((from_bitField0_ & 0x00000400) == 0x00000400)) { + to_bitField0_ |= 0x00000200; + } + result.resolution_ = resolution_; + if (((from_bitField0_ & 0x00000800) == 0x00000800)) { + to_bitField0_ |= 0x00000400; + } + result.status_ = status_; + if (((from_bitField0_ & 0x00001000) == 0x00001000)) { + to_bitField0_ |= 0x00000800; + } + result.checksum_ = checksum_; + if (((from_bitField0_ & 0x00002000) == 0x00002000)) { + to_bitField0_ |= 0x00001000; + } + result.manualSeverity_ = manualSeverity_; + if (((from_bitField0_ & 0x00004000) == 0x00004000)) { + to_bitField0_ |= 0x00002000; + } + result.reporter_ = reporter_; + if (((from_bitField0_ & 0x00008000) == 0x00008000)) { + to_bitField0_ |= 0x00004000; + } + result.assignee_ = assignee_; + if (((from_bitField0_ & 0x00010000) == 0x00010000)) { + to_bitField0_ |= 0x00008000; + } + result.actionPlanKey_ = actionPlanKey_; + if (((from_bitField0_ & 0x00020000) == 0x00020000)) { + to_bitField0_ |= 0x00010000; + } + result.attributes_ = attributes_; + if (((from_bitField0_ & 0x00040000) == 0x00040000)) { + to_bitField0_ |= 0x00020000; + } + result.authorLogin_ = authorLogin_; + if (((from_bitField0_ & 0x00080000) == 0x00080000)) { + to_bitField0_ |= 0x00040000; + } + result.creationDate_ = creationDate_; + if (((from_bitField0_ & 0x00100000) == 0x00100000)) { + to_bitField0_ |= 0x00080000; + } + result.closeDate_ = closeDate_; + if (((from_bitField0_ & 0x00200000) == 0x00200000)) { + to_bitField0_ |= 0x00100000; + } + result.updateDate_ = updateDate_; + if (((from_bitField0_ & 0x00400000) == 0x00400000)) { + to_bitField0_ |= 0x00200000; + } + result.selectedAt_ = selectedAt_; + if (((from_bitField0_ & 0x00800000) == 0x00800000)) { + to_bitField0_ |= 0x00400000; + } + result.diffFields_ = diffFields_; + if (((from_bitField0_ & 0x01000000) == 0x01000000)) { + to_bitField0_ |= 0x00800000; + } + result.isChanged_ = isChanged_; + if (((from_bitField0_ & 0x02000000) == 0x02000000)) { + to_bitField0_ |= 0x01000000; + } + result.mustSendNotification_ = mustSendNotification_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.sonar.batch.protocol.output.BatchOutput.ReportIssue) { + return mergeFrom((org.sonar.batch.protocol.output.BatchOutput.ReportIssue)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.sonar.batch.protocol.output.BatchOutput.ReportIssue other) { + if (other == org.sonar.batch.protocol.output.BatchOutput.ReportIssue.getDefaultInstance()) return this; + if (other.hasRuleRepository()) { + bitField0_ |= 0x00000001; + ruleRepository_ = other.ruleRepository_; + onChanged(); + } + if (other.hasRuleKey()) { + bitField0_ |= 0x00000002; + ruleKey_ = other.ruleKey_; + onChanged(); + } + if (other.hasLine()) { + setLine(other.getLine()); + } + if (other.hasMsg()) { + bitField0_ |= 0x00000008; + msg_ = other.msg_; + onChanged(); + } + if (other.hasSeverity()) { + setSeverity(other.getSeverity()); + } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + if (other.hasEffortToFix()) { + setEffortToFix(other.getEffortToFix()); + } + if (other.hasIsNew()) { + setIsNew(other.getIsNew()); + } + if (other.hasUuid()) { + bitField0_ |= 0x00000100; + uuid_ = other.uuid_; + onChanged(); + } + if (other.hasDebtInMinutes()) { + setDebtInMinutes(other.getDebtInMinutes()); + } + if (other.hasResolution()) { + bitField0_ |= 0x00000400; + resolution_ = other.resolution_; + onChanged(); + } + if (other.hasStatus()) { + bitField0_ |= 0x00000800; + status_ = other.status_; + onChanged(); + } + if (other.hasChecksum()) { + bitField0_ |= 0x00001000; + checksum_ = other.checksum_; + onChanged(); + } + if (other.hasManualSeverity()) { + setManualSeverity(other.getManualSeverity()); + } + if (other.hasReporter()) { + bitField0_ |= 0x00004000; + reporter_ = other.reporter_; + onChanged(); + } + if (other.hasAssignee()) { + bitField0_ |= 0x00008000; + assignee_ = other.assignee_; + onChanged(); + } + if (other.hasActionPlanKey()) { + bitField0_ |= 0x00010000; + actionPlanKey_ = other.actionPlanKey_; + onChanged(); + } + if (other.hasAttributes()) { + bitField0_ |= 0x00020000; + attributes_ = other.attributes_; + onChanged(); + } + if (other.hasAuthorLogin()) { + bitField0_ |= 0x00040000; + authorLogin_ = other.authorLogin_; + onChanged(); + } + if (other.hasCreationDate()) { + setCreationDate(other.getCreationDate()); + } + if (other.hasCloseDate()) { + setCloseDate(other.getCloseDate()); + } + if (other.hasUpdateDate()) { + setUpdateDate(other.getUpdateDate()); + } + if (other.hasSelectedAt()) { + setSelectedAt(other.getSelectedAt()); + } + if (other.hasDiffFields()) { + bitField0_ |= 0x00800000; + diffFields_ = other.diffFields_; + onChanged(); + } + if (other.hasIsChanged()) { + setIsChanged(other.getIsChanged()); + } + if (other.hasMustSendNotification()) { + setMustSendNotification(other.getMustSendNotification()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.sonar.batch.protocol.output.BatchOutput.ReportIssue parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.sonar.batch.protocol.output.BatchOutput.ReportIssue) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object ruleRepository_ = ""; + /** + * <code>optional string rule_repository = 1;</code> + */ + public boolean hasRuleRepository() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional string rule_repository = 1;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string rule_repository = 1;</code> + */ + public com.google.protobuf.ByteString + getRuleRepositoryBytes() { + java.lang.Object ref = ruleRepository_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleRepository_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string rule_repository = 1;</code> + */ + public Builder setRuleRepository( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + ruleRepository_ = value; + onChanged(); + return this; + } + /** + * <code>optional string rule_repository = 1;</code> + */ + public Builder clearRuleRepository() { + bitField0_ = (bitField0_ & ~0x00000001); + ruleRepository_ = getDefaultInstance().getRuleRepository(); + onChanged(); + return this; + } + /** + * <code>optional string rule_repository = 1;</code> + */ + public Builder setRuleRepositoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + ruleRepository_ = value; + onChanged(); + return this; + } + + private java.lang.Object ruleKey_ = ""; + /** + * <code>optional string rule_key = 2;</code> + */ + public boolean hasRuleKey() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional string rule_key = 2;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string rule_key = 2;</code> + */ + public com.google.protobuf.ByteString + getRuleKeyBytes() { + java.lang.Object ref = ruleKey_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string rule_key = 2;</code> + */ + public Builder setRuleKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + ruleKey_ = value; + onChanged(); + return this; + } + /** + * <code>optional string rule_key = 2;</code> + */ + public Builder clearRuleKey() { + bitField0_ = (bitField0_ & ~0x00000002); + ruleKey_ = getDefaultInstance().getRuleKey(); + onChanged(); + return this; + } + /** + * <code>optional string rule_key = 2;</code> + */ + public Builder setRuleKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + ruleKey_ = value; + onChanged(); + return this; + } + + private int line_ ; + /** + * <code>optional int32 line = 3;</code> + */ + public boolean hasLine() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>optional int32 line = 3;</code> + */ + public int getLine() { + return line_; + } + /** + * <code>optional int32 line = 3;</code> + */ + public Builder setLine(int value) { + bitField0_ |= 0x00000004; + line_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 line = 3;</code> + */ + public Builder clearLine() { + bitField0_ = (bitField0_ & ~0x00000004); + line_ = 0; + onChanged(); + return this; + } + + private java.lang.Object msg_ = ""; + /** + * <code>optional string msg = 4;</code> + */ + public boolean hasMsg() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional string msg = 4;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string msg = 4;</code> + */ + public com.google.protobuf.ByteString + getMsgBytes() { + java.lang.Object ref = msg_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + msg_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string msg = 4;</code> + */ + public Builder setMsg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + msg_ = value; + onChanged(); + return this; + } + /** + * <code>optional string msg = 4;</code> + */ + public Builder clearMsg() { + bitField0_ = (bitField0_ & ~0x00000008); + msg_ = getDefaultInstance().getMsg(); + onChanged(); + return this; + } + /** + * <code>optional string msg = 4;</code> + */ + public Builder setMsgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + msg_ = value; + onChanged(); + return this; + } + + private org.sonar.batch.protocol.Constants.Severity severity_ = org.sonar.batch.protocol.Constants.Severity.INFO; + /** + * <code>optional .Severity severity = 5;</code> + */ + public boolean hasSeverity() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>optional .Severity severity = 5;</code> + */ + public org.sonar.batch.protocol.Constants.Severity getSeverity() { + return severity_; + } + /** + * <code>optional .Severity severity = 5;</code> + */ + public Builder setSeverity(org.sonar.batch.protocol.Constants.Severity value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + severity_ = value; + onChanged(); + return this; + } + /** + * <code>optional .Severity severity = 5;</code> + */ + public Builder clearSeverity() { + bitField0_ = (bitField0_ & ~0x00000010); + severity_ = org.sonar.batch.protocol.Constants.Severity.INFO; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureTagsIsMutable() { + if (!((bitField0_ & 0x00000020) == 0x00000020)) { + tags_ = new com.google.protobuf.LazyStringArrayList(tags_); + bitField0_ |= 0x00000020; + } + } + /** + * <code>repeated string tags = 6;</code> + */ + public com.google.protobuf.ProtocolStringList + getTagsList() { + return tags_.getUnmodifiableView(); + } + /** + * <code>repeated string tags = 6;</code> + */ + public int getTagsCount() { + return tags_.size(); + } + /** + * <code>repeated string tags = 6;</code> + */ + public java.lang.String getTags(int index) { + return tags_.get(index); + } + /** + * <code>repeated string tags = 6;</code> + */ + public com.google.protobuf.ByteString + getTagsBytes(int index) { + return tags_.getByteString(index); + } + /** + * <code>repeated string tags = 6;</code> + */ + public Builder setTags( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.set(index, value); + onChanged(); + return this; + } + /** + * <code>repeated string tags = 6;</code> + */ + public Builder addTags( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.add(value); + onChanged(); + return this; + } + /** + * <code>repeated string tags = 6;</code> + */ + public Builder addAllTags( + java.lang.Iterable<java.lang.String> values) { + ensureTagsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, tags_); + onChanged(); + return this; + } + /** + * <code>repeated string tags = 6;</code> + */ + public Builder clearTags() { + tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + /** + * <code>repeated string tags = 6;</code> + */ + public Builder addTagsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.add(value); + onChanged(); + return this; + } + + private double effortToFix_ ; + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public boolean hasEffortToFix() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public double getEffortToFix() { + return effortToFix_; + } + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public Builder setEffortToFix(double value) { + bitField0_ |= 0x00000040; + effortToFix_ = value; + onChanged(); + return this; + } + /** + * <code>optional double effort_to_fix = 7;</code> + * + * <pre> + * temporary fields during development of computation stack + * </pre> + */ + public Builder clearEffortToFix() { + bitField0_ = (bitField0_ & ~0x00000040); + effortToFix_ = 0D; + onChanged(); + return this; + } + + private boolean isNew_ ; + /** + * <code>optional bool is_new = 8;</code> + */ + public boolean hasIsNew() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * <code>optional bool is_new = 8;</code> + */ + public boolean getIsNew() { + return isNew_; + } + /** + * <code>optional bool is_new = 8;</code> + */ + public Builder setIsNew(boolean value) { + bitField0_ |= 0x00000080; + isNew_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_new = 8;</code> + */ + public Builder clearIsNew() { + bitField0_ = (bitField0_ & ~0x00000080); + isNew_ = false; + onChanged(); + return this; + } + + private java.lang.Object uuid_ = ""; + /** + * <code>optional string uuid = 9;</code> + */ + public boolean hasUuid() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * <code>optional string uuid = 9;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string uuid = 9;</code> + */ + public com.google.protobuf.ByteString + getUuidBytes() { + java.lang.Object ref = uuid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string uuid = 9;</code> + */ + public Builder setUuid( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000100; + uuid_ = value; + onChanged(); + return this; + } + /** + * <code>optional string uuid = 9;</code> + */ + public Builder clearUuid() { + bitField0_ = (bitField0_ & ~0x00000100); + uuid_ = getDefaultInstance().getUuid(); + onChanged(); + return this; + } + /** + * <code>optional string uuid = 9;</code> + */ + public Builder setUuidBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000100; + uuid_ = value; + onChanged(); + return this; + } + + private long debtInMinutes_ ; + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + public boolean hasDebtInMinutes() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + public long getDebtInMinutes() { + return debtInMinutes_; + } + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + public Builder setDebtInMinutes(long value) { + bitField0_ |= 0x00000200; + debtInMinutes_ = value; + onChanged(); + return this; + } + /** + * <code>optional int64 debt_in_minutes = 10;</code> + */ + public Builder clearDebtInMinutes() { + bitField0_ = (bitField0_ & ~0x00000200); + debtInMinutes_ = 0L; + onChanged(); + return this; + } + + private java.lang.Object resolution_ = ""; + /** + * <code>optional string resolution = 11;</code> + */ + public boolean hasResolution() { + return ((bitField0_ & 0x00000400) == 0x00000400); + } + /** + * <code>optional string resolution = 11;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string resolution = 11;</code> + */ + public com.google.protobuf.ByteString + getResolutionBytes() { + java.lang.Object ref = resolution_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resolution_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string resolution = 11;</code> + */ + public Builder setResolution( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000400; + resolution_ = value; + onChanged(); + return this; + } + /** + * <code>optional string resolution = 11;</code> + */ + public Builder clearResolution() { + bitField0_ = (bitField0_ & ~0x00000400); + resolution_ = getDefaultInstance().getResolution(); + onChanged(); + return this; + } + /** + * <code>optional string resolution = 11;</code> + */ + public Builder setResolutionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000400; + resolution_ = value; + onChanged(); + return this; + } + + private java.lang.Object status_ = ""; + /** + * <code>optional string status = 12;</code> + */ + public boolean hasStatus() { + return ((bitField0_ & 0x00000800) == 0x00000800); + } + /** + * <code>optional string status = 12;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string status = 12;</code> + */ + public com.google.protobuf.ByteString + getStatusBytes() { + java.lang.Object ref = status_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + status_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string status = 12;</code> + */ + public Builder setStatus( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000800; + status_ = value; + onChanged(); + return this; + } + /** + * <code>optional string status = 12;</code> + */ + public Builder clearStatus() { + bitField0_ = (bitField0_ & ~0x00000800); + status_ = getDefaultInstance().getStatus(); + onChanged(); + return this; + } + /** + * <code>optional string status = 12;</code> + */ + public Builder setStatusBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000800; + status_ = value; + onChanged(); + return this; + } + + private java.lang.Object checksum_ = ""; + /** + * <code>optional string checksum = 13;</code> + */ + public boolean hasChecksum() { + return ((bitField0_ & 0x00001000) == 0x00001000); + } + /** + * <code>optional string checksum = 13;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string checksum = 13;</code> + */ + public com.google.protobuf.ByteString + getChecksumBytes() { + java.lang.Object ref = checksum_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + checksum_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string checksum = 13;</code> + */ + public Builder setChecksum( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00001000; + checksum_ = value; + onChanged(); + return this; + } + /** + * <code>optional string checksum = 13;</code> + */ + public Builder clearChecksum() { + bitField0_ = (bitField0_ & ~0x00001000); + checksum_ = getDefaultInstance().getChecksum(); + onChanged(); + return this; + } + /** + * <code>optional string checksum = 13;</code> + */ + public Builder setChecksumBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00001000; + checksum_ = value; + onChanged(); + return this; + } + + private boolean manualSeverity_ ; + /** + * <code>optional bool manual_severity = 14;</code> + */ + public boolean hasManualSeverity() { + return ((bitField0_ & 0x00002000) == 0x00002000); + } + /** + * <code>optional bool manual_severity = 14;</code> + */ + public boolean getManualSeverity() { + return manualSeverity_; + } + /** + * <code>optional bool manual_severity = 14;</code> + */ + public Builder setManualSeverity(boolean value) { + bitField0_ |= 0x00002000; + manualSeverity_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool manual_severity = 14;</code> + */ + public Builder clearManualSeverity() { + bitField0_ = (bitField0_ & ~0x00002000); + manualSeverity_ = false; + onChanged(); + return this; + } + + private java.lang.Object reporter_ = ""; + /** + * <code>optional string reporter = 15;</code> + */ + public boolean hasReporter() { + return ((bitField0_ & 0x00004000) == 0x00004000); + } + /** + * <code>optional string reporter = 15;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string reporter = 15;</code> + */ + public com.google.protobuf.ByteString + getReporterBytes() { + java.lang.Object ref = reporter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + reporter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string reporter = 15;</code> + */ + public Builder setReporter( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00004000; + reporter_ = value; + onChanged(); + return this; + } + /** + * <code>optional string reporter = 15;</code> + */ + public Builder clearReporter() { + bitField0_ = (bitField0_ & ~0x00004000); + reporter_ = getDefaultInstance().getReporter(); + onChanged(); + return this; + } + /** + * <code>optional string reporter = 15;</code> + */ + public Builder setReporterBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00004000; + reporter_ = value; + onChanged(); + return this; + } + + private java.lang.Object assignee_ = ""; + /** + * <code>optional string assignee = 16;</code> + */ + public boolean hasAssignee() { + return ((bitField0_ & 0x00008000) == 0x00008000); + } + /** + * <code>optional string assignee = 16;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string assignee = 16;</code> + */ + public com.google.protobuf.ByteString + getAssigneeBytes() { + java.lang.Object ref = assignee_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + assignee_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string assignee = 16;</code> + */ + public Builder setAssignee( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00008000; + assignee_ = value; + onChanged(); + return this; + } + /** + * <code>optional string assignee = 16;</code> + */ + public Builder clearAssignee() { + bitField0_ = (bitField0_ & ~0x00008000); + assignee_ = getDefaultInstance().getAssignee(); + onChanged(); + return this; + } + /** + * <code>optional string assignee = 16;</code> + */ + public Builder setAssigneeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00008000; + assignee_ = value; + onChanged(); + return this; + } + + private java.lang.Object actionPlanKey_ = ""; + /** + * <code>optional string action_plan_key = 17;</code> + */ + public boolean hasActionPlanKey() { + return ((bitField0_ & 0x00010000) == 0x00010000); + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + public com.google.protobuf.ByteString + getActionPlanKeyBytes() { + java.lang.Object ref = actionPlanKey_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + actionPlanKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + public Builder setActionPlanKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00010000; + actionPlanKey_ = value; + onChanged(); + return this; + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + public Builder clearActionPlanKey() { + bitField0_ = (bitField0_ & ~0x00010000); + actionPlanKey_ = getDefaultInstance().getActionPlanKey(); + onChanged(); + return this; + } + /** + * <code>optional string action_plan_key = 17;</code> + */ + public Builder setActionPlanKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00010000; + actionPlanKey_ = value; + onChanged(); + return this; + } + + private java.lang.Object attributes_ = ""; + /** + * <code>optional string attributes = 18;</code> + */ + public boolean hasAttributes() { + return ((bitField0_ & 0x00020000) == 0x00020000); + } + /** + * <code>optional string attributes = 18;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string attributes = 18;</code> + */ + public com.google.protobuf.ByteString + getAttributesBytes() { + java.lang.Object ref = attributes_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + attributes_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string attributes = 18;</code> + */ + public Builder setAttributes( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00020000; + attributes_ = value; + onChanged(); + return this; + } + /** + * <code>optional string attributes = 18;</code> + */ + public Builder clearAttributes() { + bitField0_ = (bitField0_ & ~0x00020000); + attributes_ = getDefaultInstance().getAttributes(); + onChanged(); + return this; + } + /** + * <code>optional string attributes = 18;</code> + */ + public Builder setAttributesBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00020000; + attributes_ = value; + onChanged(); + return this; + } + + private java.lang.Object authorLogin_ = ""; + /** + * <code>optional string author_login = 19;</code> + */ + public boolean hasAuthorLogin() { + return ((bitField0_ & 0x00040000) == 0x00040000); + } + /** + * <code>optional string author_login = 19;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string author_login = 19;</code> + */ + public com.google.protobuf.ByteString + getAuthorLoginBytes() { + java.lang.Object ref = authorLogin_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + authorLogin_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string author_login = 19;</code> + */ + public Builder setAuthorLogin( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00040000; + authorLogin_ = value; + onChanged(); + return this; + } + /** + * <code>optional string author_login = 19;</code> + */ + public Builder clearAuthorLogin() { + bitField0_ = (bitField0_ & ~0x00040000); + authorLogin_ = getDefaultInstance().getAuthorLogin(); + onChanged(); + return this; + } + /** + * <code>optional string author_login = 19;</code> + */ + public Builder setAuthorLoginBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00040000; + authorLogin_ = value; + onChanged(); + return this; + } + + private long creationDate_ ; + /** + * <code>optional int64 creation_date = 20;</code> + */ + public boolean hasCreationDate() { + return ((bitField0_ & 0x00080000) == 0x00080000); + } + /** + * <code>optional int64 creation_date = 20;</code> + */ + public long getCreationDate() { + return creationDate_; + } + /** + * <code>optional int64 creation_date = 20;</code> + */ + public Builder setCreationDate(long value) { + bitField0_ |= 0x00080000; + creationDate_ = value; + onChanged(); + return this; + } + /** + * <code>optional int64 creation_date = 20;</code> + */ + public Builder clearCreationDate() { + bitField0_ = (bitField0_ & ~0x00080000); + creationDate_ = 0L; + onChanged(); + return this; + } + + private long closeDate_ ; + /** + * <code>optional int64 close_date = 21;</code> + */ + public boolean hasCloseDate() { + return ((bitField0_ & 0x00100000) == 0x00100000); + } + /** + * <code>optional int64 close_date = 21;</code> + */ + public long getCloseDate() { + return closeDate_; + } + /** + * <code>optional int64 close_date = 21;</code> + */ + public Builder setCloseDate(long value) { + bitField0_ |= 0x00100000; + closeDate_ = value; + onChanged(); + return this; + } + /** + * <code>optional int64 close_date = 21;</code> + */ + public Builder clearCloseDate() { + bitField0_ = (bitField0_ & ~0x00100000); + closeDate_ = 0L; + onChanged(); + return this; + } + + private long updateDate_ ; + /** + * <code>optional int64 update_date = 22;</code> + */ + public boolean hasUpdateDate() { + return ((bitField0_ & 0x00200000) == 0x00200000); + } + /** + * <code>optional int64 update_date = 22;</code> + */ + public long getUpdateDate() { + return updateDate_; + } + /** + * <code>optional int64 update_date = 22;</code> + */ + public Builder setUpdateDate(long value) { + bitField0_ |= 0x00200000; + updateDate_ = value; + onChanged(); + return this; + } + /** + * <code>optional int64 update_date = 22;</code> + */ + public Builder clearUpdateDate() { + bitField0_ = (bitField0_ & ~0x00200000); + updateDate_ = 0L; + onChanged(); + return this; + } + + private long selectedAt_ ; + /** + * <code>optional int64 selected_at = 23;</code> + */ + public boolean hasSelectedAt() { + return ((bitField0_ & 0x00400000) == 0x00400000); + } + /** + * <code>optional int64 selected_at = 23;</code> + */ + public long getSelectedAt() { + return selectedAt_; + } + /** + * <code>optional int64 selected_at = 23;</code> + */ + public Builder setSelectedAt(long value) { + bitField0_ |= 0x00400000; + selectedAt_ = value; + onChanged(); + return this; + } + /** + * <code>optional int64 selected_at = 23;</code> + */ + public Builder clearSelectedAt() { + bitField0_ = (bitField0_ & ~0x00400000); + selectedAt_ = 0L; + onChanged(); + return this; + } + + private java.lang.Object diffFields_ = ""; + /** + * <code>optional string diff_fields = 24;</code> + */ + public boolean hasDiffFields() { + return ((bitField0_ & 0x00800000) == 0x00800000); + } + /** + * <code>optional string diff_fields = 24;</code> + */ + 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; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string diff_fields = 24;</code> + */ + public com.google.protobuf.ByteString + getDiffFieldsBytes() { + java.lang.Object ref = diffFields_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + diffFields_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string diff_fields = 24;</code> + */ + public Builder setDiffFields( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00800000; + diffFields_ = value; + onChanged(); + return this; + } + /** + * <code>optional string diff_fields = 24;</code> + */ + public Builder clearDiffFields() { + bitField0_ = (bitField0_ & ~0x00800000); + diffFields_ = getDefaultInstance().getDiffFields(); + onChanged(); + return this; + } + /** + * <code>optional string diff_fields = 24;</code> + */ + public Builder setDiffFieldsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00800000; + diffFields_ = value; + onChanged(); + return this; + } + + private boolean isChanged_ ; + /** + * <code>optional bool is_changed = 25;</code> + */ + public boolean hasIsChanged() { + return ((bitField0_ & 0x01000000) == 0x01000000); + } + /** + * <code>optional bool is_changed = 25;</code> + */ + public boolean getIsChanged() { + return isChanged_; + } + /** + * <code>optional bool is_changed = 25;</code> + */ + public Builder setIsChanged(boolean value) { + bitField0_ |= 0x01000000; + isChanged_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_changed = 25;</code> + */ + public Builder clearIsChanged() { + bitField0_ = (bitField0_ & ~0x01000000); + isChanged_ = false; + onChanged(); + return this; + } + + private boolean mustSendNotification_ ; + /** + * <code>optional bool must_send_notification = 26;</code> + */ + public boolean hasMustSendNotification() { + return ((bitField0_ & 0x02000000) == 0x02000000); + } + /** + * <code>optional bool must_send_notification = 26;</code> + */ + public boolean getMustSendNotification() { + return mustSendNotification_; + } + /** + * <code>optional bool must_send_notification = 26;</code> + */ + public Builder setMustSendNotification(boolean value) { + bitField0_ |= 0x02000000; + mustSendNotification_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool must_send_notification = 26;</code> + */ + public Builder clearMustSendNotification() { + bitField0_ = (bitField0_ & ~0x02000000); + mustSendNotification_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ReportIssue) + } + + static { + defaultInstance = new ReportIssue(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ReportIssue) + } + + public interface ReportIssuesOrBuilder extends + // @@protoc_insertion_point(interface_extends:ReportIssues) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 component_ref = 1;</code> + */ + boolean hasComponentRef(); + /** + * <code>optional int32 component_ref = 1;</code> + */ + int getComponentRef(); + + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + java.util.List<org.sonar.batch.protocol.output.BatchOutput.ReportIssue> + getListList(); + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + org.sonar.batch.protocol.output.BatchOutput.ReportIssue getList(int index); + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + int getListCount(); + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + java.util.List<? extends org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder> + getListOrBuilderList(); + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder getListOrBuilder( + int index); + } + /** + * Protobuf type {@code ReportIssues} + */ + public static final class ReportIssues extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:ReportIssues) + ReportIssuesOrBuilder { + // Use ReportIssues.newBuilder() to construct. + private ReportIssues(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ReportIssues(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ReportIssues defaultInstance; + public static ReportIssues getDefaultInstance() { + return defaultInstance; + } + + public ReportIssues getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ReportIssues( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + componentRef_ = input.readInt32(); + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + list_ = new java.util.ArrayList<org.sonar.batch.protocol.output.BatchOutput.ReportIssue>(); + mutable_bitField0_ |= 0x00000002; + } + list_.add(input.readMessage(org.sonar.batch.protocol.output.BatchOutput.ReportIssue.PARSER, extensionRegistry)); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + list_ = java.util.Collections.unmodifiableList(list_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssues_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssues_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportIssues.class, org.sonar.batch.protocol.output.BatchOutput.ReportIssues.Builder.class); + } + + public static com.google.protobuf.Parser<ReportIssues> PARSER = + new com.google.protobuf.AbstractParser<ReportIssues>() { + public ReportIssues parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ReportIssues(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<ReportIssues> getParserForType() { + return PARSER; + } + + private int bitField0_; + public static final int COMPONENT_REF_FIELD_NUMBER = 1; + private int componentRef_; + /** + * <code>optional int32 component_ref = 1;</code> + */ + public boolean hasComponentRef() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 component_ref = 1;</code> + */ + public int getComponentRef() { + return componentRef_; + } + + public static final int LIST_FIELD_NUMBER = 2; + private java.util.List<org.sonar.batch.protocol.output.BatchOutput.ReportIssue> list_; + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public java.util.List<org.sonar.batch.protocol.output.BatchOutput.ReportIssue> getListList() { + return list_; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public java.util.List<? extends org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder> + getListOrBuilderList() { + return list_; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public int getListCount() { + return list_.size(); + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue getList(int index) { + return list_.get(index); + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder getListOrBuilder( + int index) { + return list_.get(index); + } + + private void initFields() { + componentRef_ = 0; + list_ = java.util.Collections.emptyList(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, componentRef_); + } + for (int i = 0; i < list_.size(); i++) { + output.writeMessage(2, list_.get(i)); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, componentRef_); + } + for (int i = 0; i < list_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, list_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.sonar.batch.protocol.output.BatchOutput.ReportIssues parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.sonar.batch.protocol.output.BatchOutput.ReportIssues prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ReportIssues} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:ReportIssues) + org.sonar.batch.protocol.output.BatchOutput.ReportIssuesOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssues_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssues_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.sonar.batch.protocol.output.BatchOutput.ReportIssues.class, org.sonar.batch.protocol.output.BatchOutput.ReportIssues.Builder.class); + } + + // Construct using org.sonar.batch.protocol.output.BatchOutput.ReportIssues.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getListFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + componentRef_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + if (listBuilder_ == null) { + list_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + listBuilder_.clear(); + } + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.sonar.batch.protocol.output.BatchOutput.internal_static_ReportIssues_descriptor; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportIssues getDefaultInstanceForType() { + return org.sonar.batch.protocol.output.BatchOutput.ReportIssues.getDefaultInstance(); + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportIssues build() { + org.sonar.batch.protocol.output.BatchOutput.ReportIssues result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.sonar.batch.protocol.output.BatchOutput.ReportIssues buildPartial() { + org.sonar.batch.protocol.output.BatchOutput.ReportIssues result = new org.sonar.batch.protocol.output.BatchOutput.ReportIssues(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.componentRef_ = componentRef_; + if (listBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { + list_ = java.util.Collections.unmodifiableList(list_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.list_ = list_; + } else { + result.list_ = listBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.sonar.batch.protocol.output.BatchOutput.ReportIssues) { + return mergeFrom((org.sonar.batch.protocol.output.BatchOutput.ReportIssues)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.sonar.batch.protocol.output.BatchOutput.ReportIssues other) { + if (other == org.sonar.batch.protocol.output.BatchOutput.ReportIssues.getDefaultInstance()) return this; + if (other.hasComponentRef()) { + setComponentRef(other.getComponentRef()); + } + if (listBuilder_ == null) { + if (!other.list_.isEmpty()) { + if (list_.isEmpty()) { + list_ = other.list_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureListIsMutable(); + list_.addAll(other.list_); + } + onChanged(); + } + } else { + if (!other.list_.isEmpty()) { + if (listBuilder_.isEmpty()) { + listBuilder_.dispose(); + listBuilder_ = null; + list_ = other.list_; + bitField0_ = (bitField0_ & ~0x00000002); + listBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getListFieldBuilder() : null; + } else { + listBuilder_.addAllMessages(other.list_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.sonar.batch.protocol.output.BatchOutput.ReportIssues parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.sonar.batch.protocol.output.BatchOutput.ReportIssues) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int componentRef_ ; + /** + * <code>optional int32 component_ref = 1;</code> + */ + public boolean hasComponentRef() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 component_ref = 1;</code> + */ + public int getComponentRef() { + return componentRef_; + } + /** + * <code>optional int32 component_ref = 1;</code> + */ + public Builder setComponentRef(int value) { + bitField0_ |= 0x00000001; + componentRef_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 component_ref = 1;</code> + */ + public Builder clearComponentRef() { + bitField0_ = (bitField0_ & ~0x00000001); + componentRef_ = 0; + onChanged(); + return this; + } + + private java.util.List<org.sonar.batch.protocol.output.BatchOutput.ReportIssue> list_ = + java.util.Collections.emptyList(); + private void ensureListIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + list_ = new java.util.ArrayList<org.sonar.batch.protocol.output.BatchOutput.ReportIssue>(list_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.sonar.batch.protocol.output.BatchOutput.ReportIssue, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder, org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder> listBuilder_; + + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public java.util.List<org.sonar.batch.protocol.output.BatchOutput.ReportIssue> getListList() { + if (listBuilder_ == null) { + return java.util.Collections.unmodifiableList(list_); + } else { + return listBuilder_.getMessageList(); + } + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public int getListCount() { + if (listBuilder_ == null) { + return list_.size(); + } else { + return listBuilder_.getCount(); + } + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue getList(int index) { + if (listBuilder_ == null) { + return list_.get(index); + } else { + return listBuilder_.getMessage(index); + } + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder setList( + int index, org.sonar.batch.protocol.output.BatchOutput.ReportIssue value) { + if (listBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureListIsMutable(); + list_.set(index, value); + onChanged(); + } else { + listBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder setList( + int index, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder builderForValue) { + if (listBuilder_ == null) { + ensureListIsMutable(); + list_.set(index, builderForValue.build()); + onChanged(); + } else { + listBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder addList(org.sonar.batch.protocol.output.BatchOutput.ReportIssue value) { + if (listBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureListIsMutable(); + list_.add(value); + onChanged(); + } else { + listBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder addList( + int index, org.sonar.batch.protocol.output.BatchOutput.ReportIssue value) { + if (listBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureListIsMutable(); + list_.add(index, value); + onChanged(); + } else { + listBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder addList( + org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder builderForValue) { + if (listBuilder_ == null) { + ensureListIsMutable(); + list_.add(builderForValue.build()); + onChanged(); + } else { + listBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder addList( + int index, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder builderForValue) { + if (listBuilder_ == null) { + ensureListIsMutable(); + list_.add(index, builderForValue.build()); + onChanged(); + } else { + listBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder addAllList( + java.lang.Iterable<? extends org.sonar.batch.protocol.output.BatchOutput.ReportIssue> values) { + if (listBuilder_ == null) { + ensureListIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, list_); + onChanged(); + } else { + listBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder clearList() { + if (listBuilder_ == null) { + list_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + listBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public Builder removeList(int index) { + if (listBuilder_ == null) { + ensureListIsMutable(); + list_.remove(index); + onChanged(); + } else { + listBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder getListBuilder( + int index) { + return getListFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder getListOrBuilder( + int index) { + if (listBuilder_ == null) { + return list_.get(index); } else { + return listBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public java.util.List<? extends org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder> + getListOrBuilderList() { + if (listBuilder_ != null) { + return listBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(list_); + } + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder addListBuilder() { + return getListFieldBuilder().addBuilder( + org.sonar.batch.protocol.output.BatchOutput.ReportIssue.getDefaultInstance()); + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder addListBuilder( + int index) { + return getListFieldBuilder().addBuilder( + index, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.getDefaultInstance()); + } + /** + * <code>repeated .ReportIssue list = 2;</code> + */ + public java.util.List<org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder> + getListBuilderList() { + return getListFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.sonar.batch.protocol.output.BatchOutput.ReportIssue, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder, org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder> + getListFieldBuilder() { + if (listBuilder_ == null) { + listBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.sonar.batch.protocol.output.BatchOutput.ReportIssue, org.sonar.batch.protocol.output.BatchOutput.ReportIssue.Builder, org.sonar.batch.protocol.output.BatchOutput.ReportIssueOrBuilder>( + list_, + ((bitField0_ & 0x00000002) == 0x00000002), + getParentForChildren(), + isClean()); + list_ = null; + } + return listBuilder_; + } + + // @@protoc_insertion_point(builder_scope:ReportIssues) + } + + static { + defaultInstance = new ReportIssues(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ReportIssues) + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_ReportMetadata_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ReportMetadata_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_ReportComponent_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ReportComponent_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_ReportIssue_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ReportIssue_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_ReportIssues_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ReportIssues_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\022batch_output.proto\032\017constants.proto\"X\n" + + "\016ReportMetadata\022\025\n\ranalysis_date\030\001 \001(\003\022\023" + + "\n\013project_key\030\002 \001(\t\022\032\n\022root_component_re" + + "f\030\003 \001(\005\"\262\001\n\017ReportComponent\022\013\n\003ref\030\001 \001(\005" + + "\022\014\n\004path\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022\034\n\004type\030\004 \001" + + "(\0162\016.ComponentType\022\017\n\007is_test\030\005 \001(\010\022\020\n\010l" + + "anguage\030\006 \001(\t\022\022\n\nchild_refs\030\007 \003(\005\022\023\n\013sna" + + "pshot_id\030\010 \001(\005\022\014\n\004uuid\030\t \001(\t\"\240\004\n\013ReportI" + + "ssue\022\027\n\017rule_repository\030\001 \001(\t\022\020\n\010rule_ke" + + "y\030\002 \001(\t\022\014\n\004line\030\003 \001(\005\022\013\n\003msg\030\004 \001(\t\022\033\n\010se", + "verity\030\005 \001(\0162\t.Severity\022\014\n\004tags\030\006 \003(\t\022\025\n" + + "\reffort_to_fix\030\007 \001(\001\022\016\n\006is_new\030\010 \001(\010\022\014\n\004" + + "uuid\030\t \001(\t\022\027\n\017debt_in_minutes\030\n \001(\003\022\022\n\nr" + + "esolution\030\013 \001(\t\022\016\n\006status\030\014 \001(\t\022\020\n\010check" + + "sum\030\r \001(\t\022\027\n\017manual_severity\030\016 \001(\010\022\020\n\010re" + + "porter\030\017 \001(\t\022\020\n\010assignee\030\020 \001(\t\022\027\n\017action" + + "_plan_key\030\021 \001(\t\022\022\n\nattributes\030\022 \001(\t\022\024\n\014a" + + "uthor_login\030\023 \001(\t\022\025\n\rcreation_date\030\024 \001(\003" + + "\022\022\n\nclose_date\030\025 \001(\003\022\023\n\013update_date\030\026 \001(" + + "\003\022\023\n\013selected_at\030\027 \001(\003\022\023\n\013diff_fields\030\030 ", + "\001(\t\022\022\n\nis_changed\030\031 \001(\010\022\036\n\026must_send_not" + + "ification\030\032 \001(\010\"A\n\014ReportIssues\022\025\n\rcompo" + + "nent_ref\030\001 \001(\005\022\032\n\004list\030\002 \003(\0132\014.ReportIss" + + "ueB#\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; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + org.sonar.batch.protocol.Constants.getDescriptor(), + }, assigner); + internal_static_ReportMetadata_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_ReportMetadata_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ReportMetadata_descriptor, + new java.lang.String[] { "AnalysisDate", "ProjectKey", "RootComponentRef", }); + internal_static_ReportComponent_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_ReportComponent_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ReportComponent_descriptor, + new java.lang.String[] { "Ref", "Path", "Name", "Type", "IsTest", "Language", "ChildRefs", "SnapshotId", "Uuid", }); + internal_static_ReportIssue_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_ReportIssue_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ReportIssue_descriptor, + new java.lang.String[] { "RuleRepository", "RuleKey", "Line", "Msg", "Severity", "Tags", "EffortToFix", "IsNew", "Uuid", "DebtInMinutes", "Resolution", "Status", "Checksum", "ManualSeverity", "Reporter", "Assignee", "ActionPlanKey", "Attributes", "AuthorLogin", "CreationDate", "CloseDate", "UpdateDate", "SelectedAt", "DiffFields", "IsChanged", "MustSendNotification", }); + internal_static_ReportIssues_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_ReportIssues_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ReportIssues_descriptor, + new java.lang.String[] { "ComponentRef", "List", }); + org.sonar.batch.protocol.Constants.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java new file mode 100644 index 00000000000..8d7d5a671d4 --- /dev/null +++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java @@ -0,0 +1,54 @@ +/* + * 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.protocol; + +import com.google.protobuf.Message; +import com.google.protobuf.Parser; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +public class ProtobufUtil { + private ProtobufUtil() { + // only static stuff + } + + public static <T extends Message> T readFile(File file, Parser<T> parser) { + try (InputStream input = new BufferedInputStream(new FileInputStream(file))) { + return parser.parseFrom(input); + } catch (IOException e) { + throw new IllegalStateException("Failed to read file: " + file, e); + } + } + + public static void writeToFile(Message message, File toFile) { + try (OutputStream out = new BufferedOutputStream(new FileOutputStream(toFile, false))) { + message.writeTo(out); + } catch (IOException e) { + throw new IllegalStateException("Unable to write protocol buffer data to file " + toFile, e); + } + } +} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchOutputReader.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchOutputReader.java new file mode 100644 index 00000000000..fe5799b19ba --- /dev/null +++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchOutputReader.java @@ -0,0 +1,62 @@ +/* + * 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.protocol.output; + +import org.sonar.batch.protocol.ProtobufUtil; + +import javax.annotation.CheckForNull; +import java.io.File; +import java.util.Collections; + +public class BatchOutputReader { + + private final FileStructure fileStructure; + + public BatchOutputReader(File dir) { + this.fileStructure = new FileStructure(dir); + } + + public BatchOutput.ReportMetadata readMetadata() { + File file = fileStructure.metadataFile(); + if (!file.exists() || !file.isFile()) { + throw new IllegalStateException("Metadata file is missing in analysis report: " + file); + } + return ProtobufUtil.readFile(file, BatchOutput.ReportMetadata.PARSER); + } + + @CheckForNull + public BatchOutput.ReportComponent readComponent(int componentRef) { + File file = fileStructure.fileFor(FileStructure.Domain.COMPONENT, componentRef); + if (file.exists() && file.isFile()) { + return ProtobufUtil.readFile(file, BatchOutput.ReportComponent.PARSER); + } + return null; + } + + public Iterable<BatchOutput.ReportIssue> readComponentIssues(int componentRef) { + File file = fileStructure.fileFor(FileStructure.Domain.ISSUES, componentRef); + if (file.exists() && file.isFile()) { + // all the issues are loaded in memory + BatchOutput.ReportIssues issues = ProtobufUtil.readFile(file, BatchOutput.ReportIssues.PARSER); + return issues.getListList(); + } + return Collections.emptyList(); + } +} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchOutputWriter.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchOutputWriter.java new file mode 100644 index 00000000000..746ff600109 --- /dev/null +++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchOutputWriter.java @@ -0,0 +1,65 @@ +/* + * 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.protocol.output; + +import org.sonar.batch.protocol.ProtobufUtil; + +import java.io.File; + +public class BatchOutputWriter { + + private final FileStructure fileStructure; + + public BatchOutputWriter(File dir) { + if (!dir.exists() && !dir.mkdirs()) { + throw new IllegalStateException("Unable to create directory: " + dir); + } + this.fileStructure = new FileStructure(dir); + } + + FileStructure getFileStructure() { + return fileStructure; + } + + public boolean hasComponentData(FileStructure.Domain domain, int componentRef) { + File file = fileStructure.fileFor(domain, componentRef); + return file.exists() && file.isFile(); + } + + /** + * Metadata is mandatory + */ + public void writeMetadata(BatchOutput.ReportMetadata metadata) { + ProtobufUtil.writeToFile(metadata, fileStructure.metadataFile()); + } + + public void writeComponent(BatchOutput.ReportComponent component) { + File file = fileStructure.fileFor(FileStructure.Domain.COMPONENT, component.getRef()); + ProtobufUtil.writeToFile(component, file); + } + + public void writeComponentIssues(int componentRef, Iterable<BatchOutput.ReportIssue> issues) { + BatchOutput.ReportIssues.Builder issuesBuilder = BatchOutput.ReportIssues.newBuilder(); + issuesBuilder.setComponentRef(componentRef); + issuesBuilder.addAllList(issues); + File file = fileStructure.fileFor(FileStructure.Domain.ISSUES, componentRef); + ProtobufUtil.writeToFile(issuesBuilder.build(), file); + } +} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/ReportComponents.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/FileStructure.java index 5ee00eee71c..5e2d51b26ce 100644 --- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/ReportComponents.java +++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/FileStructure.java @@ -17,41 +17,40 @@ * 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.protocol.output.component; +package org.sonar.batch.protocol.output; -import org.sonar.batch.protocol.GsonHelper; +import java.io.File; -import java.util.Date; - -public class ReportComponents { +/** + * Structure of files in the zipped report + */ +public class FileStructure { - private Date analysisDate; + public static enum Domain { + ISSUES("issues-"), COMPONENT("component-"); - private ReportComponent root; + private final String filePrefix; - public void setAnalysisDate(Date analysisDate) { - this.analysisDate = analysisDate; + Domain(String filePrefix) { + this.filePrefix = filePrefix; + } } - public Date analysisDate() { - return analysisDate; - } - - public ReportComponents setRoot(ReportComponent r) { - this.root = r; - return this; - } + private final File dir; - public ReportComponent root() { - return root; + FileStructure(File dir) { + if (!dir.exists() || !dir.isDirectory()) { + throw new IllegalArgumentException("Directory of analysis report does not exist: " + dir); + } + this.dir = dir; } - public String toJson() { - return GsonHelper.create().toJson(this); + public File metadataFile() { + return new File(dir, "metadata.pb"); } - public static ReportComponents fromJson(String json) { - return GsonHelper.create().fromJson(json, ReportComponents.class); + public File fileFor(Domain domain, int componentRef) { + return new File(dir, domain.filePrefix + componentRef + ".pb"); } } diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/ReportHelper.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/ReportHelper.java deleted file mode 100644 index 3bb134df2a0..00000000000 --- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/ReportHelper.java +++ /dev/null @@ -1,170 +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.protocol.output; - -import com.google.gson.Gson; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import org.apache.commons.io.Charsets; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.sonar.batch.protocol.GsonHelper; -import org.sonar.batch.protocol.output.component.ReportComponents; -import org.sonar.batch.protocol.output.issue.ReportIssue; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.util.Iterator; -import java.util.NoSuchElementException; - -public class ReportHelper { - - private static final String COMPONENTS_JSON = "components.json"; - private final File reportRootDir; - private final Gson gson = GsonHelper.create(); - - private ReportHelper(File reportRootDir) { - this.reportRootDir = reportRootDir; - } - - public static ReportHelper create(File workDirectory) { - if (!workDirectory.exists() && !workDirectory.mkdirs()) { - throw new IllegalStateException("Unable to create directory " + workDirectory); - } - return new ReportHelper(workDirectory); - } - - public File reportRootDir() { - return reportRootDir; - } - - public void saveComponents(ReportComponents components) { - File resourcesFile = new File(reportRootDir, COMPONENTS_JSON); - try { - FileUtils.write(resourcesFile, components.toJson()); - } catch (IOException e) { - throw new IllegalStateException("Unable to write components", e); - } - } - - public void saveIssues(long componentBatchId, Iterable<ReportIssue> issues) { - File issuesFile = getIssuesFile(componentBatchId); - try (OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(issuesFile)), "UTF-8")) { - - JsonWriter writer = new JsonWriter(out); - writer.setIndent(" "); - writer.beginArray(); - for (ReportIssue reportIssue : issues) { - gson.toJson(reportIssue, ReportIssue.class, writer); - } - writer.endArray(); - writer.close(); - } catch (IOException e) { - throw new IllegalStateException("Unable to save issues", e); - } - } - - private File getIssuesFile(long componentBatchId) { - return new File(getComponentFolder(componentBatchId), "issues-" + componentBatchId + ".json"); - } - - private File getComponentFolder(long componentBatchId) { - File folder = new File(reportRootDir, Long.toString(componentBatchId)); - if (!folder.exists() && !folder.mkdir()) { - throw new IllegalStateException("Unable to create directory " + folder); - } - return folder; - } - - public ReportComponents getComponents() { - File file = new File(reportRootDir, COMPONENTS_JSON); - - try (InputStream resourcesStream = new FileInputStream(file)) { - String json = IOUtils.toString(resourcesStream); - return ReportComponents.fromJson(json); - } catch (IOException e) { - throw new IllegalStateException("Failed to read issues", e); - } - } - - public Iterable<ReportIssue> getIssues(final long componentBatchId) { - - return new Iterable<ReportIssue>() { - @Override - public Iterator<ReportIssue> iterator() { - return new ReportIssueIterator(getIssuesFile(componentBatchId)); - } - }; - } - - private final class ReportIssueIterator implements Iterator<ReportIssue> { - - private JsonReader reader; - - public ReportIssueIterator(File issuesFile) { - try { - reader = new JsonReader(new InputStreamReader(new BufferedInputStream(new FileInputStream(issuesFile)), Charsets.UTF_8)); - reader.beginArray(); - } catch (IOException e) { - throw new IllegalStateException("Unable to read " + issuesFile, e); - } - } - - @Override - public boolean hasNext() { - try { - if (reader.hasNext()) { - return true; - } - reader.endArray(); - reader.close(); - return false; - } catch (IOException e) { - IOUtils.closeQuietly(reader); - throw new IllegalStateException("Unable to iterate over JSON file ", e); - } - } - - @Override - public ReportIssue next() { - try { - if (!reader.hasNext()) { - throw new NoSuchElementException(); - } - } catch (IOException e) { - throw new IllegalStateException("Unable to iterate over JSON file ", e); - } - return gson.fromJson(reader, ReportIssue.class); - } - - @Override - public void remove() { - throw new UnsupportedOperationException("remove"); - } - } - -} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/ReportComponent.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/ReportComponent.java deleted file mode 100644 index 37768d82401..00000000000 --- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/ReportComponent.java +++ /dev/null @@ -1,154 +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.protocol.output.component; - -import javax.annotation.CheckForNull; -import javax.annotation.Nullable; - -import java.util.ArrayList; -import java.util.Collection; - -public class ReportComponent { - - public enum Type { - PRJ, - MOD, - DIR, - FIL, - VIEW, - SUBVIEW - } - - private long batchId; - private int id; - private int snapshotId; - private String path; - private String name; - private String uuid; - private Type type; - // Only for files - private Boolean isTest; - private String languageKey; - - private Collection<ReportComponent> children = new ArrayList<ReportComponent>(); - - public ReportComponent setBatchId(long batchId) { - this.batchId = batchId; - return this; - } - - public long batchId() { - return batchId; - } - - public ReportComponent setId(int id) { - this.id = id; - return this; - } - - public int id() { - return id; - } - - public ReportComponent setSnapshotId(int snapshotId) { - this.snapshotId = snapshotId; - return this; - } - - public int snapshotId() { - return snapshotId; - } - - public ReportComponent setPath(String path) { - this.path = path; - return this; - } - - public String path() { - return path; - } - - public ReportComponent setUuid(String s) { - this.uuid = s; - return this; - } - - public String uuid() { - return uuid; - } - - public ReportComponent setName(@Nullable String name) { - this.name = name; - return this; - } - - /** - * @return null for files and directories since it is the same as the path - */ - @CheckForNull - public String name() { - return name; - } - - public ReportComponent setType(Type type) { - this.type = type; - return this; - } - - public Type type() { - return type; - } - - public ReportComponent setTest(@Nullable Boolean isTest) { - this.isTest = isTest; - return this; - } - - /** - * @return null when not a file - */ - @CheckForNull - public Boolean isTest() { - return isTest; - } - - public ReportComponent setLanguageKey(@Nullable String languageKey) { - this.languageKey = languageKey; - return this; - } - - /** - * @return null when not a file - */ - @CheckForNull - public String languageKey() { - return languageKey; - } - - public ReportComponent addChild(ReportComponent child) { - this.children.add(child); - return this; - } - - public Collection<ReportComponent> children() { - return children; - } - -} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/package-info.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/package-info.java deleted file mode 100644 index 7e8017af61e..00000000000 --- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/component/package-info.java +++ /dev/null @@ -1,24 +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. - */ -@ParametersAreNonnullByDefault -package org.sonar.batch.protocol.output.component; - -import javax.annotation.ParametersAreNonnullByDefault; - diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/issue/ReportIssue.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/issue/ReportIssue.java deleted file mode 100644 index 23d62dbf23a..00000000000 --- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/issue/ReportIssue.java +++ /dev/null @@ -1,298 +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.protocol.output.issue; - -import javax.annotation.Nullable; - -import java.util.Collection; -import java.util.Date; - -public class ReportIssue { - - private Long componentBatchId; - private String ruleKey; - private String ruleRepo; - private Integer line; - private String message; - private Double effortToFix; - private String severity; - private Collection<String> tags; - - // Temporary fields that should be removed when aggregation/issue tracking is done by computation - private boolean isNew; - private String key; - private Long debtInMinutes; - private String resolution; - private String status; - private String checksum; - private boolean manualSeverity; - private String reporter; - private String assignee; - private String actionPlanKey; - private String attributes; - private String authorLogin; - private Date creationDate; - private Date closeDate; - private Date updateDate; - private Long selectedAt; - private String diffFields; - private boolean isChanged; - private boolean mustSendNotification; - - - public ReportIssue setKey(String key) { - this.key = key; - return this; - } - - public String key() { - return key; - } - - public ReportIssue setComponentBatchId(@Nullable Long resourceBatchId) { - this.componentBatchId = resourceBatchId; - return this; - } - - public Long componentBatchId() { - return componentBatchId; - } - - public ReportIssue setNew(boolean isNew) { - this.isNew = isNew; - return this; - } - - public boolean isNew() { - return isNew; - } - - public ReportIssue setLine(Integer line) { - this.line = line; - return this; - } - - public Integer line() { - return line; - } - - public ReportIssue setMessage(String message) { - this.message = message; - return this; - } - - public String message() { - return message; - } - - public ReportIssue setEffortToFix(Double effortToFix) { - this.effortToFix = effortToFix; - return this; - } - - public Double effortToFix() { - return effortToFix; - } - - public ReportIssue setDebt(Long debtInMinutes) { - this.debtInMinutes = debtInMinutes; - return this; - } - - public Long debt() { - return debtInMinutes; - } - - public ReportIssue setResolution(String resolution) { - this.resolution = resolution; - return this; - } - - public String resolution() { - return resolution; - } - - public ReportIssue setStatus(String status) { - this.status = status; - return this; - } - - public String status() { - return status; - } - - public ReportIssue setSeverity(String severity) { - this.severity = severity; - return this; - } - - public String severity() { - return severity; - } - - public ReportIssue setChecksum(String checksum) { - this.checksum = checksum; - return this; - } - - public String checksum() { - return checksum; - } - - public ReportIssue setManualSeverity(boolean manualSeverity) { - this.manualSeverity = manualSeverity; - return this; - } - - public boolean isManualSeverity() { - return manualSeverity; - } - - public ReportIssue setReporter(String reporter) { - this.reporter = reporter; - return this; - } - - public String reporter() { - return reporter; - } - - public ReportIssue setAssignee(String assignee) { - this.assignee = assignee; - return this; - } - - public String assignee() { - return assignee; - } - - public Collection<String> tags() { - return tags; - } - - public ReportIssue setTags(Collection<String> s) { - this.tags = s; - return this; - } - - public ReportIssue setRuleKey(String ruleRepo, String ruleKey) { - this.ruleRepo = ruleRepo; - this.ruleKey = ruleKey; - return this; - } - - public String ruleRepo() { - return ruleRepo; - } - - public String ruleKey() { - return ruleKey; - } - - public ReportIssue setActionPlanKey(String actionPlanKey) { - this.actionPlanKey = actionPlanKey; - return this; - } - - public String actionPlanKey() { - return actionPlanKey; - } - - public ReportIssue setAttributes(String attributes) { - this.attributes = attributes; - return this; - } - - public String issueAttributes() { - return attributes; - } - - public ReportIssue setAuthorLogin(String authorLogin) { - this.authorLogin = authorLogin; - return this; - } - - public String authorLogin() { - return authorLogin; - } - - public ReportIssue setCreationDate(Date creationDate) { - this.creationDate = creationDate; - return this; - } - - public Date creationDate() { - return creationDate; - } - - public ReportIssue setCloseDate(Date closeDate) { - this.closeDate = closeDate; - return this; - } - - public Date closeDate() { - return closeDate; - } - - public ReportIssue setUpdateDate(Date updateDate) { - this.updateDate = updateDate; - return this; - } - - public Date updateDate() { - return updateDate; - } - - public ReportIssue setSelectedAt(Long selectedAt) { - this.selectedAt = selectedAt; - return this; - } - - public Long selectedAt() { - return selectedAt; - } - - public ReportIssue setDiffFields(@Nullable String diffFields) { - this.diffFields = diffFields; - return this; - } - - public String diffFields() { - return diffFields; - } - - public ReportIssue setChanged(boolean isChanged) { - this.isChanged = isChanged; - return this; - } - - public boolean isChanged() { - return isChanged; - } - - public ReportIssue setMustSendNotification(boolean mustSendNotification) { - this.mustSendNotification = mustSendNotification; - return this; - } - - public boolean mustSendNotifications() { - return mustSendNotification; - } -} diff --git a/sonar-batch-protocol/src/main/protobuf/batch_output.proto b/sonar-batch-protocol/src/main/protobuf/batch_output.proto new file mode 100644 index 00000000000..4b26c98ab25 --- /dev/null +++ b/sonar-batch-protocol/src/main/protobuf/batch_output.proto @@ -0,0 +1,95 @@ +/* + SonarQube, open source software quality management tool. + Copyright (C) 2008-2015 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. +*/ + +/* +Notes + + - "required" fields are not used as recommended by Google to keep forward-compatibility: + https://developers.google.com/protocol-buffers/docs/proto#simple + + - this is beta version of specification. It will evolve during next releases and is + not forward-compatible yet. + + - the related Java files are not generated during build. Indeed the existing protoc maven + plugins require protobuf to be installed on boxes. That means that generated Java files + are updated and committed for each change (see src/main/gen-java). +*/ + + +import "constants.proto"; + +option java_package = "org.sonar.batch.protocol.output"; +option optimize_for = SPEED; + +message ReportMetadata { + optional int64 analysis_date = 1; + optional string project_key = 2; + optional int32 root_component_ref = 3; +} + +message ReportComponent { + optional int32 ref = 1; + optional string path = 2; + optional string name = 3; + optional ComponentType type = 4; + optional bool is_test = 5; + optional string language = 6; + repeated int32 child_refs = 7; + + // temporary fields during development of computation stack + optional int32 snapshot_id = 8; + optional string uuid = 9; +} + +message ReportIssue { + optional string rule_repository = 1; + optional string rule_key = 2; + optional int32 line = 3; + optional string msg = 4; + optional Severity severity = 5; + repeated string tags = 6; + + // temporary fields during development of computation stack + optional double effort_to_fix = 7; + optional bool is_new = 8; + optional string uuid = 9; + optional int64 debt_in_minutes = 10; + optional string resolution = 11; + optional string status = 12; + optional string checksum = 13; + optional bool manual_severity = 14; + optional string reporter = 15; + optional string assignee = 16; + optional string action_plan_key = 17; + optional string attributes = 18; + optional string author_login = 19; + optional int64 creation_date = 20; + optional int64 close_date = 21; + optional int64 update_date = 22; + optional int64 selected_at = 23; + optional string diff_fields = 24; + optional bool is_changed = 25; + optional bool must_send_notification = 26; +} + +message ReportIssues { + optional int32 component_ref = 1; + repeated ReportIssue list = 2; +} diff --git a/sonar-batch-protocol/src/main/protobuf/constants.proto b/sonar-batch-protocol/src/main/protobuf/constants.proto new file mode 100644 index 00000000000..3cbc886accd --- /dev/null +++ b/sonar-batch-protocol/src/main/protobuf/constants.proto @@ -0,0 +1,39 @@ +/* + SonarQube, open source software quality management tool. + Copyright (C) 2008-2015 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. +*/ + +option java_package = "org.sonar.batch.protocol"; +option optimize_for = SPEED; + +enum Severity { + INFO = 0; + MINOR = 1; + MAJOR = 2; + CRITICAL = 3; + BLOCKER = 4; +} + +enum ComponentType { + PROJECT = 0; + MODULE = 1; + DIRECTORY = 2; + FILE = 3; + VIEW = 4; + SUBVIEW = 5; +} diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/issue/package-info.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/ProtobufUtilTest.java index 444216d69f1..8084bb2d947 100644 --- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/issue/package-info.java +++ b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/ProtobufUtilTest.java @@ -17,8 +17,18 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -@ParametersAreNonnullByDefault -package org.sonar.batch.protocol.output.issue; +package org.sonar.batch.protocol; -import javax.annotation.ParametersAreNonnullByDefault; +import org.junit.Test; +import org.sonar.test.TestUtils; +import static org.assertj.core.api.Assertions.assertThat; + +public class ProtobufUtilTest { + + @Test + public void only_utils() throws Exception { + assertThat(TestUtils.hasOnlyPrivateConstructors(ProtobufUtil.class)); + } + +} diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchOutputReaderTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchOutputReaderTest.java new file mode 100644 index 00000000000..930e3e3a1c8 --- /dev/null +++ b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchOutputReaderTest.java @@ -0,0 +1,77 @@ +/* + * 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.protocol.output; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.File; +import java.util.Arrays; + +import static org.assertj.core.api.Assertions.assertThat; + +public class BatchOutputReaderTest { + + @Rule + public TemporaryFolder temp = new TemporaryFolder(); + + @Test + public void create_dir_if_does_not_exist() throws Exception { + File dir = temp.newFolder(); + + initFiles(dir); + + BatchOutputReader reader = new BatchOutputReader(dir); + assertThat(reader.readMetadata().getAnalysisDate()).isEqualTo(15000000L); + assertThat(reader.readComponentIssues(1)).hasSize(1); + assertThat(reader.readComponentIssues(200)).isEmpty(); + assertThat(reader.readComponent(1).getUuid()).isEqualTo("UUID_A"); + assertThat(reader.readComponent(200)).isNull(); + + } + + private void initFiles(File dir) { + BatchOutputWriter writer = new BatchOutputWriter(dir); + + BatchOutput.ReportMetadata.Builder metadata = BatchOutput.ReportMetadata.newBuilder() + .setAnalysisDate(15000000L) + .setProjectKey("PROJECT_A") + .setRootComponentRef(1); + writer.writeMetadata(metadata.build()); + + BatchOutput.ReportComponent.Builder component = BatchOutput.ReportComponent.newBuilder() + .setRef(1) + .setUuid("UUID_A"); + writer.writeComponent(component.build()); + + BatchOutput.ReportIssue issue = BatchOutput.ReportIssue.newBuilder() + .setUuid("ISSUE_A") + .setLine(50) + .build(); + + writer.writeComponentIssues(1, Arrays.asList(issue)); + } + + @Test + public void readMetadata() throws Exception { + + } +} diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchOutputWriterTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchOutputWriterTest.java new file mode 100644 index 00000000000..9261f1b1eaa --- /dev/null +++ b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchOutputWriterTest.java @@ -0,0 +1,120 @@ +/* + * 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.protocol.output; + +import org.apache.commons.io.FileUtils; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.sonar.batch.protocol.Constants; +import org.sonar.batch.protocol.ProtobufUtil; + +import java.io.File; +import java.util.Arrays; + +import static org.assertj.core.api.Assertions.assertThat; + +public class BatchOutputWriterTest { + + @Rule + public TemporaryFolder temp = new TemporaryFolder(); + + @Test + public void create_dir_if_does_not_exist() throws Exception { + File dir = temp.newFolder(); + FileUtils.deleteQuietly(dir); + + new BatchOutputWriter(dir); + + assertThat(dir).isDirectory().exists(); + } + + @Test + public void write_metadata() throws Exception { + File dir = temp.newFolder(); + BatchOutputWriter writer = new BatchOutputWriter(dir); + BatchOutput.ReportMetadata.Builder metadata = BatchOutput.ReportMetadata.newBuilder() + .setAnalysisDate(15000000L) + .setProjectKey("PROJECT_A") + .setRootComponentRef(1); + writer.writeMetadata(metadata.build()); + + BatchOutput.ReportMetadata read = ProtobufUtil.readFile(writer.getFileStructure().metadataFile(), BatchOutput.ReportMetadata.PARSER); + assertThat(read.getAnalysisDate()).isEqualTo(15000000L); + assertThat(read.getProjectKey()).isEqualTo("PROJECT_A"); + assertThat(read.getRootComponentRef()).isEqualTo(1); + } + + @Test + public void write_component() throws Exception { + File dir = temp.newFolder(); + BatchOutputWriter writer = new BatchOutputWriter(dir); + + // no data yet + assertThat(writer.hasComponentData(FileStructure.Domain.COMPONENT, 1)).isFalse(); + + // write data + BatchOutput.ReportComponent.Builder component = BatchOutput.ReportComponent.newBuilder() + .setRef(1) + .setLanguage("java") + .setPath("src/Foo.java") + .setUuid("UUID_A") + .setType(Constants.ComponentType.FILE) + .setIsTest(false) + .addChildRefs(5) + .addChildRefs(42); + writer.writeComponent(component.build()); + + assertThat(writer.hasComponentData(FileStructure.Domain.COMPONENT, 1)).isTrue(); + File file = writer.getFileStructure().fileFor(FileStructure.Domain.COMPONENT, 1); + assertThat(file).exists().isFile(); + BatchOutput.ReportComponent read = ProtobufUtil.readFile(file, BatchOutput.ReportComponent.PARSER); + assertThat(read.getRef()).isEqualTo(1); + assertThat(read.getChildRefsList()).containsOnly(5, 42); + assertThat(read.hasName()).isFalse(); + assertThat(read.getIsTest()).isFalse(); + assertThat(read.getUuid()).isEqualTo("UUID_A"); + } + + @Test + public void write_issues() throws Exception { + File dir = temp.newFolder(); + BatchOutputWriter writer = new BatchOutputWriter(dir); + + // no data yet + assertThat(writer.hasComponentData(FileStructure.Domain.ISSUES, 1)).isFalse(); + + // write data + BatchOutput.ReportIssue issue = BatchOutput.ReportIssue.newBuilder() + .setUuid("ISSUE_A") + .setLine(50) + .setMsg("the message") + .build(); + + writer.writeComponentIssues(1, Arrays.asList(issue)); + + assertThat(writer.hasComponentData(FileStructure.Domain.ISSUES, 1)).isTrue(); + File file = writer.getFileStructure().fileFor(FileStructure.Domain.ISSUES, 1); + assertThat(file).exists().isFile(); + BatchOutput.ReportIssues read = ProtobufUtil.readFile(file, BatchOutput.ReportIssues.PARSER); + assertThat(read.getComponentRef()).isEqualTo(1); + assertThat(read.getListCount()).isEqualTo(1); + } +} diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/FileStructureTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/FileStructureTest.java new file mode 100644 index 00000000000..465e5a6301d --- /dev/null +++ b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/FileStructureTest.java @@ -0,0 +1,74 @@ +/* + * 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.protocol.output; + +import org.apache.commons.io.FileUtils; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.File; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.fail; + +public class FileStructureTest { + + @Rule + public TemporaryFolder temp = new TemporaryFolder(); + + @Test + public void fail_if_dir_does_not_exist() throws Exception { + File dir = temp.newFolder(); + FileUtils.deleteQuietly(dir); + try { + new FileStructure(dir); + fail(); + } catch (IllegalArgumentException e) { + assertThat(e).hasMessageContaining("Directory of analysis report does not exist"); + } + } + + @Test + public void fail_if_invalid_dir() throws Exception { + // not a dir but a file + File dir = temp.newFile(); + try { + new FileStructure(dir); + fail(); + } catch (IllegalArgumentException e) { + assertThat(e).hasMessageContaining("Directory of analysis report does not exist"); + } + } + + @Test + public void locate_files() throws Exception { + File dir = temp.newFolder(); + FileUtils.write(new File(dir, "metadata.pb"), "metadata content"); + FileUtils.write(new File(dir, "issues-3.pb"), "issues of component 3"); + FileUtils.write(new File(dir, "component-42.pb"), "details of component 42"); + + FileStructure structure = new FileStructure(dir); + assertThat(structure.metadataFile()).exists().isFile(); + assertThat(structure.fileFor(FileStructure.Domain.COMPONENT, 42)).exists().isFile(); + assertThat(structure.fileFor(FileStructure.Domain.ISSUES, 3)).exists().isFile(); + assertThat(structure.fileFor(FileStructure.Domain.ISSUES, 42)).doesNotExist(); + } +} diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/ReportHelperTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/ReportHelperTest.java deleted file mode 100644 index d79fb5a96d8..00000000000 --- a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/ReportHelperTest.java +++ /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.protocol.output; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.sonar.batch.protocol.output.component.ReportComponent; -import org.sonar.batch.protocol.output.component.ReportComponents; -import org.sonar.batch.protocol.output.issue.ReportIssue; - -import java.io.File; -import java.io.IOException; -import java.util.Arrays; - -import static org.assertj.core.api.Assertions.assertThat; - -public class ReportHelperTest { - - @Rule - public TemporaryFolder temp = new TemporaryFolder(); - - @Test - public void createAndRead() throws IOException { - ReportHelper helper = ReportHelper.create(temp.newFolder()); - - helper.saveComponents(new ReportComponents().setRoot(new ReportComponent().setBatchId(1L))); - - helper.saveIssues(1L, Arrays.asList(new ReportIssue().setRuleKey("foo", "bar"))); - - assertThat(new File(helper.reportRootDir(), "components.json")).exists(); - assertThat(new File(helper.reportRootDir(), "1/issues-1.json")).exists(); - - assertThat(helper.getComponents().root().batchId()).isEqualTo(1L); - assertThat(helper.getIssues(1L)).hasSize(1); - } - -} diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/component/ReportComponentsTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/component/ReportComponentsTest.java deleted file mode 100644 index 0df08d6d0df..00000000000 --- a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/component/ReportComponentsTest.java +++ /dev/null @@ -1,98 +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.protocol.output.component; - -import org.apache.commons.io.IOUtils; -import org.junit.Test; -import org.skyscreamer.jsonassert.JSONAssert; -import org.sonar.batch.protocol.output.component.ReportComponent.Type; - -import java.text.SimpleDateFormat; -import java.util.Date; - -import static org.assertj.core.api.Assertions.assertThat; - -public class ReportComponentsTest { - - @Test - public void to_json() throws Exception { - ReportComponents res = new ReportComponents(); - Date d = new SimpleDateFormat("dd/MM/yyyy").parse("12/12/2012"); - res.setAnalysisDate(d); - ReportComponent root = new ReportComponent() - .setBatchId(1) - .setId(11) - .setName("Root project") - .setSnapshotId(111) - .setType(Type.PRJ); - ReportComponent module = new ReportComponent() - .setBatchId(2) - .setId(22) - .setName("Module") - .setSnapshotId(222) - .setPath("module1") - .setType(Type.MOD); - root.addChild(module); - ReportComponent dir = new ReportComponent() - .setBatchId(3) - .setId(33) - .setName("src") - .setSnapshotId(333) - .setPath("src") - .setType(Type.DIR); - module.addChild(dir); - ReportComponent file = new ReportComponent() - .setBatchId(4) - .setId(44) - .setName("Foo.java") - .setSnapshotId(444) - .setPath("Foo.java") - .setType(Type.FIL) - .setTest(true) - .setLanguageKey("java"); - dir.addChild(file); - res.setRoot(root); - - JSONAssert - .assertEquals( - IOUtils.toString(this.getClass().getResourceAsStream("ReportComponentsTest/expected.json"), "UTF-8"), - res.toJson(), true); - } - - @Test - public void from_json() throws Exception { - ReportComponents res = ReportComponents - .fromJson( - IOUtils.toString(this.getClass().getResourceAsStream("ReportComponentsTest/expected.json"), "UTF-8")); - - assertThat(res.analysisDate()).isEqualTo(new SimpleDateFormat("dd/MM/yyyy").parse("12/12/2012")); - ReportComponent root = res.root(); - assertThat(root.batchId()).isEqualTo(1); - assertThat(root.id()).isEqualTo(11); - assertThat(root.name()).isEqualTo("Root project"); - assertThat(root.snapshotId()).isEqualTo(111); - assertThat(root.path()).isNull(); - assertThat(root.type()).isEqualTo(Type.PRJ); - assertThat(root.children()).hasSize(1); - assertThat(root.isTest()).isNull(); - assertThat(root.languageKey()).isNull(); - - } -} diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/issue/ReportIssueTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/issue/ReportIssueTest.java deleted file mode 100644 index 36770b20e9f..00000000000 --- a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/issue/ReportIssueTest.java +++ /dev/null @@ -1,86 +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.protocol.output.issue; - -import org.junit.Test; - -import java.text.SimpleDateFormat; - -import static org.assertj.core.api.Assertions.assertThat; - -public class ReportIssueTest { - - @Test - public void testGetterSetter() throws Exception { - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - ReportIssue issue = new ReportIssue() - .setActionPlanKey("plan") - .setAssignee("assignee") - .setAuthorLogin("author") - .setChanged(true) - .setChecksum("checksum") - .setDebt(3L) - .setDiffFields("diff") - .setEffortToFix(2.0) - .setAttributes("attributes") - .setCloseDate(sdf.parse("11/12/2012")) - .setCreationDate(sdf.parse("12/12/2012")) - .setUpdateDate(sdf.parse("13/12/2012")) - .setKey("key") - .setLine(3) - .setManualSeverity(true) - .setMessage("message") - .setNew(true) - .setReporter("reporter") - .setResolution("resolution") - .setComponentBatchId(4L) - .setRuleKey("repo", "rule") - .setSelectedAt(234L) - .setSeverity("severity") - .setStatus("status"); - - assertThat(issue.actionPlanKey()).isEqualTo("plan"); - assertThat(issue.assignee()).isEqualTo("assignee"); - assertThat(issue.authorLogin()).isEqualTo("author"); - assertThat(issue.isChanged()).isTrue(); - assertThat(issue.checksum()).isEqualTo("checksum"); - assertThat(issue.debt()).isEqualTo(3L); - assertThat(issue.diffFields()).isEqualTo("diff"); - assertThat(issue.effortToFix()).isEqualTo(2.0); - assertThat(issue.issueAttributes()).isEqualTo("attributes"); - assertThat(issue.closeDate()).isEqualTo(sdf.parse("11/12/2012")); - assertThat(issue.creationDate()).isEqualTo(sdf.parse("12/12/2012")); - assertThat(issue.updateDate()).isEqualTo(sdf.parse("13/12/2012")); - assertThat(issue.key()).isEqualTo("key"); - assertThat(issue.line()).isEqualTo(3); - assertThat(issue.isManualSeverity()).isTrue(); - assertThat(issue.message()).isEqualTo("message"); - assertThat(issue.isNew()).isTrue(); - assertThat(issue.reporter()).isEqualTo("reporter"); - assertThat(issue.resolution()).isEqualTo("resolution"); - assertThat(issue.componentBatchId()).isEqualTo(4L); - assertThat(issue.ruleRepo()).isEqualTo("repo"); - assertThat(issue.ruleKey()).isEqualTo("rule"); - assertThat(issue.selectedAt()).isEqualTo(234L); - assertThat(issue.severity()).isEqualTo("severity"); - assertThat(issue.status()).isEqualTo("status"); - } - -} |