forked from loafle/openapi-generator-original
[BUG][scala][template] scala generate java.math.BigDecimal instead of scala type (#5514)
* [BUG] scala generate java.math.BigDecimal instead of scala type * update docs/generators
This commit is contained in:
committed by
GitHub
parent
6db09f40be
commit
a5c5b2f6d0
@@ -22,7 +22,6 @@ sidebar_label: scala-akka
|
||||
| ---------- | ------- |
|
||||
|Array|java.util.List|
|
||||
|ArrayList|java.util.ArrayList|
|
||||
|BigDecimal|java.math.BigDecimal|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|org.joda.time.DateTime|
|
||||
|File|java.io.File|
|
||||
|
||||
@@ -21,7 +21,6 @@ sidebar_label: scala-gatling
|
||||
| ---------- | ------- |
|
||||
|Array|java.util.List|
|
||||
|ArrayList|java.util.ArrayList|
|
||||
|BigDecimal|java.math.BigDecimal|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|org.joda.time.*|
|
||||
|File|java.io.File|
|
||||
|
||||
@@ -21,7 +21,6 @@ sidebar_label: scala-httpclient-deprecated
|
||||
| ---------- | ------- |
|
||||
|Array|java.util.List|
|
||||
|ArrayList|java.util.ArrayList|
|
||||
|BigDecimal|java.math.BigDecimal|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|org.joda.time.*|
|
||||
|File|java.io.File|
|
||||
|
||||
@@ -21,7 +21,6 @@ sidebar_label: scala-lagom-server
|
||||
| ---------- | ------- |
|
||||
|Array|java.util.List|
|
||||
|ArrayList|java.util.ArrayList|
|
||||
|BigDecimal|java.math.BigDecimal|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|org.joda.time.DateTime|
|
||||
|File|java.io.File|
|
||||
|
||||
@@ -31,13 +31,11 @@ sidebar_label: scala-play-server
|
||||
|DateTime|org.joda.time.*|
|
||||
|File|java.io.File|
|
||||
|HashMap|java.util.HashMap|
|
||||
|List|java.util.*|
|
||||
|ListBuffer|scala.collection.mutable.ListBuffer|
|
||||
|ListSet|scala.collection.immutable.ListSet|
|
||||
|LocalDate|java.time.LocalDate|
|
||||
|LocalDateTime|org.joda.time.*|
|
||||
|LocalTime|org.joda.time.*|
|
||||
|Map|java.util.Map|
|
||||
|OffsetDateTime|java.time.OffsetDateTime|
|
||||
|Seq|scala.collection.immutable.Seq|
|
||||
|Set|scala.collection.immutable.Set|
|
||||
|
||||
@@ -22,7 +22,6 @@ sidebar_label: scala-sttp
|
||||
| ---------- | ------- |
|
||||
|Array|java.util.List|
|
||||
|ArrayList|java.util.ArrayList|
|
||||
|BigDecimal|java.math.BigDecimal|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|org.joda.time.DateTime|
|
||||
|File|java.io.File|
|
||||
|
||||
@@ -21,7 +21,6 @@ sidebar_label: scalaz
|
||||
| ---------- | ------- |
|
||||
|Array|java.util.List|
|
||||
|ArrayList|java.util.ArrayList|
|
||||
|BigDecimal|java.math.BigDecimal|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|org.joda.time.DateTime|
|
||||
|File|java.io.File|
|
||||
|
||||
@@ -29,10 +29,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
import static org.openapitools.codegen.utils.StringUtils.camelize;
|
||||
import static org.openapitools.codegen.utils.StringUtils.underscore;
|
||||
@@ -105,11 +102,27 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen {
|
||||
"yield"
|
||||
));
|
||||
|
||||
importMapping = new HashMap<String, String>();
|
||||
importMapping.put("ListBuffer", "scala.collection.mutable.ListBuffer");
|
||||
// although Seq is a predef, before Scala 2.13, it _could_ refer to a mutable Seq in some cases.
|
||||
importMapping.put("Seq", "scala.collection.immutable.Seq");
|
||||
importMapping.put("Set", "scala.collection.immutable.Set");
|
||||
importMapping.put("ListSet", "scala.collection.immutable.ListSet");
|
||||
// fallback to java types
|
||||
importMapping.put("UUID", "java.util.UUID");
|
||||
importMapping.put("URI", "java.net.URI");
|
||||
importMapping.put("File", "java.io.File");
|
||||
importMapping.put("Timestamp", "java.sql.Timestamp");
|
||||
importMapping.put("HashMap", "java.util.HashMap");
|
||||
importMapping.put("Array", "java.util.List");
|
||||
importMapping.put("ArrayList", "java.util.ArrayList");
|
||||
// todo remove legacy date types
|
||||
importMapping.put("Date", "java.util.Date");
|
||||
importMapping.put("DateTime", "org.joda.time.*");
|
||||
importMapping.put("LocalDateTime", "org.joda.time.*");
|
||||
importMapping.put("LocalDate", "org.joda.time.*");
|
||||
importMapping.put("LocalTime", "org.joda.time.*");
|
||||
|
||||
|
||||
instantiationTypes.put("set", "Set");
|
||||
|
||||
|
||||
@@ -82,4 +82,17 @@ public class AbstractScalaCodegenTest {
|
||||
Assert.assertEquals(fakeScalaCodegen.toVarName("1AAaa"), "`1AAaa`");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkScalaTypeImportMapping() {
|
||||
Assert.assertEquals(fakeScalaCodegen.importMapping().get("Seq"),
|
||||
"scala.collection.immutable.Seq", "Seq is immutable collection");
|
||||
Assert.assertEquals(fakeScalaCodegen.importMapping().get("Set"),
|
||||
"scala.collection.immutable.Set", "Set is immutable collection");
|
||||
Assert.assertFalse(fakeScalaCodegen.importMapping().containsKey("List"),
|
||||
"List is a Scala type and must not be imported");
|
||||
Assert.assertFalse(fakeScalaCodegen.importMapping().containsKey("BigDecimal"),
|
||||
"BigDecimal is a Scala type and must not be imported");
|
||||
Assert.assertFalse(fakeScalaCodegen.importMapping().containsKey("BigInt"),
|
||||
"BigInt is a Scala type and must not be imported");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user