Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] [KOTLIN] Fix default value generation for Kotlin Strings #5776

Merged
merged 4 commits into from
Apr 5, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -940,7 +940,7 @@ public String toDefaultValue(Schema p) {
}
} else if (ModelUtils.isStringSchema(p)) {
if (p.getDefault() != null) {
return "'" + p.getDefault() + "'";
return "\"" + p.getDefault() + "\"";
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.2.3-SNAPSHOT
4.3.1-SNAPSHOT
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
buildscript {
repositories {
jcenter()
mavenCentral()
maven { url = uri("https://repo1.maven.org/maven2") }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.2.0.M3")
Expand All @@ -15,7 +15,7 @@ version = "1.0.0"

repositories {
jcenter()
mavenCentral()
maven { url = uri("https://repo1.maven.org/maven2") }
}

tasks.withType<KotlinCompile> {
Expand Down Expand Up @@ -48,7 +48,7 @@ dependencies {
}

repositories {
mavenCentral()
maven { url = uri("https://repo1.maven.org/maven2") }
maven { url = uri("https://repo.spring.io/snapshot") }
maven { url = uri("https://repo.spring.io/milestone") }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package org.openapitools.api

import org.springframework.web.context.request.NativeWebRequest

import javax.servlet.http.HttpServletResponse
import java.io.IOException

object ApiUtil {
fun setExampleResponse(req: NativeWebRequest, contentType: String, example: String) {
try {
val res = req.getNativeResponse(HttpServletResponse::class.java)
res.setCharacterEncoding("UTF-8")
res.addHeader("Content-Type", contentType)
res.getWriter().print(example)
} catch (e: IOException) {
throw RuntimeException(e)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ class DefaultExceptionHandler {

@ExceptionHandler(value = [ApiException::class])
fun onApiException(ex: ApiException, response: HttpServletResponse): Unit =
response.sendError(ex.code, ex.message)
response.sendError(ex.code, ex.message)

@ExceptionHandler(value = [NotImplementedError::class])
fun onNotImplemented(ex: NotImplementedError, response: HttpServletResponse): Unit =
response.sendError(HttpStatus.NOT_IMPLEMENTED.value())
response.sendError(HttpStatus.NOT_IMPLEMENTED.value())

@ExceptionHandler(value = [ConstraintViolationException::class])
fun onConstraintViolation(ex: ConstraintViolationException, response: HttpServletResponse): Unit =
response.sendError(HttpStatus.BAD_REQUEST.value(), ex.constraintViolations.joinToString(", ") { it.message })
response.sendError(HttpStatus.BAD_REQUEST.value(), ex.constraintViolations.joinToString(", ") { it.message })
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ import io.swagger.annotations.ApiModelProperty
* @param id
* @param name
*/
data class Category (
data class Category(

@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("name") var name: kotlin.String? = null
@ApiModelProperty(example = "null", value = "")
@JsonProperty("name") var name: kotlin.String? = null
) {

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ import io.swagger.annotations.ApiModelProperty
* @param type
* @param message
*/
data class ModelApiResponse (
data class ModelApiResponse(

@ApiModelProperty(example = "null", value = "")
@JsonProperty("code") var code: kotlin.Int? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("code") var code: kotlin.Int? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("type") var type: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("type") var type: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("message") var message: kotlin.String? = null
@ApiModelProperty(example = "null", value = "")
@JsonProperty("message") var message: kotlin.String? = null
) {

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,25 @@ import io.swagger.annotations.ApiModelProperty
* @param status Order Status
* @param complete
*/
data class Order (
data class Order(

@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("petId") var petId: kotlin.Long? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("petId") var petId: kotlin.Long? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("quantity") var quantity: kotlin.Int? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("quantity") var quantity: kotlin.Int? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("shipDate") var shipDate: java.time.OffsetDateTime? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("shipDate") var shipDate: java.time.OffsetDateTime? = null,

@ApiModelProperty(example = "null", value = "Order Status")
@JsonProperty("status") var status: Order.Status? = null,
@ApiModelProperty(example = "null", value = "Order Status")
@JsonProperty("status") var status: Order.Status? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("complete") var complete: kotlin.Boolean? = null
@ApiModelProperty(example = "null", value = "")
@JsonProperty("complete") var complete: kotlin.Boolean? = null
) {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,27 @@ import io.swagger.annotations.ApiModelProperty
* @param tags
* @param status pet status in the store
*/
data class Pet (
data class Pet(

@get:NotNull
@ApiModelProperty(example = "doggie", required = true, value = "")
@JsonProperty("name") var name: kotlin.String,
@get:NotNull
@ApiModelProperty(example = "doggie", required = true, value = "")
@JsonProperty("name") var name: kotlin.String,

@get:NotNull
@ApiModelProperty(example = "null", required = true, value = "")
@JsonProperty("photoUrls") var photoUrls: kotlin.collections.List<kotlin.String>,
@get:NotNull
@ApiModelProperty(example = "null", required = true, value = "")
@JsonProperty("photoUrls") var photoUrls: kotlin.collections.List<kotlin.String>,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("category") var category: Category? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("category") var category: Category? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("tags") var tags: kotlin.collections.List<Tag>? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("tags") var tags: kotlin.collections.List<Tag>? = null,

@ApiModelProperty(example = "null", value = "pet status in the store")
@JsonProperty("status") var status: Pet.Status? = null
@ApiModelProperty(example = "null", value = "pet status in the store")
@JsonProperty("status") var status: Pet.Status? = null
) {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ import io.swagger.annotations.ApiModelProperty
* @param id
* @param name
*/
data class Tag (
data class Tag(

@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("name") var name: kotlin.String? = null
@ApiModelProperty(example = "null", value = "")
@JsonProperty("name") var name: kotlin.String? = null
) {

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,31 +22,31 @@ import io.swagger.annotations.ApiModelProperty
* @param phone
* @param userStatus User Status
*/
data class User (
data class User(

@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("id") var id: kotlin.Long? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("username") var username: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("username") var username: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("firstName") var firstName: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("firstName") var firstName: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("lastName") var lastName: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("lastName") var lastName: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("email") var email: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("email") var email: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("password") var password: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("password") var password: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "")
@JsonProperty("phone") var phone: kotlin.String? = null,
@ApiModelProperty(example = "null", value = "")
@JsonProperty("phone") var phone: kotlin.String? = null,

@ApiModelProperty(example = "null", value = "User Status")
@JsonProperty("userStatus") var userStatus: kotlin.Int? = null
@ApiModelProperty(example = "null", value = "User Status")
@JsonProperty("userStatus") var userStatus: kotlin.Int? = null
) {

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.2.1-SNAPSHOT
4.3.1-SNAPSHOT
4 changes: 2 additions & 2 deletions samples/server/petstore/kotlin/vertx/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>OpenAPI Petstore</name>
<name>OpenAPI Petstore</name>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down Expand Up @@ -187,4 +187,4 @@
</plugin>
</plugins>
</build>
</project>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonInclude
/**
* A pet for sale in the pet store
* @param id
* @param category
* @param name
* @param photoUrls
* @param id
* @param category
* @param tags
* @param status pet status in the store
*/
Expand Down