[#4562] Moved suggested implementation from GenerationUtil to DefaultGeneratorStrategy

This commit is contained in:
lukaseder 2015-09-16 15:36:34 +02:00
parent 02a27e7336
commit 7c4df876c1
2 changed files with 9 additions and 13 deletions

View File

@ -190,7 +190,13 @@ public class DefaultGeneratorStrategy extends AbstractGeneratorStrategy {
private String getJavaClassName0(Definition definition, Mode mode) {
StringBuilder result = new StringBuilder();
result.append(StringUtils.toCamelCase(definition.getOutputName()));
// [#4562] Some characters should be treated like underscore
result.append(StringUtils.toCamelCase(
definition.getOutputName()
.replace(' ', '_')
.replace('-', '_')
.replace('.', '_')
));
if (mode == Mode.RECORD) {
result.append("Record");

View File

@ -178,29 +178,19 @@ class GenerationUtil {
return "_";
}
boolean uppercaseNext = false;
for (int i = 0; i < literal.length(); i++) {
char c = literal.charAt(i);
if (!Character.isJavaIdentifierPart(c)) {
if ('.' != c)
sb.append(escape(c));
sb.append(escape(c));
}
else if (i == 0 && !Character.isJavaIdentifierStart(literal.charAt(0))) {
sb.append("_");
sb.append(c);
}
else {
if (uppercaseNext)
sb.append(Character.toUpperCase(c));
else
sb.append(c);
sb.append(c);
}
if ('.' == c)
uppercaseNext = true;
else
uppercaseNext = false;
}
return sb.toString();