fix and tests for #503

This commit is contained in:
Tony Tam 2015-03-16 22:10:35 -07:00
parent 46d1950fbd
commit c215d8ab91
3 changed files with 35 additions and 12 deletions

View File

@ -448,10 +448,11 @@ public class DefaultCodegen {
return m; return m;
} }
public static String getterAndSetterCapitalize(String name) { public String getterAndSetterCapitalize(String name) {
if (name == null || name.length() == 0) { if (name == null || name.length() == 0) {
return name; return name;
} }
name = toVarName(name);
if (name.length() > 1 && Character.isUpperCase(name.charAt(1)) && if (name.length() > 1 && Character.isUpperCase(name.charAt(1)) &&
Character.isLowerCase(name.charAt(0))){ Character.isLowerCase(name.charAt(0))){
return name; return name;

View File

@ -87,6 +87,15 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar); return outputFolder + "/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar);
} }
@Override
public String toVarName(String name) {
if(reservedWords.contains(name))
return escapeReservedWord(name);
else {
return name.replaceAll("-", "_");
}
}
@Override @Override
public String getTypeDeclaration(Property p) { public String getTypeDeclaration(Property p) {
if(p instanceof ArrayProperty) { if(p instanceof ArrayProperty) {

View File

@ -14,7 +14,6 @@ import scala.collection.JavaConverters._
@RunWith(classOf[JUnitRunner]) @RunWith(classOf[JUnitRunner])
class JavaModelTest extends FlatSpec with Matchers { class JavaModelTest extends FlatSpec with Matchers {
it should "convert a simple java model" in { it should "convert a simple java model" in {
val model = new ModelImpl() val model = new ModelImpl()
.description("a sample model") .description("a sample model")
@ -322,4 +321,18 @@ class JavaModelTest extends FlatSpec with Matchers {
vars.get(0).required should equal (true) vars.get(0).required should equal (true)
vars.get(0).isNotContainer should equal (true) vars.get(0).isNotContainer should equal (true)
} }
it should "convert hyphens per issue 503" in {
val model = new ModelImpl()
.description("a sample model")
.property("created-at", new DateTimeProperty())
val codegen = new JavaClientCodegen()
val cm = codegen.fromModel("sample", model)
val vars = cm.vars
vars.get(0).baseName should be("created-at")
vars.get(0).getter should be ("getCreated_at")
vars.get(0).setter should be ("setCreated_at")
vars.get(0).name should be ("created_at")
}
} }