Skip to content

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

@fmhwong

Description

@fmhwong

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions