From f921f4f4da40ea74da5581e0fe65039244bb433f Mon Sep 17 00:00:00 2001 From: Greg Marzouka Date: Fri, 10 Nov 2017 02:57:40 -0500 Subject: [PATCH] [Scala] Default case class Option types to None for non-required fields (#6790) * [Scala] Default case class Option types to None * Update Petstore sample --- .../src/main/resources/scala/model.mustache | 2 +- .../client/petstore-security-test/scala/pom.xml | 2 +- .../scala/io/swagger/client/api/FakeApi.scala | 16 ++++++---------- .../io/swagger/client/model/ModelReturn.scala | 2 +- .../io/swagger/client/model/ApiResponse.scala | 6 +++--- .../scala/io/swagger/client/model/Category.scala | 4 ++-- .../scala/io/swagger/client/model/Order.scala | 12 ++++++------ .../main/scala/io/swagger/client/model/Pet.scala | 8 ++++---- .../main/scala/io/swagger/client/model/Tag.scala | 4 ++-- .../scala/io/swagger/client/model/User.scala | 16 ++++++++-------- 10 files changed, 34 insertions(+), 38 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/scala/model.mustache b/modules/swagger-codegen/src/main/resources/scala/model.mustache index 12b635bfb3e..f44fc1e5a78 100644 --- a/modules/swagger-codegen/src/main/resources/scala/model.mustache +++ b/modules/swagger-codegen/src/main/resources/scala/model.mustache @@ -12,7 +12,7 @@ case class {{classname}} ( {{#description}} /* {{{description}}} */ {{/description}} - {{{name}}}: {{^required}}Option[{{/required}}{{datatype}}{{^required}}]{{/required}}{{#hasMore}},{{/hasMore}} + {{{name}}}: {{^required}}Option[{{/required}}{{datatype}}{{^required}}] = None{{/required}}{{#hasMore}},{{/hasMore}} {{/vars}} ) diff --git a/samples/client/petstore-security-test/scala/pom.xml b/samples/client/petstore-security-test/scala/pom.xml index eceb1e6fdc4..b23683abc17 100644 --- a/samples/client/petstore-security-test/scala/pom.xml +++ b/samples/client/petstore-security-test/scala/pom.xml @@ -211,7 +211,7 @@ com.wordnik.swagger - swagger-async-httpclient_2.11 + swagger-async-httpclient_2.10 ${swagger-async-httpclient-version} diff --git a/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/api/FakeApi.scala b/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/api/FakeApi.scala index 05a73b29609..fc6d1d282b6 100644 --- a/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/api/FakeApi.scala +++ b/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/api/FakeApi.scala @@ -40,10 +40,8 @@ import scala.concurrent._ import scala.concurrent.duration._ import scala.util.{Failure, Success, Try} -class FakeApi( - val defBasePath: String = "https://petstore.swagger.io *_/ ' \" =end -- \\r\\n \\n \\r/v2 *_/ ' \" =end -- \\r\\n \\n \\r", - defApiInvoker: ApiInvoker = ApiInvoker -) { +class FakeApi(val defBasePath: String = "https://petstore.swagger.io *_/ ' \" =end -- \\r\\n \\n \\r/v2 *_/ ' \" =end -- \\r\\n \\n \\r", + defApiInvoker: ApiInvoker = ApiInvoker) { implicit val formats = new org.json4s.DefaultFormats { override def dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS+0000") @@ -55,13 +53,10 @@ class FakeApi( implicit val stringWriter = RequestWriters.StringWriter implicit val jsonWriter = JsonFormatsWriter - var basePath: String = defBasePath - var apiInvoker: ApiInvoker = defApiInvoker - - def addHeader(key: String, value: String): mutable.HashMap[String, String] = { - apiInvoker.defaultHeaders += key -> value - } + var basePath = defBasePath + var apiInvoker = defApiInvoker + def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value val config = SwaggerConfig.forUrl(new URI(defBasePath)) val client = new RestClient(config) val helper = new FakeApiAsyncHelper(client, config) @@ -90,6 +85,7 @@ class FakeApi( helper.testCodeInject * ' " =end rn n r(testCodeInjectEndRnNR) } + } class FakeApiAsyncHelper(client: TransportClient, config: SwaggerConfig) extends ApiClient(client, config) { diff --git a/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/model/ModelReturn.scala b/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/model/ModelReturn.scala index 8f297a86b7a..b2ce925e121 100644 --- a/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/model/ModelReturn.scala +++ b/samples/client/petstore-security-test/scala/src/main/scala/io/swagger/client/model/ModelReturn.scala @@ -15,6 +15,6 @@ package io.swagger.client.model case class ModelReturn ( /* property description *_/ ' \" =end -- \\r\\n \\n \\r */ - _return: Option[Integer] + _return: Option[Integer] = None ) diff --git a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/ApiResponse.scala b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/ApiResponse.scala index a2badb49ae1..220a5e48d9e 100644 --- a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/ApiResponse.scala +++ b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/ApiResponse.scala @@ -14,8 +14,8 @@ package io.swagger.client.model case class ApiResponse ( - code: Option[Integer], - _type: Option[String], - message: Option[String] + code: Option[Integer] = None, + _type: Option[String] = None, + message: Option[String] = None ) diff --git a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Category.scala b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Category.scala index e39d097b918..657b90de8a7 100644 --- a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Category.scala +++ b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Category.scala @@ -14,7 +14,7 @@ package io.swagger.client.model case class Category ( - id: Option[Long], - name: Option[String] + id: Option[Long] = None, + name: Option[String] = None ) diff --git a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Order.scala b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Order.scala index 84691796eaf..fae3fddacb1 100644 --- a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Order.scala +++ b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Order.scala @@ -15,12 +15,12 @@ package io.swagger.client.model import java.util.Date case class Order ( - id: Option[Long], - petId: Option[Long], - quantity: Option[Integer], - shipDate: Option[Date], + id: Option[Long] = None, + petId: Option[Long] = None, + quantity: Option[Integer] = None, + shipDate: Option[Date] = None, /* Order Status */ - status: Option[String], - complete: Option[Boolean] + status: Option[String] = None, + complete: Option[Boolean] = None ) diff --git a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Pet.scala b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Pet.scala index baabc18c99f..88c868637e9 100644 --- a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Pet.scala +++ b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Pet.scala @@ -14,12 +14,12 @@ package io.swagger.client.model case class Pet ( - id: Option[Long], - category: Option[Category], + id: Option[Long] = None, + category: Option[Category] = None, name: String, photoUrls: List[String], - tags: Option[List[Tag]], + tags: Option[List[Tag]] = None, /* pet status in the store */ - status: Option[String] + status: Option[String] = None ) diff --git a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Tag.scala b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Tag.scala index 5ae718fd7e8..ee39797b41c 100644 --- a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Tag.scala +++ b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/Tag.scala @@ -14,7 +14,7 @@ package io.swagger.client.model case class Tag ( - id: Option[Long], - name: Option[String] + id: Option[Long] = None, + name: Option[String] = None ) diff --git a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/User.scala b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/User.scala index c5bdb386638..46183e94547 100644 --- a/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/User.scala +++ b/samples/client/petstore/scala/src/main/scala/io/swagger/client/model/User.scala @@ -14,14 +14,14 @@ package io.swagger.client.model case class User ( - id: Option[Long], - username: Option[String], - firstName: Option[String], - lastName: Option[String], - email: Option[String], - password: Option[String], - phone: Option[String], + id: Option[Long] = None, + username: Option[String] = None, + firstName: Option[String] = None, + lastName: Option[String] = None, + email: Option[String] = None, + password: Option[String] = None, + phone: Option[String] = None, /* User Status */ - userStatus: Option[Integer] + userStatus: Option[Integer] = None )