From 5521d7745d61210abc5a389d91b7a128a33fe7f4 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 9 Dec 2020 23:40:48 +0800 Subject: [PATCH] Fix IndexOutOfBoundsException with no model definition (#8110) * fix IndexOutOfBoundsException with no model * better code format --- .../codegen/DefaultGenerator.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index e63a9716bb9..e7fd5a5522a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -517,18 +517,20 @@ public class DefaultGenerator implements Generator { } // TODO revise below as we've already performed unaliasing so that the isAlias check may be removed - Map modelTemplate = (Map) ((List) models.get("models")).get(0); - if (modelTemplate != null && modelTemplate.containsKey("model")) { - CodegenModel m = (CodegenModel) modelTemplate.get("model"); - if (m.isAlias && !(config instanceof PythonClientCodegen)) { - // alias to number, string, enum, etc, which should not be generated as model - // for PythonClientCodegen, all aliases are generated as models - continue; // Don't create user-defined classes for aliases + List modelList = (List) models.get("models"); + if (modelList != null && !modelList.isEmpty()) { + Map modelTemplate = (Map) modelList.get(0); + if (modelTemplate != null && modelTemplate.containsKey("model")) { + CodegenModel m = (CodegenModel) modelTemplate.get("model"); + if (m.isAlias && !(config instanceof PythonClientCodegen)) { + // alias to number, string, enum, etc, which should not be generated as model + // for PythonClientCodegen, all aliases are generated as models + continue; // Don't create user-defined classes for aliases + } } + allModels.add(modelTemplate); } - allModels.add(modelTemplate); - // to generate model files generateModel(files, models, modelName);