forked from loafle/openapi-generator-original
better enum naming for symbol (java)
This commit is contained in:
@@ -106,7 +106,7 @@ public class DefaultCodegen {
|
||||
// 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<Character, String> specialCharReplacements = new HashMap<Character, String>();
|
||||
protected Map<String, String> specialCharReplacements = new HashMap<String, String>();
|
||||
|
||||
public List<CliOption> cliOptions() {
|
||||
return cliOptions;
|
||||
@@ -789,21 +789,35 @@ public class DefaultCodegen {
|
||||
*/
|
||||
protected void initalizeSpecialCharacterMapping() {
|
||||
// Initialize special characters
|
||||
specialCharReplacements.put('$', "Dollar");
|
||||
specialCharReplacements.put('^', "Caret");
|
||||
specialCharReplacements.put('|', "Pipe");
|
||||
specialCharReplacements.put('=', "Equal");
|
||||
specialCharReplacements.put('*', "Star");
|
||||
specialCharReplacements.put('-', "Minus");
|
||||
specialCharReplacements.put('&', "Ampersand");
|
||||
specialCharReplacements.put('%', "Percent");
|
||||
specialCharReplacements.put('#', "Hash");
|
||||
specialCharReplacements.put('@', "At");
|
||||
specialCharReplacements.put('!', "Exclamation");
|
||||
specialCharReplacements.put('+', "Plus");
|
||||
specialCharReplacements.put(':', "Colon");
|
||||
specialCharReplacements.put('>', "GreaterThan");
|
||||
specialCharReplacements.put('<', "LessThan");
|
||||
specialCharReplacements.put("$", "Dollar");
|
||||
specialCharReplacements.put("^", "Caret");
|
||||
specialCharReplacements.put("|", "Pipe");
|
||||
specialCharReplacements.put("=", "Equal");
|
||||
specialCharReplacements.put("*", "Star");
|
||||
specialCharReplacements.put("-", "Minus");
|
||||
specialCharReplacements.put("&", "Ampersand");
|
||||
specialCharReplacements.put("%", "Percent");
|
||||
specialCharReplacements.put("#", "Hash");
|
||||
specialCharReplacements.put("@", "At");
|
||||
specialCharReplacements.put("!", "Exclamation");
|
||||
specialCharReplacements.put("+", "Plus");
|
||||
specialCharReplacements.put(":", "Colon");
|
||||
specialCharReplacements.put(">", "Greater_Than");
|
||||
specialCharReplacements.put("<", "Less_Than");
|
||||
|
||||
specialCharReplacements.put("<=", "Less_Than_Or_Equal_To");
|
||||
specialCharReplacements.put(">=", "Greater_Than_Or_Equal_To");
|
||||
specialCharReplacements.put("!=", "Greater_Than_Or_Equal_To");
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the symbol name of a symbol
|
||||
*
|
||||
* @param input Symbol (e.g. $)
|
||||
* @return Symbol name (e.g. Dollar)
|
||||
*/
|
||||
protected String getSymbolName(String input) {
|
||||
return specialCharReplacements.get(input);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -729,6 +729,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
|
||||
@Override
|
||||
public String toEnumVarName(String value, String datatype) {
|
||||
// for symbol, e.g. $, #
|
||||
if (getSymbolName(value) != null) {
|
||||
return getSymbolName(value).toUpperCase();
|
||||
}
|
||||
|
||||
// number
|
||||
if ("Integer".equals(datatype) || "Long".equals(datatype) ||
|
||||
"Float".equals(datatype) || "Double".equals(datatype)) {
|
||||
|
||||
@@ -49,8 +49,10 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
|
||||
public HaskellServantCodegen() {
|
||||
super();
|
||||
|
||||
// override the mapping for "-" (Minus) to keep the original mapping in Haskell
|
||||
specialCharReplacements.put('-', "Dash");
|
||||
// override the mapping to keep the original mapping in Haskell
|
||||
specialCharReplacements.put("-", "Dash");
|
||||
specialCharReplacements.put(">", "GreaterThan");
|
||||
specialCharReplacements.put("<", "LessThan");
|
||||
|
||||
// set the output folder here
|
||||
outputFolder = "generated-code/haskell-servant";
|
||||
@@ -203,9 +205,9 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
|
||||
List<Map<String, Object>> replacements = new ArrayList<>();
|
||||
Object[] replacementChars = specialCharReplacements.keySet().toArray();
|
||||
for(int i = 0; i < replacementChars.length; i++) {
|
||||
Character c = (Character) replacementChars[i];
|
||||
String c = (String) replacementChars[i];
|
||||
Map<String, Object> o = new HashMap<>();
|
||||
o.put("char", Character.toString(c));
|
||||
o.put("char", c);
|
||||
o.put("replacement", "'" + specialCharReplacements.get(c));
|
||||
o.put("hasMore", i != replacementChars.length - 1);
|
||||
replacements.add(o);
|
||||
|
||||
Reference in New Issue
Block a user