diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java index 72646d58cd7a8cc957cfe607e7ac990ce55c18ad..0ceba7756097e162ce0b4eed456be1db99bccf57 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java @@ -20,14 +20,7 @@ package org.openapitools.codegen.languages; import static java.util.Collections.sort; import org.apache.commons.lang3.StringUtils; -import org.openapitools.codegen.CliOption; -import org.openapitools.codegen.CodegenConstants; -import org.openapitools.codegen.CodegenModel; -import org.openapitools.codegen.CodegenOperation; -import org.openapitools.codegen.CodegenParameter; -import org.openapitools.codegen.CodegenProperty; -import org.openapitools.codegen.CodegenType; -import org.openapitools.codegen.SupportingFile; +import org.openapitools.codegen.*; import org.openapitools.codegen.meta.features.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,6 +55,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { public static final String COLLECTION_TYPE = "collectionType"; protected static final String VENDOR_EXTENSION_BASE_NAME_LITERAL = "x-base-name-literal"; + protected static final String VENDOR_EXTENSION_DISCRIMINATOR_BASE_NAME_LITERAL = "x-base-name-discriminator-literal"; protected String dateLibrary = DateLibrary.JAVA8.value; protected String requestDateConverter = RequestDateConverter.TO_JSON.value; @@ -618,6 +612,11 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { for (CodegenProperty var : vars) { var.vendorExtensions.put(VENDOR_EXTENSION_BASE_NAME_LITERAL, var.baseName.replace("$", "\\$")); } + + CodegenDiscriminator discriminator = cm.getDiscriminator(); + if(discriminator != null) { + cm.vendorExtensions.put(VENDOR_EXTENSION_DISCRIMINATOR_BASE_NAME_LITERAL, discriminator.getPropertyBaseName().replace("$", "\\$")); + } } return objects; diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache index 1f58112db538cc4b3afae489ba426eb31377435f..ae0eab921c199725c9baf2871f0f56bd3bbef496 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache @@ -20,6 +20,9 @@ buildscript { {{#useRxJava3}} ext.rxJava3Version = '3.0.10' {{/useRxJava3}} + {{#moshi}} + ext.moshiVersion = '1.11.0' + {{/moshi}} repositories { maven { url "https://repo1.maven.org/maven2" } @@ -56,12 +59,13 @@ dependencies { {{#moshi}} {{^moshiCodeGen}} compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" {{/moshiCodeGen}} {{#moshiCodeGen}} - compile "com.squareup.moshi:moshi:1.11.0" - kapt "com.squareup.moshi:moshi-kotlin-codegen:1.11.0" + compile "com.squareup.moshi:moshi:$moshiVersion" + kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshiVersion" {{/moshiCodeGen}} + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" {{/moshi}} {{#gson}} compile "com.google.code.gson:gson:2.8.6" diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache index 117cdef8fd790c47f1f3fb755ed0a58d685bde0c..bffffc8db9594e7fbd5d4a757c9eb5d42152f44d 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache @@ -45,7 +45,7 @@ import java.io.Serializable {{#parcelizeModels}} @Parcelize {{/parcelizeModels}} -{{#multiplatform}}@Serializable{{/multiplatform}}{{#kotlinx_serialization}}{{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{/serializableModel}}{{/kotlinx_serialization}}{{#moshi}}{{#moshiCodeGen}}@JsonClass(generateAdapter = true){{/moshiCodeGen}}{{/moshi}}{{#jackson}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{/jackson}} +{{#multiplatform}}@Serializable{{/multiplatform}}{{#kotlinx_serialization}}{{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{/serializableModel}}{{/kotlinx_serialization}}{{#moshi}}{{^discriminator}}{{#moshiCodeGen}}@JsonClass(generateAdapter = true){{/moshiCodeGen}}{{/discriminator}}{{/moshi}}{{#jackson}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{/jackson}} {{#isDeprecated}} @Deprecated(message = "This schema is deprecated.") {{/isDeprecated}} diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/interface_opt_var.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/interface_opt_var.mustache index 6d23fb240a0ca0e327c6a0b30ae74d439815dbb5..298d88ddea044256d44b53239d04721205fc68a2 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/interface_opt_var.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/interface_opt_var.mustache @@ -3,7 +3,7 @@ {{/description}} {{^multiplatform}} {{#moshi}} - @Json(name = "{{{vendorExtensions.x-base-name-literal}}}") + {{^discriminator}}@Json(name = "{{{vendorExtensions.x-base-name-literal}}}"){{/discriminator}} {{/moshi}} {{#gson}} @get:SerializedName("{{{vendorExtensions.x-base-name-literal}}}") diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache index beef3fc2bf380b36bacd1330ac29d9c78b217828..b517936da1e919305a3a0da5c3eeff179114c109 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache @@ -2,6 +2,7 @@ package {{packageName}}.infrastructure {{#moshi}} import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory {{^moshiCodeGen}} import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory {{/moshiCodeGen}} @@ -51,6 +52,10 @@ import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.atomic.AtomicLong {{/kotlinx_serialization}} +{{#moshi}} +import {{modelPackage}}.* +{{/moshi}} + {{#nonPublicApi}}internal {{/nonPublicApi}}object Serializer { {{#moshi}} @JvmStatic @@ -60,11 +65,16 @@ import java.util.concurrent.atomic.AtomicLong .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) + .add(BigDecimalAdapter()) + .add(BigIntegerAdapter()) {{^moshiCodeGen}} .add(KotlinJsonAdapterFactory()) {{/moshiCodeGen}} - .add(BigDecimalAdapter()) - .add(BigIntegerAdapter()) + {{#models}}{{#model}}{{#discriminator}}.add(PolymorphicJsonAdapterFactory.of({{classname}}::class.java, "{{{vendorExtensions.x-base-name-discriminator-literal}}}") + {{#mappedModels}} + .withSubtype({{modelName}}::class.java, "{{mappingName}}") + {{/mappedModels}} + ){{/discriminator}}{{/model}}{{/models}} @JvmStatic val moshi: Moshi by lazy { @@ -78,7 +88,7 @@ import java.util.concurrent.atomic.AtomicLong .registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter()) .registerTypeAdapter(LocalDate::class.java, LocalDateAdapter()) .registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter()) - + @JvmStatic val gson: Gson by lazy { gsonBuilder.create() diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index b80e0390de2d33aa5140c42df6455bdb4b909042..4603b266960ed76cb1b2360d0230dd3e75ddf5e8 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -8,6 +8,7 @@ import java.time.OffsetDateTime import java.util.UUID import java.util.Date + object Serializer { @JvmStatic val gsonBuilder: GsonBuilder = GsonBuilder() @@ -15,7 +16,7 @@ object Serializer { .registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter()) .registerTypeAdapter(LocalDate::class.java, LocalDateAdapter()) .registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter()) - + @JvmStatic val gson: Gson by lazy { gsonBuilder.create() diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index ec931412660718971e91388c6a3853c3aec84609..20bbc3a1333061000940d909516437f4f065f81f 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import java.util.Date + object Serializer { @JvmStatic val jacksonObjectMapper: ObjectMapper = jacksonObjectMapper() diff --git a/samples/client/petstore/kotlin-json-request-string/build.gradle b/samples/client/petstore/kotlin-json-request-string/build.gradle index 60e5056e03163b56773e5305d94d70148f8fa6cd..34d16649ec0edd45e7c85eb483568da15d03ba41 100644 --- a/samples/client/petstore/kotlin-json-request-string/build.gradle +++ b/samples/client/petstore/kotlin-json-request-string/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index b80e0390de2d33aa5140c42df6455bdb4b909042..4603b266960ed76cb1b2360d0230dd3e75ddf5e8 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -8,6 +8,7 @@ import java.time.OffsetDateTime import java.util.UUID import java.util.Date + object Serializer { @JvmStatic val gsonBuilder: GsonBuilder = GsonBuilder() @@ -15,7 +16,7 @@ object Serializer { .registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter()) .registerTypeAdapter(LocalDate::class.java, LocalDateAdapter()) .registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter()) - + @JvmStatic val gson: Gson by lazy { gsonBuilder.create() diff --git a/samples/client/petstore/kotlin-moshi-codegen/build.gradle b/samples/client/petstore/kotlin-moshi-codegen/build.gradle index 5e86b0b1a36277acc8ceaaf9195260a907caf2b3..1fc6265e462a2b0794909de3cb0db93934b83f4a 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/build.gradle +++ b/samples/client/petstore/kotlin-moshi-codegen/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,8 +31,9 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - compile "com.squareup.moshi:moshi:1.11.0" - kapt "com.squareup.moshi:moshi-kotlin-codegen:1.11.0" + compile "com.squareup.moshi:moshi:$moshiVersion" + kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 1ac7a1908fa63ad3633812dc09f2b9ce79bdc875..6c52e560160776956d7d4601d7fd9ab121e1e38a 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,8 +1,11 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -13,6 +16,7 @@ object Serializer { .add(ByteArrayAdapter()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-nonpublic/build.gradle b/samples/client/petstore/kotlin-nonpublic/build.gradle index 60e5056e03163b56773e5305d94d70148f8fa6cd..34d16649ec0edd45e7c85eb483568da15d03ba41 100644 --- a/samples/client/petstore/kotlin-nonpublic/build.gradle +++ b/samples/client/petstore/kotlin-nonpublic/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 54e21400c43fe0769c3c6a60221c679e1d75bb98..de8a4ce2117452a932c0236d77166a3a6c7c3fbc 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + internal object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ internal object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-nullable/build.gradle b/samples/client/petstore/kotlin-nullable/build.gradle index 60e5056e03163b56773e5305d94d70148f8fa6cd..34d16649ec0edd45e7c85eb483568da15d03ba41 100644 --- a/samples/client/petstore/kotlin-nullable/build.gradle +++ b/samples/client/petstore/kotlin-nullable/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-okhttp3/build.gradle b/samples/client/petstore/kotlin-okhttp3/build.gradle index 1da4409df35fad64697c81cec4d7c0c93e76fae9..6bdf65f4c7e183c6d1530b4bda3d237acd509662 100644 --- a/samples/client/petstore/kotlin-okhttp3/build.gradle +++ b/samples/client/petstore/kotlin-okhttp3/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:3.12.13" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 624053c30742c9a6942928016a2731754bba0fad..35b4d1ce41d6b8df18df261e15a73073506e0bcc 100644 --- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -15,6 +15,7 @@ import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.atomic.AtomicLong + object Serializer { @JvmStatic val kotlinSerializationAdapters = SerializersModule { diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/build.gradle b/samples/client/petstore/kotlin-retrofit2-rx3/build.gradle index b55dfb35245f84edb324a23d2402fd599af8bc05..f9da2bd483f06b97c0eedd91013977b2734139f6 100644 --- a/samples/client/petstore/kotlin-retrofit2-rx3/build.gradle +++ b/samples/client/petstore/kotlin-retrofit2-rx3/build.gradle @@ -10,6 +10,7 @@ buildscript { ext.kotlin_version = '1.4.30' ext.retrofitVersion = '2.7.2' ext.rxJava3Version = '3.0.10' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -32,7 +33,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.0" compile "com.squareup.okhttp3:logging-interceptor:4.9.0" compile "io.reactivex.rxjava3:rxjava:$rxJava3Version" diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-retrofit2-rx3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-retrofit2-rx3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-retrofit2-rx3/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-retrofit2/build.gradle b/samples/client/petstore/kotlin-retrofit2/build.gradle index 109eb2ca069f5f5257fd46ef23fc7ee3c25f1e2e..68dacc2360a7fbceeb43c7c2fbea9d45860db09e 100644 --- a/samples/client/petstore/kotlin-retrofit2/build.gradle +++ b/samples/client/petstore/kotlin-retrofit2/build.gradle @@ -9,6 +9,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' ext.retrofitVersion = '2.7.2' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -31,7 +32,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.0" compile "com.squareup.okhttp3:logging-interceptor:4.9.0" compile "com.squareup.retrofit2:retrofit:$retrofitVersion" diff --git a/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-string/build.gradle b/samples/client/petstore/kotlin-string/build.gradle index 60e5056e03163b56773e5305d94d70148f8fa6cd..34d16649ec0edd45e7c85eb483568da15d03ba41 100644 --- a/samples/client/petstore/kotlin-string/build.gradle +++ b/samples/client/petstore/kotlin-string/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-threetenbp/build.gradle b/samples/client/petstore/kotlin-threetenbp/build.gradle index 87605daa9d22ace0baf820cf948d0a7a29b8d3fa..9623adba5f99c88e6c59863069df44904e43ab6a 100644 --- a/samples/client/petstore/kotlin-threetenbp/build.gradle +++ b/samples/client/petstore/kotlin-threetenbp/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" compile "org.threeten:threetenbp:1.5.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin-uppercase-enum/build.gradle b/samples/client/petstore/kotlin-uppercase-enum/build.gradle index 60e5056e03163b56773e5305d94d70148f8fa6cd..34d16649ec0edd45e7c85eb483568da15d03ba41 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/build.gradle +++ b/samples/client/petstore/kotlin-uppercase-enum/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..0bccf02ff4e12dfe596721925a57bafc41a2aa94 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,9 +1,12 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* + object Serializer { @JvmStatic val moshiBuilder: Moshi.Builder = Moshi.Builder() @@ -12,9 +15,10 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) - .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter()) + .add(KotlinJsonAdapterFactory()) + @JvmStatic val moshi: Moshi by lazy { diff --git a/samples/client/petstore/kotlin/build.gradle b/samples/client/petstore/kotlin/build.gradle index 60e5056e03163b56773e5305d94d70148f8fa6cd..34d16649ec0edd45e7c85eb483568da15d03ba41 100644 --- a/samples/client/petstore/kotlin/build.gradle +++ b/samples/client/petstore/kotlin/build.gradle @@ -8,6 +8,7 @@ wrapper { buildscript { ext.kotlin_version = '1.4.30' + ext.moshiVersion = '1.11.0' repositories { maven { url "https://repo1.maven.org/maven2" } @@ -30,7 +31,8 @@ test { dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - compile "com.squareup.moshi:moshi-kotlin:1.11.0" + compile "com.squareup.moshi:moshi-kotlin:$moshiVersion" + compile "com.squareup.moshi:moshi-adapters:$moshiVersion" compile "com.squareup.okhttp3:okhttp:4.9.0" testCompile "io.kotlintest:kotlintest-runner-junit5:3.4.2" } diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt index 3d0a6c32566a552afd66096c3317bf3e718b7e8c..d0e9c21280501479c2d0fe99fcc5464b86be28af 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -1,8 +1,10 @@ package org.openapitools.client.infrastructure import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.util.Date +import org.openapitools.client.models.* object Serializer { @JvmStatic @@ -12,6 +14,7 @@ object Serializer { .add(LocalDateAdapter()) .add(UUIDAdapter()) .add(ByteArrayAdapter()) + .add(KotlinJsonAdapterFactory()) .add(BigDecimalAdapter()) .add(BigIntegerAdapter())