{"record":{"id":"25e045e66f93516e","repo":"SonarSource/sonarqube","slug":"not-implemented","errorCode":null,"errorMessage":"not implemented","messagePattern":"not implemented","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"sonar-ws/src/main/java/org/sonarqube/ws/client/qualitygates/QualityGatesServiceCreateResponseJsonParser.java","lineNumber":43,"sourceCode":"import com.google.protobuf.CodedInputStream;\nimport com.google.protobuf.ExtensionRegistryLite;\nimport com.google.protobuf.InvalidProtocolBufferException;\nimport com.google.protobuf.Parser;\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.io.Reader;\nimport java.nio.ByteBuffer;\nimport java.nio.charset.Charset;\nimport java.nio.charset.StandardCharsets;\nimport org.sonarqube.ws.Qualitygates;\n\npublic class QualityGatesServiceCreateResponseJsonParser implements Parser<Qualitygates.CreateResponse> {\n\n  @Override\n  public Qualitygates.CreateResponse parseFrom(CodedInputStream input) throws InvalidProtocolBufferException {\n    throw new IllegalStateException(\"not implemented\");\n  }\n\n  @Override\n  public Qualitygates.CreateResponse parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException {\n    throw new IllegalStateException(\"not implemented\");\n  }\n\n  @Override\n  public Qualitygates.CreateResponse parsePartialFrom(CodedInputStream input) throws InvalidProtocolBufferException {\n    throw new IllegalStateException(\"not implemented\");\n  }\n\n  @Override\n  public Qualitygates.CreateResponse parsePartialFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException {\n    throw new IllegalStateException(\"not implemented\");\n  }\n\n  @Override","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/SonarSource/sonarqube/blob/184c821202192afc1c599fc912d0889b69fffa53/sonar-ws/src/main/java/org/sonarqube/ws/client/qualitygates/QualityGatesServiceCreateResponseJsonParser.java#L25-L61","documentation":"UnsupportedOperationException thrown by QualityGatesServiceCreateResponseJsonParser.parseFrom: this parser exists only to satisfy the protobuf Parser contract for JSON-generated CreateResponse messages, and the delimited/byte-level parseFrom entry point is intentionally not implemented because this JSON representation is never transported in binary form. Callers of parseFrom/parseDelimitedFrom misuse the parser.","triggerScenarios":"Invoking the protobuf Parser API on QualityGatesServiceCreateResponseJsonParser, e.g. Qualitygates.CreateResponse.parser().parseFrom(codedInput) or any code path routing binary input through this parser.","commonSituations":"Trying to decode the quality gates 'create' WS response with generated-protobuf binary deserialization instead of the JSON response the service returns.","solutions":["Parse the response as JSON (e.g. Gson) instead of protobuf binary","Use QualityGatesService.create(...) which handles the JSON response internally","Do not call parseFrom on this parser; it exists only to satisfy the Parser interface"],"exampleFix":"// before\nQualitygates.CreateResponse r = Qualitygates.CreateResponse.parser().parseFrom(input); // throws\n// after\nQualitygates.CreateResponse r = new Gson().fromJson(json, Qualitygates.CreateResponse.class);","handlingStrategy":"validation","validationCode":"if (parser instanceof QualityGatesServiceCreateResponseJsonParser) {\n  throw new UnsupportedOperationException(\"Use JSON parsing for Qualitygates.CreateResponse\");\n}","typeGuard":null,"tryCatchPattern":"try {\n  return parser.parseFrom(input);\n} catch (IllegalStateException e) {\n  if (\"not implemented\".equals(e.getMessage())) {\n    return jsonParser.fromJson(json, Qualitygates.CreateResponse.class);\n  }\n  throw e;\n}","preventionTips":["Treat this parser's binary parse* methods as unsupported","Use QualityGatesService.create for the parsed response","Parse the create quality gate response as JSON only"],"tags":["protobuf","json","qualitygates","unsupported"],"backgroundTag":"method-not-implemented","analyzedSha":"184c821202192afc1c599fc912d0889b69fffa53","analyzedAt":"2026-09-09T12:23:51.573Z","contentChangedAt":"2026-09-09T12:23:51.573Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}