Skip to content

Commit d000abe

Browse files
authored
Add bean validation feature from apicurio-codegen 1.2.5.Final (quarkiverse#1245)
1 parent 8edc613 commit d000abe

File tree

5 files changed

+29
-36
lines changed

5 files changed

+29
-36
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
<maven.compiler.release>17</maven.compiler.release>
2929
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3030
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
31+
<apicurio.version>1.2.5.Final</apicurio.version>
3132
<quarkus.version>3.25.0</quarkus.version>
32-
<apicurio.version>1.2.1.Final</apicurio.version>
3333
<version.com.github.javaparser>3.27.0</version.com.github.javaparser>
3434
<version.org.assertj>3.27.3</version.org.assertj>
3535
<version.org.eclipse.microprofile.fault-tolerance>4.1.2</version.org.eclipse.microprofile.fault-tolerance>

server/deployment/src/main/java/io/quarkiverse/openapi/server/generator/deployment/CodegenConfig.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public interface CodegenConfig extends ServerCodegenConfig {
1414
String INPUT_BASE_DIR = CODEGEN_TIME_CONFIG_PREFIX + ".input-base-dir";
1515
String CODEGEN_REACTIVE = CODEGEN_TIME_CONFIG_PREFIX + ".reactive";
1616
String GENERATE_BUILDERS = CODEGEN_TIME_CONFIG_PREFIX + ".builders";
17+
String CODEGEN_BEAN_VALIDATION = CODEGEN_TIME_CONFIG_PREFIX + ".bean-validation";
1718

1819
static String getBasePackagePropertyName() {
1920
return CODEGEN_BASE_PACKAGE;
@@ -34,4 +35,8 @@ static String getCodegenReactive() {
3435
static String getGenerateBuilders() {
3536
return GENERATE_BUILDERS;
3637
}
38+
39+
static String getUseBeanValidation() {
40+
return CODEGEN_BEAN_VALIDATION;
41+
}
3742
}

server/deployment/src/main/java/io/quarkiverse/openapi/server/generator/deployment/ServerCodegenConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,10 @@ public interface ServerCodegenConfig {
3737
*/
3838
@WithDefault(DEFAULT_PACKAGE)
3939
Optional<String> basePackage();
40+
41+
/**
42+
* Whether it must generate resources and beans using bean validation (JSR-303).
43+
*/
44+
@WithDefault("false")
45+
boolean useBeanValidation();
4046
}

server/deployment/src/main/java/io/quarkiverse/openapi/server/generator/deployment/codegen/ApicurioCodegenWrapper.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import io.apicurio.hub.api.codegen.JaxRsProjectSettings;
2424
import io.apicurio.hub.api.codegen.OpenApi2JaxRs;
25+
import io.quarkiverse.openapi.server.generator.deployment.CodegenConfig;
2526
import io.quarkus.bootstrap.prebuild.CodeGenException;
2627

2728
public class ApicurioCodegenWrapper {
@@ -42,6 +43,8 @@ public ApicurioCodegenWrapper(Config config, File outdir, JaxRsProjectSettings p
4243
this.projectSettings = projectSettings;
4344
this.projectSettings.setJavaPackage(getBasePackage());
4445
this.projectSettings.setReactive(getReactiveValue());
46+
this.projectSettings.setUseJsr303(getUseBeanValidation());
47+
this.projectSettings.setGenerateBuilders(getGenerateBuilders());
4548
}
4649

4750
public void generate(Path openApiResource) throws CodeGenException {
@@ -63,14 +66,11 @@ public void generate(Path openApiResource) throws CodeGenException {
6366

6467
try (FileOutputStream fos = new FileOutputStream(zipFile);
6568
FileInputStream openApiStream = new FileInputStream(openApiFile)) {
66-
OpenApi2JaxRs generator = new OpenApi2JaxRs() {
67-
{
68-
config = new ConfigurableGenerationConfig(ApicurioCodegenWrapper.this.config);
69-
}
70-
};
69+
OpenApi2JaxRs generator = new OpenApi2JaxRs();
7170
generator.setSettings(projectSettings);
7271
generator.setUpdateOnly(true);
7372
generator.setOpenApiDocument(openApiStream);
73+
7474
log.info("Generating code...");
7575
generator.generate(fos);
7676
} catch (Exception e) {
@@ -114,13 +114,23 @@ private void unzip(File fromZipFile, File toOutputDir) throws IOException {
114114

115115
private String getBasePackage() {
116116
return config
117-
.getOptionalValue(getBasePackagePropertyName(), String.class)
117+
.getOptionalValue(CodegenConfig.getBasePackagePropertyName(), String.class)
118118
.orElse(DEFAULT_PACKAGE);
119119
}
120120

121121
private Boolean getReactiveValue() {
122122
return config
123-
.getOptionalValue(getCodegenReactive(), Boolean.class)
123+
.getOptionalValue(CodegenConfig.getCodegenReactive(), Boolean.class)
124+
.orElse(Boolean.FALSE);
125+
}
126+
127+
private Boolean getUseBeanValidation() {
128+
return config.getOptionalValue(CodegenConfig.getUseBeanValidation(), Boolean.class)
129+
.orElse(Boolean.FALSE);
130+
}
131+
132+
private Boolean getGenerateBuilders() {
133+
return config.getOptionalValue(CodegenConfig.getGenerateBuilders(), Boolean.class)
124134
.orElse(Boolean.FALSE);
125135
}
126136

server/deployment/src/main/java/io/quarkiverse/openapi/server/generator/deployment/codegen/ConfigurableGenerationConfig.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)