From e1e291bc124e2732d5e64f600268202b4b51616d Mon Sep 17 00:00:00 2001 From: Chao Yang Date: Thu, 12 Jan 2023 05:42:33 -0600 Subject: [PATCH] [Crystal] Skip primitive types from ModelImportMap (#14436) * Support requiring models in crystal lang * Return null instead of empty string --- .../codegen/languages/CrystalClientCodegen.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java index bef91d6e73..fd072c6bd0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java @@ -63,6 +63,7 @@ public class CrystalClientCodegen extends DefaultCodegen { protected String shardAuthorEmail = ""; protected String apiDocPath = "docs/"; protected String modelDocPath = "docs/"; + protected List primitiveTypes = new ArrayList(); public static final String SHARD_NAME = "shardName"; public static final String MODULE_NAME = "moduleName"; @@ -184,6 +185,7 @@ public class CrystalClientCodegen extends DefaultCodegen { instantiationTypes.put("map", "Hash"); instantiationTypes.put("array", "Array"); instantiationTypes.put("set", "Set"); + primitiveTypes = new ArrayList(typeMapping.values()); // remove modelPackage and apiPackage added by default cliOptions.removeIf(opt -> CodegenConstants.MODEL_PACKAGE.equals(opt.getOpt()) || @@ -355,6 +357,15 @@ public class CrystalClientCodegen extends DefaultCodegen { return toModelName(type); } + @Override + public String toModelImport(String name) { + if (primitiveTypes.contains(name)) { + return null; + } else { + return toModelFilename(name); + } + } + @Override public String toModelName(final String name) { String modelName;