Skip to content

java-generator-cli-7.1.0.sh doesn't support enum of boolean #6930

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
fmhwong opened this issue Mar 4, 2025 · 3 comments · Fixed by #6933
Closed

java-generator-cli-7.1.0.sh doesn't support enum of boolean #6930

fmhwong opened this issue Mar 4, 2025 · 3 comments · Fixed by #6933

Comments

@fmhwong
Copy link

fmhwong commented Mar 4, 2025

Is your enhancement related to a problem? Please describe

Running the java-generator-cli-7.1.0.sh with a CRD which contains enum of boolean.

io.fabric8.java.generator.exceptions.JavaGeneratorException: Unsupported enumeration type/formatboolean/null
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.fromJsonSchema(AbstractJSONSchema2Pojo.java:324)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.lambda$fromJsonSchema$0(AbstractJSONSchema2Pojo.java:190)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.fromJsonSchema(AbstractJSONSchema2Pojo.java:203)
	at io.fabric8.java.generator.nodes.JObject.<init>(JObject.java:124)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.fromJsonSchema(AbstractJSONSchema2Pojo.java:306)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.lambda$fromJsonSchema$0(AbstractJSONSchema2Pojo.java:190)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.fromJsonSchema(AbstractJSONSchema2Pojo.java:243)
	at io.fabric8.java.generator.nodes.JObject.<init>(JObject.java:124)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.fromJsonSchema(AbstractJSONSchema2Pojo.java:306)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.lambda$fromJsonSchema$0(AbstractJSONSchema2Pojo.java:190)
	at io.fabric8.java.generator.nodes.AbstractJSONSchema2Pojo.fromJsonSchema(AbstractJSONSchema2Pojo.java:243)
	at io.fabric8.java.generator.CRGeneratorRunner.generate(CRGeneratorRunner.java:69)
	at io.fabric8.java.generator.FileJavaGenerator.lambda$generateWritableCRCompilationUnits$4(FileJavaGenerator.java:113)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:522)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:512)
	at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:960)
	at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:934)
	at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:927)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:238)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at io.fabric8.java.generator.FileJavaGenerator.generateWritableCRCompilationUnits(FileJavaGenerator.java:122)
	at io.fabric8.java.generator.FileJavaGenerator.runOnSingleSource(FileJavaGenerator.java:91)
	at io.fabric8.java.generator.FileJavaGenerator.run(FileJavaGenerator.java:76)
	at io.fabric8.java.generator.cli.GenerateJavaSources.lambda$run$0(GenerateJavaSources.java:135)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at io.fabric8.java.generator.cli.GenerateJavaSources.run(GenerateJavaSources.java:135)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2030)
	at picocli.CommandLine.executeHelpRequest(CommandLine.java:2016)
	at picocli.CommandLine.executeHelpRequest(CommandLine.java:1987)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2272)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at io.fabric8.java.generator.cli.GenerateJavaSources.main(GenerateJavaSources.java:139)

The CRD contains

              license:
                description: License information is required.
                properties:
                  accept:
                    description: The license must be accepted 
                    enum:
                    - true
                    type: boolean

Describe the solution you'd like

The tool should be able to support boolean enums.

Describe alternatives you've considered

No response

Additional context

No response

@andreaTP
Copy link
Member

andreaTP commented Mar 5, 2025

Hi @fmhwong , that's fair, thanks for taking the time to file this issue.
Should be fixed in #6933 👍

@manusa manusa added this to the 7.2.0 milestone Mar 6, 2025 — with automated-tasks
@fmhwong
Copy link
Author

fmhwong commented Mar 6, 2025

@andreaTP Thanks for the quick turnaround!

@andreaTP
Copy link
Member

andreaTP commented Mar 6, 2025

It was a good excuse to verify that I still remember something about the codebase 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants