mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-13 05:00:50 +00:00
Fix issue with useBeanValidation: 1. Default value not reflected in help (#160)
message. 2. When default is true, it can't be overridden to false.
This commit is contained in:
parent
917b6e0105
commit
7efda597cc
@ -91,8 +91,27 @@ public class CliOption {
|
|||||||
this.enumValues = enumValues;
|
this.enumValues = enumValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create new boolean command line option with a default of false
|
||||||
|
*
|
||||||
|
* @param opt Option name
|
||||||
|
* @param description Option description
|
||||||
|
* @return the CliOption created
|
||||||
|
*/
|
||||||
public static CliOption newBoolean(String opt, String description) {
|
public static CliOption newBoolean(String opt, String description) {
|
||||||
return new CliOption(opt, description, SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString());
|
return newBoolean(opt, description, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create new boolean command line option with the provided value as default
|
||||||
|
*
|
||||||
|
* @param opt Option name
|
||||||
|
* @param description Option description
|
||||||
|
* @param defaultValue the default value to use if option not specified
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static CliOption newBoolean(String opt, String description, boolean defaultValue) {
|
||||||
|
return new CliOption(opt, description, SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(String.valueOf(defaultValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CliOption newString(String opt, String description) {
|
public static CliOption newString(String opt, String description) {
|
||||||
|
@ -73,7 +73,7 @@ public abstract class AbstractJavaJAXRSServerCodegen extends AbstractJavaCodegen
|
|||||||
cliOptions.add(new CliOption(CodegenConstants.IMPL_FOLDER, CodegenConstants.IMPL_FOLDER_DESC));
|
cliOptions.add(new CliOption(CodegenConstants.IMPL_FOLDER, CodegenConstants.IMPL_FOLDER_DESC));
|
||||||
cliOptions.add(new CliOption("title", "a title describing the application"));
|
cliOptions.add(new CliOption("title", "a title describing the application"));
|
||||||
|
|
||||||
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations"));
|
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations",useBeanValidation));
|
||||||
cliOptions.add(new CliOption(SERVER_PORT, "The port on which the server should be started"));
|
cliOptions.add(new CliOption(SERVER_PORT, "The port on which the server should be started"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,9 +99,7 @@ public abstract class AbstractJavaJAXRSServerCodegen extends AbstractJavaCodegen
|
|||||||
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (useBeanValidation) {
|
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
||||||
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen imp
|
|||||||
embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME
|
embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME
|
||||||
+ File.separator + "cxf-cdi";
|
+ File.separator + "cxf-cdi";
|
||||||
|
|
||||||
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations"));
|
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations",useBeanValidation));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -67,9 +67,8 @@ public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen imp
|
|||||||
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (useBeanValidation) {
|
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
||||||
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
|
||||||
}
|
|
||||||
|
|
||||||
supportingFiles.clear(); // Don't need extra files provided by AbstractJAX-RS & Java Codegen
|
supportingFiles.clear(); // Don't need extra files provided by AbstractJAX-RS & Java Codegen
|
||||||
|
|
||||||
|
@ -59,9 +59,9 @@ public class JavaResteasyEapServerCodegen extends AbstractJavaJAXRSServerCodegen
|
|||||||
|
|
||||||
embeddedTemplateDir = templateDir = "JavaJaxRS" + File.separator + "resteasy" + File.separator + "eap";
|
embeddedTemplateDir = templateDir = "JavaJaxRS" + File.separator + "resteasy" + File.separator + "eap";
|
||||||
|
|
||||||
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations"));
|
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations",useBeanValidation));
|
||||||
cliOptions.add(CliOption.newBoolean(GENERATE_JBOSS_DEPLOYMENT_DESCRIPTOR, "Generate Jboss Deployment Descriptor"));
|
cliOptions.add(CliOption.newBoolean(GENERATE_JBOSS_DEPLOYMENT_DESCRIPTOR, "Generate Jboss Deployment Descriptor",generateJbossDeploymentDescriptor));
|
||||||
cliOptions.add(CliOption.newBoolean(USE_SWAGGER_FEATURE, "Use dynamic Swagger generator"));
|
cliOptions.add(CliOption.newBoolean(USE_SWAGGER_FEATURE, "Use dynamic Swagger generator",useSwaggerFeature));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,17 +88,13 @@ public class JavaResteasyEapServerCodegen extends AbstractJavaJAXRSServerCodegen
|
|||||||
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (useBeanValidation) {
|
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
||||||
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (additionalProperties.containsKey(USE_SWAGGER_FEATURE)) {
|
if (additionalProperties.containsKey(USE_SWAGGER_FEATURE)) {
|
||||||
this.setUseSwaggerFeature(convertPropertyToBoolean(USE_SWAGGER_FEATURE));
|
this.setUseSwaggerFeature(convertPropertyToBoolean(USE_SWAGGER_FEATURE));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (useSwaggerFeature) {
|
writePropertyBack(USE_SWAGGER_FEATURE, useSwaggerFeature);
|
||||||
writePropertyBack(USE_SWAGGER_FEATURE, useSwaggerFeature);
|
|
||||||
}
|
|
||||||
|
|
||||||
writeOptional(outputFolder, new SupportingFile("pom.mustache", "", "pom.xml"));
|
writeOptional(outputFolder, new SupportingFile("pom.mustache", "", "pom.xml"));
|
||||||
writeOptional(outputFolder, new SupportingFile("gradle.mustache", "", "build.gradle"));
|
writeOptional(outputFolder, new SupportingFile("gradle.mustache", "", "build.gradle"));
|
||||||
|
@ -103,19 +103,18 @@ public class SpringCodegen extends AbstractJavaCodegen
|
|||||||
cliOptions.add(new CliOption(TITLE, "server title name or client service name"));
|
cliOptions.add(new CliOption(TITLE, "server title name or client service name"));
|
||||||
cliOptions.add(new CliOption(CONFIG_PACKAGE, "configuration package for generated code"));
|
cliOptions.add(new CliOption(CONFIG_PACKAGE, "configuration package for generated code"));
|
||||||
cliOptions.add(new CliOption(BASE_PACKAGE, "base package (invokerPackage) for generated code"));
|
cliOptions.add(new CliOption(BASE_PACKAGE, "base package (invokerPackage) for generated code"));
|
||||||
cliOptions.add(CliOption.newBoolean(INTERFACE_ONLY, "Whether to generate only API interface stubs without the server files."));
|
cliOptions.add(CliOption.newBoolean(INTERFACE_ONLY, "Whether to generate only API interface stubs without the server files.",interfaceOnly));
|
||||||
cliOptions.add(CliOption.newBoolean(DELEGATE_PATTERN, "Whether to generate the server files using the delegate pattern"));
|
cliOptions.add(CliOption.newBoolean(DELEGATE_PATTERN, "Whether to generate the server files using the delegate pattern",delegatePattern));
|
||||||
cliOptions.add(CliOption.newBoolean(SINGLE_CONTENT_TYPES, "Whether to select only one produces/consumes content-type by operation."));
|
cliOptions.add(CliOption.newBoolean(SINGLE_CONTENT_TYPES, "Whether to select only one produces/consumes content-type by operation.",singleContentTypes));
|
||||||
cliOptions.add(CliOption.newBoolean(JAVA_8, "use java8 default interface"));
|
cliOptions.add(CliOption.newBoolean(JAVA_8, "use java8 default interface",java8));
|
||||||
cliOptions.add(CliOption.newBoolean(ASYNC, "use async Callable controllers"));
|
cliOptions.add(CliOption.newBoolean(ASYNC, "use async Callable controllers",async));
|
||||||
cliOptions.add(CliOption.newBoolean(REACTIVE, "wrap responses in Mono/Flux Reactor types (spring-boot only)"));
|
cliOptions.add(CliOption.newBoolean(REACTIVE, "wrap responses in Mono/Flux Reactor types (spring-boot only)",reactive));
|
||||||
cliOptions.add(new CliOption(RESPONSE_WRAPPER, "wrap the responses in given type (Future,Callable,CompletableFuture,ListenableFuture,DeferredResult,HystrixCommand,RxObservable,RxSingle or fully qualified type)"));
|
cliOptions.add(new CliOption(RESPONSE_WRAPPER, "wrap the responses in given type (Future,Callable,CompletableFuture,ListenableFuture,DeferredResult,HystrixCommand,RxObservable,RxSingle or fully qualified type)"));
|
||||||
cliOptions.add(CliOption.newBoolean(USE_TAGS, "use tags for creating interface and controller classnames"));
|
cliOptions.add(CliOption.newBoolean(USE_TAGS, "use tags for creating interface and controller classnames",useTags));
|
||||||
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations"));
|
cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations",useBeanValidation));
|
||||||
cliOptions.add(CliOption.newBoolean(IMPLICIT_HEADERS, "Use of @ApiImplicitParams for headers."));
|
cliOptions.add(CliOption.newBoolean(IMPLICIT_HEADERS, "Use of @ApiImplicitParams for headers.",implicitHeaders));
|
||||||
cliOptions.add(CliOption.newBoolean(OPENAPI_DOCKET_CONFIG, "Generate Spring OpenAPI Docket configuration class."));
|
cliOptions.add(CliOption.newBoolean(OPENAPI_DOCKET_CONFIG, "Generate Spring OpenAPI Docket configuration class.",openapiDocketConfig));
|
||||||
cliOptions.add(CliOption.newBoolean(USE_OPTIONAL,
|
cliOptions.add(CliOption.newBoolean(USE_OPTIONAL,"Use Optional container for optional parameters",useOptional));
|
||||||
"Use Optional container for optional parameters"));
|
|
||||||
|
|
||||||
supportedLibraries.put(SPRING_BOOT, "Spring-boot Server application using the SpringFox integration.");
|
supportedLibraries.put(SPRING_BOOT, "Spring-boot Server application using the SpringFox integration.");
|
||||||
supportedLibraries.put(SPRING_MVC_LIBRARY, "Spring-MVC Server application using the SpringFox integration.");
|
supportedLibraries.put(SPRING_MVC_LIBRARY, "Spring-MVC Server application using the SpringFox integration.");
|
||||||
@ -219,15 +218,12 @@ public class SpringCodegen extends AbstractJavaCodegen
|
|||||||
if (additionalProperties.containsKey(USE_BEANVALIDATION)) {
|
if (additionalProperties.containsKey(USE_BEANVALIDATION)) {
|
||||||
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
|
||||||
}
|
}
|
||||||
|
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
||||||
|
|
||||||
if (additionalProperties.containsKey(USE_OPTIONAL)) {
|
if (additionalProperties.containsKey(USE_OPTIONAL)) {
|
||||||
this.setUseOptional(convertPropertyToBoolean(USE_OPTIONAL));
|
this.setUseOptional(convertPropertyToBoolean(USE_OPTIONAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (useBeanValidation) {
|
|
||||||
writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (additionalProperties.containsKey(IMPLICIT_HEADERS)) {
|
if (additionalProperties.containsKey(IMPLICIT_HEADERS)) {
|
||||||
this.setImplicitHeaders(Boolean.valueOf(additionalProperties.get(IMPLICIT_HEADERS).toString()));
|
this.setImplicitHeaders(Boolean.valueOf(additionalProperties.get(IMPLICIT_HEADERS).toString()));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user