From c49b22bcdde3970d11abc4f9f792b76d1f948c55 Mon Sep 17 00:00:00 2001 From: Andrew Gibiansky Date: Tue, 5 Apr 2016 12:01:49 -0700 Subject: [PATCH] Remove dots and dashes from model names --- .../codegen/languages/HaskellServantCodegen.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/HaskellServantCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/HaskellServantCodegen.java index 05bf5be4f5b..26dc7448a74 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/HaskellServantCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/HaskellServantCodegen.java @@ -249,7 +249,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf Property inner = mp.getAdditionalProperties(); return "Map.Map String " + getTypeDeclaration(inner); } - return super.getTypeDeclaration(p); + return fixModelChars(super.getTypeDeclaration(p)); } /** @@ -459,11 +459,19 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf return sb.toString(); } + // Remove characters from a string that do not belong in a model classname + private String fixModelChars(String string) { + return string.replace(".", "").replace("-", ""); + } + // Override fromModel to create the appropriate model namings @Override public CodegenModel fromModel(String name, Model mod, Map allDefinitions) { CodegenModel model = super.fromModel(name, mod, allDefinitions); + // Clean up the class name to remove invalid characters + model.classname = fixModelChars(model.classname); + // From the model name, compute the prefix for the fields. String prefix = camelize(model.classname, true); for(CodegenProperty prop : model.vars) { @@ -491,5 +499,4 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf p.vendorExtensions.put("x-formParamName", camelize(p.baseName)); return p; } - }