From ba3d9cd419a54b099e9756d1a9ef48d63a27f258 Mon Sep 17 00:00:00 2001 From: yilinwang Date: Sun, 1 Nov 2020 15:44:20 -0600 Subject: [PATCH 1/3] to LinkedHashMap --- .../src/main/java/org/openapitools/codegen/DefaultCodegen.java | 3 ++- .../openapitools/codegen/languages/AbstractKotlinCodegen.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 45e88b15fbc9..0eb9be402a4b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -513,7 +513,8 @@ public Map updateAllModels(Map objs) { } // Let parent know about all its children - for (String name : allModels.keySet()) { + Map orderedAllModels = new LinkedHashMap(allModels); + for (String name : orderedAllModels.keySet()) { CodegenModel cm = allModels.get(name); CodegenModel parent = allModels.get(cm.getParent()); // if a discriminator exists on the parent, don't add this child to the inheritance hierarchy diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index a8e8f24feb49..28f1c3417ed8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -703,7 +703,8 @@ private String getArrayTypeDeclaration(ArraySchema arr) { */ private String sanitizeKotlinSpecificNames(final String name) { String word = name; - for (Map.Entry specialCharacters : specialCharReplacements.entrySet()) { + Map orderedSpecialCharReplacements = new LinkedHashMap(specialCharReplacements); + for (Map.Entry specialCharacters : orderedSpecialCharReplacements.entrySet()) { word = replaceSpecialCharacters(word, specialCharacters); } From e14ffd41a12ec1fa3815d972cc83a3dceef31cd1 Mon Sep 17 00:00:00 2001 From: yilinwang Date: Sun, 15 Nov 2020 23:21:26 -0600 Subject: [PATCH 2/3] LinkedHashMap --- .../src/main/java/org/openapitools/codegen/DefaultCodegen.java | 2 +- .../openapitools/codegen/languages/AbstractKotlinCodegen.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 0eb9be402a4b..861e46db76fc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -212,7 +212,7 @@ apiTemplateFiles are for API outputs only (controllers/handlers). // How to encode special characters like $ // They are translated to words like "Dollar" and prefixed with ' // Then translated back during JSON encoding and decoding - protected Map specialCharReplacements = new HashMap(); + protected Map specialCharReplacements = new LinkedHashMap(); // When a model is an alias for a simple type protected Map typeAliases = null; protected Boolean prependFormOrBodyParameters = false; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index 28f1c3417ed8..a8e8f24feb49 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -703,8 +703,7 @@ private String getArrayTypeDeclaration(ArraySchema arr) { */ private String sanitizeKotlinSpecificNames(final String name) { String word = name; - Map orderedSpecialCharReplacements = new LinkedHashMap(specialCharReplacements); - for (Map.Entry specialCharacters : orderedSpecialCharReplacements.entrySet()) { + for (Map.Entry specialCharacters : specialCharReplacements.entrySet()) { word = replaceSpecialCharacters(word, specialCharacters); } From 7db6dbd689c96b8834b49dca30f7722d9bad332a Mon Sep 17 00:00:00 2001 From: yilinwang Date: Sun, 15 Nov 2020 23:30:41 -0600 Subject: [PATCH 3/3] allModels to LinkedHaskMap --- .../main/java/org/openapitools/codegen/DefaultCodegen.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 861e46db76fc..dbb635e9be9b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -474,7 +474,7 @@ protected Map getModelNameToSchemaCache() { * @return map of all models indexed by names */ public Map getAllModels(Map objs) { - Map allModels = new HashMap(); + Map allModels = new LinkedHashMap(); for (Entry entry : objs.entrySet()) { String modelName = toModelName(entry.getKey()); Map inner = (Map) entry.getValue(); @@ -513,8 +513,7 @@ public Map updateAllModels(Map objs) { } // Let parent know about all its children - Map orderedAllModels = new LinkedHashMap(allModels); - for (String name : orderedAllModels.keySet()) { + for (String name : allModels.keySet()) { CodegenModel cm = allModels.get(name); CodegenModel parent = allModels.get(cm.getParent()); // if a discriminator exists on the parent, don't add this child to the inheritance hierarchy