{"record":{"id":"be28500c317213c6","repo":"OpenAPITools/openapi-generator","slug":"not-implemented","errorCode":null,"errorMessage":"Not implemented","messagePattern":"Not implemented","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonServerCodegen.java","lineNumber":474,"sourceCode":"\n    @Override\n    public CodegenType getTag() {\n        return CodegenType.SERVER;\n    }\n\n    @Override\n    public String getName() {\n        return \"java-helidon-server\";\n    }\n\n    @Override\n    public String getHelp() {\n        return \"Generates a Java Helidon Server application.\";\n    }\n\n    @Override\n    public void setPerformBeanValidation(boolean performBeanValidation) {\n        throw new UnsupportedOperationException(\"Not implemented\");\n    }\n\n    public void setSerializationLibrary(String serializationLibrary) {\n        if (SERIALIZATION_LIBRARY_JACKSON.equalsIgnoreCase(serializationLibrary)) {\n            this.serializationLibrary = SERIALIZATION_LIBRARY_JACKSON;\n            this.jackson = true;\n        } else if (SERIALIZATION_LIBRARY_JSONB.equalsIgnoreCase(serializationLibrary)) {\n            this.serializationLibrary = SERIALIZATION_LIBRARY_JSONB;\n            this.jackson = false;\n        } else {\n            throw new IllegalArgumentException(\"Unexpected serializationLibrary value: \" + serializationLibrary);\n        }\n    }\n\n    /**\n     * Check if pom file and src directory already exist.\n     *\n     * @return outcome of test","sourceCodeStart":456,"sourceCodeEnd":492,"githubUrl":"https://github.com/OpenAPITools/openapi-generator/blob/fcec517be3cf5b7964296bcba25fbc97541484e7/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonServerCodegen.java#L456-L492","documentation":"JavaHelidonServerCodegen deliberately overrides setPerformBeanValidation to throw UnsupportedOperationException, because the Helidon server templates never implemented bean-validation generation. The override fires when performBeanValidation resolves to true via additionalProperties (convertPropertyToBooleanAndWriteBack) or when user code calls the setter — it fails regardless of the boolean's value if invoked programmatically, though config-driven generation only trips it when the property is set truthy.","triggerScenarios":"Passing --additional-properties performBeanValidation=true with -g java-helidon-server. Reusing a config file built for spring or jaxrs generators where bean validation is supported. Embedding the generator and calling new JavaHelidonServerCodegen().setPerformBeanValidation(...) directly.","commonSituations":"Organizations with a house-style config enabling bean validation across all Java server generators apply it to Helidon too. Developers porting from -g spring or -g jaxrs-jersey carry the option over without checking the Helidon generator's support matrix.","solutions":["Remove performBeanValidation from the additionalProperties/config for java-helidon-server","If bean validation is mandatory, add @Valid/@NotNull manually to generated interfaces, or switch to a generator that supports it (spring, jaxrs-jersey)","When embedding, never call setPerformBeanValidation on this generator — it is intentionally unimplemented","Diff your shared config against `config-help -g java-helidon-server` output before applying it to a new generator"],"exampleFix":"# before\nopenapi-generator-cli generate -g java-helidon-server -i api.yaml \\\n  --additional-properties performBeanValidation=true\n\n# after\nopenapi-generator-cli generate -g java-helidon-server -i api.yaml \\\n  --additional-properties useBeanValidation=true   # supported alternative for model validation","handlingStrategy":"validation","validationCode":"// java-helidon-server does not implement performBeanValidation\nif (Boolean.parseBoolean(String.valueOf(opts.getOrDefault(\"performBeanValidation\", \"false\")))) {\n    throw new UnsupportedOperationException(\"performBeanValidation is not implemented by java-helidon-server; remove the option\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    generator.generate();\n} catch (UnsupportedOperationException e) {\n    // deliberate 'Not implemented' guard — strip the unsupported option and rerun, do not retry as-is\n    if (\"Not implemented\".equals(e.getMessage())) {\n        opts.remove(\"performBeanValidation\");\n        generator.generate(); // one sanitized retry\n    } else throw e;\n}","preventionTips":["Filter house-style option sets per generator instead of applying one global map everywhere","Track unsupported features (not just supported ones) in your generator capability notes","Prefer useBeanValidation for model-level validation on generators that support it"],"tags":["java","helidon","openapi-generator","bean-validation","unsupported-feature","configuration"],"backgroundTag":"unsupported-operation","analyzedSha":"fcec517be3cf5b7964296bcba25fbc97541484e7","analyzedAt":"2026-08-22T11:13:11.613Z","schemaVersion":2},"datasetVersion":"2026-08-22T14:17:55.899Z"}