Skip to content

Commit 5017e27

Browse files
slobodatoraslobodyanyk-wio
authored andcommitted
ones with defaults shouldn't be annotated as @nullable
1 parent d23a2d2 commit 5017e27

3 files changed

Lines changed: 24 additions & 12 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{^required}}{{^useOptional}}{{#openApiNullable}}{{^isNullable}}@Nullable {{/isNullable}}{{/openApiNullable}}{{^openApiNullable}}@Nullable {{/openApiNullable}}{{/useOptional}}{{/required}}
1+
{{^required}}{{^defaultValue}}{{^useOptional}}{{#openApiNullable}}{{^isNullable}}@Nullable {{/isNullable}}{{/openApiNullable}}{{^openApiNullable}}@Nullable {{/openApiNullable}}{{/useOptional}}{{/defaultValue}}{{#defaultValue}}{{^openApiNullable}}{{#isNullable}}@Nullable {{/isNullable}}{{/openApiNullable}}{{/defaultValue}}{{/required}}

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4859,7 +4859,7 @@ public void optionalListShouldBeEmpty() throws IOException {
48594859
.collect(Collectors.toMap(File::getName, Function.identity()));
48604860

48614861
JavaFileAssert.assertThat(files.get("PetDto.java"))
4862-
.fileContains("private @Nullable List<@Valid TagDto> tags = new ArrayList<>();")
4862+
.fileContains("private List<@Valid TagDto> tags = new ArrayList<>();")
48634863
.fileContains("private List<String> photoUrls = new ArrayList<>();");
48644864

48654865
}
@@ -4894,19 +4894,19 @@ public void testCollectionTypesWithDefaults_issue_18102() throws IOException {
48944894

48954895
JavaFileAssert.assertThat(files.get("PetDto.java"))
48964896
.fileContains("private @Nullable List<@Valid TagDto> tags")
4897-
.fileContains("private @Nullable List<@Valid TagDto> tagsDefaultList = new ArrayList<>()")
4897+
.fileContains("private List<@Valid TagDto> tagsDefaultList = new ArrayList<>()")
48984898
.fileContains("private @Nullable Set<@Valid TagDto> tagsUnique")
4899-
.fileContains("private @Nullable Set<@Valid TagDto> tagsDefaultSet = new LinkedHashSet<>();")
4899+
.fileContains("private Set<@Valid TagDto> tagsDefaultSet = new LinkedHashSet<>();")
49004900
.fileContains("private @Nullable List<String> stringList")
4901-
.fileContains("private @Nullable List<String> stringDefaultList = new ArrayList<>(Arrays.asList(\"A\", \"B\"));")
4902-
.fileContains("private @Nullable List<String> stringEmptyDefaultList = new ArrayList<>();")
4901+
.fileContains("private List<String> stringDefaultList = new ArrayList<>(Arrays.asList(\"A\", \"B\"));")
4902+
.fileContains("private List<String> stringEmptyDefaultList = new ArrayList<>();")
49034903
.fileContains("@Nullable Set<String> stringSet")
4904-
.fileContains("private @Nullable Set<String> stringDefaultSet = new LinkedHashSet<>(Arrays.asList(\"A\", \"B\"));")
4905-
.fileContains("private @Nullable Set<String> stringEmptyDefaultSet = new LinkedHashSet<>();")
4906-
.fileDoesNotContain("List<@Valid TagDto> tags = new ArrayList<>()")
4907-
.fileDoesNotContain("Set<@Valid TagDto> tagsUnique = new LinkedHashSet<>()")
4908-
.fileDoesNotContain("List<String> stringList = new ArrayList<>()")
4909-
.fileDoesNotContain("Set<String> stringSet = new LinkedHashSet<>()");
4904+
.fileContains("private Set<String> stringDefaultSet = new LinkedHashSet<>(Arrays.asList(\"A\", \"B\"));")
4905+
.fileContains("private Set<String> stringEmptyDefaultSet = new LinkedHashSet<>();")
4906+
.fileDoesNotContain("private List<@Valid TagDto> tags = new ArrayList<>()")
4907+
.fileDoesNotContain("private Set<@Valid TagDto> tagsUnique = new LinkedHashSet<>()")
4908+
.fileDoesNotContain("private List<String> stringList = new ArrayList<>()")
4909+
.fileDoesNotContain("private Set<String> stringSet = new LinkedHashSet<>()");
49104910
}
49114911

49124912
@Test
@@ -5114,6 +5114,9 @@ public void shouldAnnotateNonRequiredFieldsAsNullable() throws IOException {
51145114
JavaFileAssert.assertThat(file)
51155115
.assertProperty("optionalDescription")
51165116
.hasAnnotation("Nullable");
5117+
JavaFileAssert.assertThat(file)
5118+
.assertProperty("optionalOneWithDefault")
5119+
.doesNotHaveAnnotation("Nullable");
51175120
JavaFileAssert.assertThat(file)
51185121
.assertProperty("nullableStr")
51195122
.doesNotHaveAnnotation("Nullable");
@@ -5134,6 +5137,9 @@ public void shouldNotAnnotateNonRequiredFieldsAsNullableWhileUseOptional() throw
51345137
JavaFileAssert.assertThat(file)
51355138
.assertProperty("optionalDescription")
51365139
.doesNotHaveAnnotation("Nullable");
5140+
JavaFileAssert.assertThat(file)
5141+
.assertProperty("optionalOneWithDefault")
5142+
.doesNotHaveAnnotation("Nullable");
51375143
JavaFileAssert.assertThat(file)
51385144
.assertProperty("nullableStr")
51395145
.doesNotHaveAnnotation("Nullable");
@@ -5154,6 +5160,9 @@ public void shouldNotAnnotateNonRequiredFieldsAsNullableWhileNotUsingOpenApiNull
51545160
JavaFileAssert.assertThat(file)
51555161
.assertProperty("optionalDescription")
51565162
.hasAnnotation("Nullable");
5163+
JavaFileAssert.assertThat(file)
5164+
.assertProperty("optionalOneWithDefault")
5165+
.doesNotHaveAnnotation("Nullable");
51575166
JavaFileAssert.assertThat(file)
51585167
.assertProperty("nullableStr")
51595168
.hasAnnotation("Nullable");

modules/openapi-generator/src/test/resources/3_0/nullable-annotation.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ components:
1010
type: String
1111
optionalDescription:
1212
type: string
13+
optionalOneWithDefault:
14+
type: string
15+
default: "someDefaultValue"
1316
nullableStr:
1417
type: String
1518
nullable: true

0 commit comments

Comments
 (0)