Skip to content

Commit

Permalink
Register sample
Browse files Browse the repository at this point in the history
  • Loading branch information
Eric Durand-Tremblay committed Oct 13, 2021
1 parent 68604c7 commit c4104fe
Show file tree
Hide file tree
Showing 33 changed files with 1,172 additions and 45 deletions.
8 changes: 8 additions & 0 deletions bin/configs/kotlin-enum-default-value.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-enum-default-value
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/issue10591-enum-defaultValue.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-enum-default-value
serializableModel: "true"
dateLibrary: java8
Original file line number Diff line number Diff line change
Expand Up @@ -272,22 +272,4 @@ public void testEnumPropertyWithDefaultValue() {
Assert.assertEquals(cp1.getEnumName(), "PropertyName");
Assert.assertEquals(cp1.getDefaultValue(), "PropertyName.vALUE");
}

@Test
public void testNullableObjectProperty() {
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/kotlin/nullable-object-property.yaml");
final AbstractKotlinCodegen codegen = new P_AbstractKotlinCodegen();

codegen.preprocessOpenAPI(openAPI);

Schema test1 = openAPI.getComponents().getSchemas().get("ModelWithNullableObjectProperty");
CodegenModel cm1 = codegen.fromModel("ModelWithNullableObjectProperty", test1);


// codegen.processm()
Map<String, Object> models = Collections.singletonMap("models", Collections.singletonList(Collections.singletonMap("model", cm1)));
codegen.postProcessAllModels(models);
// We need to postProcess the model for enums to be processed
codegen.postProcessModels(models);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs

# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux

# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux

# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
README.md
build.gradle
docs/DefaultApi.md
docs/ModelWithEnumPropertyHavingDefault.md
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
gradlew
gradlew.bat
settings.gradle
src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt
src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
src/main/kotlin/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt
src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt
src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt
src/main/kotlin/org/openapitools/client/infrastructure/ResponseExtensions.kt
src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt
src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt
src/main/kotlin/org/openapitools/client/models/ModelWithEnumPropertyHavingDefault.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5.3.0-SNAPSHOT
50 changes: 50 additions & 0 deletions samples/client/petstore/kotlin-enum-default-value/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# org.openapitools.client - Kotlin client library for Issue 10591 Enum default value

## Requires

* Kotlin 1.4.30
* Gradle 6.8.3

## Build

First, create the gradle wrapper script:

```
gradle wrapper
```

Then, run:

```
./gradlew check assemble
```

This runs all tests and packages the library.

## Features/Implementation Notes

* Supports JSON inputs/outputs, File inputs, and Form inputs.
* Supports collection formats for query parameters: csv, tsv, ssv, pipes.
* Some Kotlin and Java types are fully qualified to avoid conflicts with types defined in OpenAPI definitions.
* Implementation of ApiClient is intended to reduce method counts, specifically to benefit Android targets.

<a name="documentation-for-api-endpoints"></a>
## Documentation for API Endpoints

All URIs are relative to *http://localhost*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**operation**](docs/DefaultApi.md#operation) | **GET** / |


<a name="documentation-for-models"></a>
## Documentation for Models

- [org.openapitools.client.models.ModelWithEnumPropertyHavingDefault](docs/ModelWithEnumPropertyHavingDefault.md)


<a name="documentation-for-authorization"></a>
## Documentation for Authorization

All endpoints do not require authorization.
37 changes: 37 additions & 0 deletions samples/client/petstore/kotlin-enum-default-value/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
group 'org.openapitools'
version '1.0.0'

wrapper {
gradleVersion = '6.8.3'
distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip"
}

buildscript {
ext.kotlin_version = '1.5.10'

repositories {
maven { url "https://repo1.maven.org/maven2" }
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

apply plugin: 'kotlin'

repositories {
maven { url "https://repo1.maven.org/maven2" }
}

test {
useJUnitPlatform()
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation "com.squareup.moshi:moshi-kotlin:1.12.0"
implementation "com.squareup.moshi:moshi-adapters:1.12.0"
implementation "com.squareup.okhttp3:okhttp:4.9.1"
testImplementation "io.kotlintest:kotlintest-runner-junit5:3.4.2"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# DefaultApi

All URIs are relative to *http://localhost*

Method | HTTP request | Description
------------- | ------------- | -------------
[**operation**](DefaultApi.md#operation) | **GET** / |


<a name="operation"></a>
# **operation**
> ModelWithEnumPropertyHavingDefault operation()


### Example
```kotlin
// Import classes:
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiInstance = DefaultApi()
try {
val result : ModelWithEnumPropertyHavingDefault = apiInstance.operation()
println(result)
} catch (e: ClientException) {
println("4xx response calling DefaultApi#operation")
e.printStackTrace()
} catch (e: ServerException) {
println("5xx response calling DefaultApi#operation")
e.printStackTrace()
}
```

### Parameters
This endpoint does not need any parameter.

### Return type

[**ModelWithEnumPropertyHavingDefault**](ModelWithEnumPropertyHavingDefault.md)

### Authorization

No authorization required

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

# ModelWithEnumPropertyHavingDefault

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertyName** | [**inline**](#PropertyName) | |


<a name="PropertyName"></a>
## Enum: propertyName
Name | Value
---- | -----
propertyName | VALUE



Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit c4104fe

Please sign in to comment.