From b2a4dfb0ed8ffda98fecf76db45e8a999936880d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 26 Jan 2012 00:09:11 +0200 Subject: [PATCH] added Scala test --- .../mysema/codegen/AbstractCodeWriter.java | 4 +--- .../java/com/mysema/codegen/ScalaWriter.java | 19 ++++++++++++++----- .../com/mysema/codegen/ScalaWriterTest.java | 8 ++++++++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/mysema/codegen/AbstractCodeWriter.java b/src/main/java/com/mysema/codegen/AbstractCodeWriter.java index bacdc3e7e..4660c5f73 100644 --- a/src/main/java/com/mysema/codegen/AbstractCodeWriter.java +++ b/src/main/java/com/mysema/codegen/AbstractCodeWriter.java @@ -5,8 +5,6 @@ */ package com.mysema.codegen; -import static com.mysema.codegen.Symbols.NEWLINE; - import java.io.IOException; import org.apache.commons.lang3.StringUtils; @@ -89,7 +87,7 @@ public abstract class AbstractCodeWriter> implem @Override public T nl() throws IOException { - return append(NEWLINE); + return append("\n"); } } diff --git a/src/main/java/com/mysema/codegen/ScalaWriter.java b/src/main/java/com/mysema/codegen/ScalaWriter.java index 0e07826bf..e4b1e4f74 100644 --- a/src/main/java/com/mysema/codegen/ScalaWriter.java +++ b/src/main/java/com/mysema/codegen/ScalaWriter.java @@ -21,13 +21,17 @@ import com.mysema.codegen.model.Parameter; import com.mysema.codegen.model.Type; import com.mysema.codegen.model.Types; import com.mysema.codegen.support.ScalaSyntaxUtils; +import com.sun.xml.internal.ws.util.StringUtils; /** * @author tiwe * */ -public class ScalaWriter extends AbstractCodeWriter{ +public class ScalaWriter extends AbstractCodeWriter { + private static final Set PRIMITIVE_TYPES = new HashSet( + Arrays.asList("byte","char","int","long","short","double","float")); + private static final String DEF = "def "; private static final String EXTENDS = " extends "; @@ -61,7 +65,7 @@ public class ScalaWriter extends AbstractCodeWriter{ private static final String VAL = "val "; private static final String TRAIT = "trait "; - + private final Set classes = new HashSet(); private final Set packages = new HashSet(); @@ -340,7 +344,7 @@ public class ScalaWriter extends AbstractCodeWriter{ builder.append(", "); } if (parameter == null || parameter.getFullName().equals(fullName)){ - builder.append("?"); + builder.append("_"); }else{ builder.append(getGenericName(false, parameter)); } @@ -354,6 +358,9 @@ public class ScalaWriter extends AbstractCodeWriter{ @Override public String getRawName(Type type) { String fullName = type.getFullName(); + if (PRIMITIVE_TYPES.contains(fullName)) { + fullName = StringUtils.capitalize(fullName); + } String packageName = type.getPackageName(); String rv = fullName; if (type.isPrimitive() && packageName.isEmpty()){ @@ -366,8 +373,10 @@ public class ScalaWriter extends AbstractCodeWriter{ } if (rv.endsWith("[]")){ rv = rv.substring(0, rv.length()-2); - if (classes.contains(rv)){ - rv = rv.substring(packageName.length()+1); + if (PRIMITIVE_TYPES.contains(rv)) { + rv = StringUtils.capitalize(rv); + } else if (classes.contains(rv)){ + rv = rv.substring(packageName.length()+1); } return "Array[" + rv + "]"; }else{ diff --git a/src/test/java/com/mysema/codegen/ScalaWriterTest.java b/src/test/java/com/mysema/codegen/ScalaWriterTest.java index f28d9a9a4..6bceb6b6b 100644 --- a/src/test/java/com/mysema/codegen/ScalaWriterTest.java +++ b/src/test/java/com/mysema/codegen/ScalaWriterTest.java @@ -118,6 +118,14 @@ public class ScalaWriterTest { assertTrue(w.toString().contains("def main(args: Array[String])")); assertTrue(w.toString().contains("def main2(args: Array[String])")); } + + @Test + public void Arrays2() throws IOException { + writer.field(Types.BYTE_P.asArrayType(), "byteArray"); + + System.out.println(w); + assertTrue(w.toString().contains("var byteArray: Array[Byte]")); + } @Test public void Trait() throws IOException{