diff --git a/.github/workflows/maven-pr.yml b/.github/workflows/maven-pr.yml index b8a5ee1..43d77e0 100644 --- a/.github/workflows/maven-pr.yml +++ b/.github/workflows/maven-pr.yml @@ -36,10 +36,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v2 with: - java-version: "11" + java-version: "17" distribution: "adopt" - name: Build with Maven run: mvn -B package --file pom.xml diff --git a/pom.xml b/pom.xml index 53098a0..d05eb15 100644 --- a/pom.xml +++ b/pom.xml @@ -21,8 +21,8 @@ - 11 - 11 + 17 + 17 3.6.0 3.2.1 3.3.2 diff --git a/src/main/java/com/sngular/multiapi/converter/openapi/OpenApiContractConverter.java b/src/main/java/com/sngular/multiapi/converter/openapi/OpenApiContractConverter.java index 6528cf7..84d4462 100644 --- a/src/main/java/com/sngular/multiapi/converter/openapi/OpenApiContractConverter.java +++ b/src/main/java/com/sngular/multiapi/converter/openapi/OpenApiContractConverter.java @@ -355,12 +355,11 @@ private List> createBodyForProperty(final String ref, f final Schema subSchema = getSchemaFromComponent(subRef); if (Objects.nonNull(subSchema.getProperties())) { bodyList = applyMapToBodyList(propertyBodyList, property.getKey(), processComplexBodyAndMatchers(property.getKey(), subSchema.getProperties())); - } else if (subSchema.getItems() instanceof ComposedSchema) { - final Schema arraySchema = subSchema.getItems(); + } else if (subSchema instanceof ArraySchema && ((ArraySchema) subSchema).getItems() instanceof ComposedSchema) { + final Schema arraySchema = ((ArraySchema) subSchema).getItems(); bodyList = applyBodyToList(propertyBodyList, property.getKey(), processComposedSchema((ComposedSchema) arraySchema)); } else { - final Schema arraySchema = subSchema.getItems(); - bodyList = this.applyObjectToBodyList(propertyBodyList, ref, writeBodyMatcher(null, ref, arraySchema, arraySchema.getType())); + bodyList = this.applyObjectToBodyList(propertyBodyList, ref, writeBodyMatcher(null, ref, subSchema, subSchema.getType())); } } else if (Objects.nonNull(property.getValue().getEnum())) { bodyList = this.applyObjectToBodyList(propertyBodyList, property.getKey(), writeBodyMatcher(null, property.getKey(), property.getValue(), BasicTypeConstants.ENUM));