Skip to content

Commit

Permalink
Fix enum with validation, rel #311
Browse files Browse the repository at this point in the history
  • Loading branch information
sschnabe committed Jan 2, 2024
1 parent fa6386b commit 4b5422c
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 6 deletions.
2 changes: 1 addition & 1 deletion gen/main/java/issue/_331/DefaultApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ io.micronaut.http.HttpResponse<Object> string(
java.util.Optional<java.util.List<java.lang.String>> withoutValidation,
@io.micronaut.core.annotation.NonNull
@io.micronaut.http.annotation.QueryValue
java.util.Optional<java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.Valid StringWithEnum>> withEnum,
java.util.Optional<java.util.List<@jakarta.validation.constraints.NotNull StringWithEnum>> withEnum,
@io.micronaut.core.annotation.NonNull
@io.micronaut.http.annotation.QueryValue
java.util.Optional<java.util.List<java.lang.@jakarta.validation.constraints.NotNull @jakarta.validation.constraints.Email String>> withEmail,
Expand Down
2 changes: 1 addition & 1 deletion gen/main/java/issue/_331/DefaultApiClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ io.micronaut.http.HttpResponse<Object> string(
java.util.List<java.lang.String> withoutValidation,
@io.micronaut.core.annotation.Nullable
@io.micronaut.http.annotation.QueryValue(value = "withEnum")
java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.Valid StringWithEnum> withEnum,
java.util.List<@jakarta.validation.constraints.NotNull StringWithEnum> withEnum,
@io.micronaut.core.annotation.Nullable
@io.micronaut.http.annotation.QueryValue(value = "withEmail")
java.util.List<java.lang.@jakarta.validation.constraints.NotNull @jakarta.validation.constraints.Email String> withEmail,
Expand Down
8 changes: 4 additions & 4 deletions gen/main/java/issue/_331/ModelString.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class ModelString {

@com.fasterxml.jackson.annotation.JsonProperty("withEnum")
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
private java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.Valid StringWithEnum> withEnum;
private java.util.List<@jakarta.validation.constraints.NotNull StringWithEnum> withEnum;

@com.fasterxml.jackson.annotation.JsonProperty("withEmail")
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
Expand Down Expand Up @@ -94,7 +94,7 @@ public ModelString removeWithoutValidationItem(java.lang.String withoutValidatio
return this;
}

public ModelString withEnum(java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.Valid StringWithEnum> newWithEnum) {
public ModelString withEnum(java.util.List<@jakarta.validation.constraints.NotNull StringWithEnum> newWithEnum) {
this.withEnum = newWithEnum;
return this;
}
Expand Down Expand Up @@ -224,11 +224,11 @@ public void setWithoutValidation(java.util.List<java.lang.String> newWithoutVali
this.withoutValidation = newWithoutValidation;
}

public java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.Valid StringWithEnum> getWithEnum() {
public java.util.List<@jakarta.validation.constraints.NotNull StringWithEnum> getWithEnum() {
return withEnum;
}

public void setWithEnum(java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.Valid StringWithEnum> newWithEnum) {
public void setWithEnum(java.util.List<@jakarta.validation.constraints.NotNull StringWithEnum> newWithEnum) {
this.withEnum = newWithEnum;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,12 @@ public void postProcessParameter(CodegenParameter parameter) {
if (dateTimeRelaxed && (parameter.isDate || parameter.isDateTime)) {
addSupportingFile(sourceFolder, invokerPackage, "TimeTypeConverterRegistrar");
}
if (parameter.isArray
&& parameter.items.allowableValues != null
&& !parameter.items.allowableValues.isEmpty()) {
parameter.dataType = parameter.datatypeWithEnum = parameter.dataType.replace("@jakarta.validation.Valid ",
"");
}
parameter.vendorExtensions.put("x-datatype-without-validation", removeValidation(parameter.dataType));
}

Expand All @@ -614,6 +620,9 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert
if (openApiNullable && !property.required && property.isNullable) {
property.getVendorExtensions().put("x-jackson-nullable", true);
}
if (property.isArray && property.items.allowableValues != null && !property.items.allowableValues.isEmpty()) {
property.dataType = property.datatypeWithEnum = property.dataType.replace("@jakarta.validation.Valid ", "");
}
}

@Override
Expand Down

0 comments on commit 4b5422c

Please sign in to comment.