Skip to content

Commit dd06acc

Browse files
committed
Copy the title field when creating the ArraySchema object in processNormalize31Spec()
1 parent 23eff66 commit dd06acc

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1777,6 +1777,7 @@ protected Schema processNormalize31Spec(Schema schema, Set<Schema> visitedSchema
17771777
ArraySchema as = new ArraySchema();
17781778
as.setDescription(schema.getDescription());
17791779
as.setDefault(schema.getDefault());
1780+
as.setTitle(schema.getTitle());
17801781
if (schema.getExample() != null) {
17811782
as.setExample(schema.getExample());
17821783
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -955,6 +955,10 @@ public void testOpenAPINormalizerProcessingArraySchema31Spec() {
955955
assertNotEquals(((Schema) schema11.getOneOf().get(0)).getPrefixItems(), null);
956956
assertEquals(((Schema) schema11.getOneOf().get(1)).getItems(), null);
957957

958+
Schema schema13 = openAPI.getComponents().getSchemas().get("OneOfArrayWithTitle");
959+
assertEquals(((Schema) schema13.getOneOf().get(0)).getTitle(), "dog_array");
960+
assertEquals(((Schema) schema13.getOneOf().get(1)).getTitle(), "cat_object");
961+
958962
Map<String, String> inputRules = Map.of("NORMALIZE_31SPEC", "true");
959963
OpenAPINormalizer openAPINormalizer = new OpenAPINormalizer(openAPI, inputRules);
960964
openAPINormalizer.normalize();
@@ -992,6 +996,12 @@ public void testOpenAPINormalizerProcessingArraySchema31Spec() {
992996
assertNotEquals(((Schema) schema12.getOneOf().get(0)).getItems(), null);
993997
assertEquals(((Schema) schema12.getOneOf().get(0)).getPrefixItems(), null);
994998
assertNotEquals(((Schema) schema12.getOneOf().get(1)).getItems(), null);
999+
1000+
Schema schema14 = openAPI.getComponents().getSchemas().get("OneOfArrayWithTitle");
1001+
assertEquals(((Schema) schema14.getOneOf().get(0)).getTitle(), "dog_array");
1002+
assertEquals(((Schema) schema14.getOneOf().get(1)).getTitle(), "cat_object");
1003+
assertTrue(ModelUtils.isArraySchema((Schema) schema14.getOneOf().get(0)));
1004+
assertEquals(((Schema) schema14.getOneOf().get(0)).getType(), "array");
9951005
}
9961006

9971007
@Test

0 commit comments

Comments
 (0)