22
33import static io .quarkiverse .openapi .server .generator .deployment .CodegenConfig .getBasePackagePropertyName ;
44import static io .quarkiverse .openapi .server .generator .deployment .CodegenConfig .getCodegenReactive ;
5+ import static io .quarkiverse .openapi .server .generator .deployment .CodegenConfig .getGenerateBuilders ;
56import static io .quarkiverse .openapi .server .generator .deployment .ServerCodegenConfig .DEFAULT_PACKAGE ;
67
78import java .io .File ;
1718
1819import org .apache .commons .io .IOUtils ;
1920import org .eclipse .microprofile .config .Config ;
21+ import org .jsonschema2pojo .DefaultGenerationConfig ;
2022import org .slf4j .Logger ;
2123import org .slf4j .LoggerFactory ;
2224
@@ -28,6 +30,7 @@ public class ApicurioCodegenWrapper {
2830
2931 private static final Logger log = LoggerFactory .getLogger (ApicurioCodegenWrapper .class );
3032
33+ private final Config config ;
3134 private final File outdir ;
3235 private final JaxRsProjectSettings projectSettings ;
3336
@@ -36,10 +39,11 @@ public ApicurioCodegenWrapper(Config config, File outdir) {
3639 }
3740
3841 public ApicurioCodegenWrapper (Config config , File outdir , JaxRsProjectSettings projectSettings ) {
42+ this .config = config ;
3943 this .outdir = outdir ;
4044 this .projectSettings = projectSettings ;
41- this .projectSettings .setJavaPackage (getBasePackage (config ));
42- this .projectSettings .setReactive (getReactiveValue (config ));
45+ this .projectSettings .setJavaPackage (getBasePackage ());
46+ this .projectSettings .setReactive (getReactiveValue ());
4347 }
4448
4549 public void generate (Path openApiResource ) throws CodeGenException {
@@ -61,7 +65,18 @@ public void generate(Path openApiResource) throws CodeGenException {
6165
6266 try (FileOutputStream fos = new FileOutputStream (zipFile );
6367 FileInputStream openApiStream = new FileInputStream (openApiFile )) {
64- OpenApi2JaxRs generator = new OpenApi2JaxRs ();
68+ OpenApi2JaxRs generator = new OpenApi2JaxRs () {
69+ {
70+ config = new DefaultGenerationConfig () {
71+ @ Override
72+ public boolean isGenerateBuilders () {
73+ Boolean generateBuildersValue = getGenerateBuildersValue ();
74+ log .debug ("Generate Builders={}" , generateBuildersValue );
75+ return generateBuildersValue ;
76+ }
77+ };
78+ }
79+ };
6580 generator .setSettings (projectSettings );
6681 generator .setUpdateOnly (true );
6782 generator .setOpenApiDocument (openApiStream );
@@ -106,18 +121,24 @@ private void unzip(File fromZipFile, File toOutputDir) throws IOException {
106121 }
107122 }
108123
109- private String getBasePackage (final Config config ) {
124+ private String getBasePackage () {
110125 return config
111126 .getOptionalValue (getBasePackagePropertyName (), String .class )
112127 .orElse (DEFAULT_PACKAGE );
113128 }
114129
115- private Boolean getReactiveValue (final Config config ) {
130+ private Boolean getReactiveValue () {
116131 return config
117132 .getOptionalValue (getCodegenReactive (), Boolean .class )
118133 .orElse (Boolean .FALSE );
119134 }
120135
136+ private Boolean getGenerateBuildersValue () {
137+ return config
138+ .getOptionalValue (getGenerateBuilders (), Boolean .class )
139+ .orElse (Boolean .FALSE );
140+ }
141+
121142 private static JaxRsProjectSettings defaultProjectSettings () {
122143 JaxRsProjectSettings projectSettings = new JaxRsProjectSettings ();
123144 projectSettings .setJavaPackage (DEFAULT_PACKAGE );
0 commit comments