From f28bbf251c649474c2a003504206f96527c0f49d Mon Sep 17 00:00:00 2001 From: Andrew Gibiansky Date: Mon, 4 Apr 2016 18:51:56 -0700 Subject: [PATCH] Fix handling of special characters in Haskell codegen --- .../io/swagger/codegen/languages/HaskellServantCodegen.java | 1 + .../src/main/resources/haskell-servant/Types.mustache | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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 ebfce0c763c..22c24960d69 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 @@ -446,6 +446,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf StringBuilder sb = new StringBuilder(); for (char c : string.toCharArray()) { if (specialCharReplacements.containsKey(c)) { + sb.append("'"); sb.append(specialCharReplacements.get(c)); } else { sb.append(c); diff --git a/modules/swagger-codegen/src/main/resources/haskell-servant/Types.mustache b/modules/swagger-codegen/src/main/resources/haskell-servant/Types.mustache index 96abb461fb9..3ddc106b753 100644 --- a/modules/swagger-codegen/src/main/resources/haskell-servant/Types.mustache +++ b/modules/swagger-codegen/src/main/resources/haskell-servant/Types.mustache @@ -56,7 +56,7 @@ removeFieldLabelPrefix forParsing prefix = } where replaceSpecialChars field = foldl (&) field (map mkCharReplacement specialChars) - specialChars = [{{#specialCharReplacements}}("{{char}}", "{{&replacement}}"){{#hasMore}}, {{/hasMore}}{{/specialCharReplacements}}] + specialChars = [{{#specialCharReplacements}}("{{&char}}", "{{&replacement}}"){{#hasMore}}, {{/hasMore}}{{/specialCharReplacements}}] mkCharReplacement (replaceStr, searchStr) = T.unpack . replacer (T.pack searchStr) (T.pack replaceStr) . T.pack replacer = if forParsing then flip T.replace else T.replace