From c0608c11fe4d5f37a665a4151c2772000283c399 Mon Sep 17 00:00:00 2001 From: Aleksandr Nekrasov Date: Tue, 17 Mar 2020 14:04:13 +0700 Subject: [PATCH] fix default value for abstract scala and scalatra server impl (#5578) --- .../openapitools/codegen/languages/AbstractScalaCodegen.java | 2 +- .../openapitools/codegen/languages/ScalatraServerCodegen.java | 4 ++-- .../codegen/scalahttpclient/ScalaHttpClientModelTest.java | 2 +- .../src/main/scala/org/openapitools/server/api/PetApi.scala | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java index 7d02359e2403..f866183a2714 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java @@ -347,7 +347,7 @@ public String toDefaultValue(Schema p) { "Iterable".equals(genericType) || "ListSet".equals(genericType) ) { - return genericType + "[" + inner + "].empty "; + return genericType + ".empty[" + inner + "] "; } // Assume that any other generic types can be new'd up. diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java index 4e8caa4d0179..0188a98bc967 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java @@ -117,8 +117,6 @@ public ScalatraServerCodegen() { supportingFiles.add(new SupportingFile("project/plugins.sbt", "project", "plugins.sbt")); supportingFiles.add(new SupportingFile("sbt", "", "sbt")); - instantiationTypes.put("map", "HashMap"); - importMapping = new HashMap(); importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); @@ -138,6 +136,8 @@ public ScalatraServerCodegen() { importMapping.put("Set", "scala.collection.immutable.Set"); importMapping.put("ListSet", "scala.collection.immutable.ListSet"); + instantiationTypes.put("array", "List"); + instantiationTypes.put("map", "HashMap"); instantiationTypes.put("set", "Set"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/scalahttpclient/ScalaHttpClientModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/scalahttpclient/ScalaHttpClientModelTest.java index 837ca1a1fb3d..a8871688e98e 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/scalahttpclient/ScalaHttpClientModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/scalahttpclient/ScalaHttpClientModelTest.java @@ -144,7 +144,7 @@ public void complexSetPropertyTest() { Assert.assertEquals(property1.setter, "setChildren"); Assert.assertEquals(property1.dataType, "Set[Children]"); Assert.assertEquals(property1.name, "children"); - Assert.assertEquals(property1.defaultValue, "Set[Children].empty "); + Assert.assertEquals(property1.defaultValue, "Set.empty[Children] "); Assert.assertEquals(property1.baseType, "Set"); Assert.assertEquals(property1.containerType, "set"); Assert.assertFalse(property1.required); diff --git a/samples/server/petstore/scalatra/src/main/scala/org/openapitools/server/api/PetApi.scala b/samples/server/petstore/scalatra/src/main/scala/org/openapitools/server/api/PetApi.scala index f7e1b79ca57e..a8f69306d8b4 100644 --- a/samples/server/petstore/scalatra/src/main/scala/org/openapitools/server/api/PetApi.scala +++ b/samples/server/petstore/scalatra/src/main/scala/org/openapitools/server/api/PetApi.scala @@ -68,7 +68,7 @@ class PetApi(implicit val swagger: Swagger) extends ScalatraServlet val findPetsByStatusOperation = (apiOperation[List[Pet]]("findPetsByStatus") summary "Finds Pets by status" - parameters(queryParam[List[String]]("status").description("")) + parameters(queryParam[List[String]]("status").description("").defaultValue(List.empty[String] )) ) get("/pet/findByStatus", operation(findPetsByStatusOperation)) { @@ -88,7 +88,7 @@ class PetApi(implicit val swagger: Swagger) extends ScalatraServlet val findPetsByTagsOperation = (apiOperation[List[Pet]]("findPetsByTags") summary "Finds Pets by tags" - parameters(queryParam[List[String]]("tags").description("")) + parameters(queryParam[List[String]]("tags").description("").defaultValue(List.empty[String] )) ) get("/pet/findByTags", operation(findPetsByTagsOperation)) {