Skip to content

Commit adf9480

Browse files
committed
extract object schema comment
1 parent 2efd4fa commit adf9480

9 files changed

Lines changed: 27 additions & 10 deletions

File tree

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/converter/DataTypeConverter.kt‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import io.openapiprocessor.core.converter.mapping.*
99
import io.openapiprocessor.core.converter.wrapper.NullDataTypeWrapper
1010
import io.openapiprocessor.core.model.DataTypeCollector
1111
import io.openapiprocessor.core.model.DataTypes
12+
import io.openapiprocessor.core.model.Documentation
1213
import io.openapiprocessor.core.model.datatypes.*
1314
import java.util.*
1415
import kotlin.collections.LinkedHashMap
@@ -202,7 +203,10 @@ class DataTypeConverter(
202203
listOf(options.packageName, "model").joinToString("."),
203204
properties = properties,
204205
constraints = constraints,
205-
deprecated = schemaInfo.getDeprecated()
206+
deprecated = schemaInfo.getDeprecated(),
207+
documentation = Documentation(
208+
description = schemaInfo.description
209+
)
206210
)
207211

208212
dataTypes.add (objectType)

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/converter/SchemaInfo.kt‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,13 @@ class SchemaInfo(
109109
return schema?.getDefault()
110110
}
111111

112+
/**
113+
* get description.
114+
*
115+
* @return description or null
116+
*/
117+
val description: String? = schema?.description
118+
112119
/**
113120
* get deprecated value
114121
*

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/model/datatypes/ObjectDataType.kt‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.openapiprocessor.core.model.datatypes
1818

19+
import io.openapiprocessor.core.model.Documentation
20+
1921
/**
2022
* OpenAPI named #/component/schemas type or an inline type.
2123
*
@@ -28,9 +30,10 @@ class ObjectDataType(
2830
private val pkg: String,
2931
private val properties: LinkedHashMap<String, DataType> = linkedMapOf(), // preserves order
3032
constraints: DataTypeConstraints? = null,
31-
deprecated: Boolean = false
33+
deprecated: Boolean = false,
34+
override val documentation: Documentation? = null
3235

33-
): DataTypeBase(constraints, deprecated), ModelDataType {
36+
): DataTypeBase(constraints, deprecated, documentation), ModelDataType {
3437

3538
override fun getName(): String {
3639
return type

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/parser/Schema.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ interface Schema {
3434

3535
fun getDefault(): Any?
3636

37+
val description: String?
38+
3739
// default false
3840
fun isDeprecated(): Boolean
3941

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/parser/openapi4j/Schema.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ class Schema(val schema: O4jSchema) : ParserSchema {
7979

8080
override fun getDefault(): Any? = schema.default
8181

82+
override val description: String? = schema.description
83+
8284
override fun isDeprecated(): Boolean = schema.deprecated ?: false
8385

8486
override fun getRequired(): List<String> = schema.requiredFields ?: emptyList()

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/parser/swagger/Schema.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ class Schema(private val schema: SwaggerSchema<*>): ParserSchema {
8989

9090
override fun getDefault(): Any? = schema.default
9191

92+
override val description: String? = schema.description
93+
9294
override fun isDeprecated(): Boolean = schema.deprecated ?: false
9395

9496
override fun getRequired(): List<String> = schema.required ?: emptyList()

‎openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/writer/java/DataTypeWriter.kt‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,8 @@ class DataTypeWriter(
3838
target.write("@Deprecated\n")
3939
}
4040

41-
// add description
4241
if (apiOptions.javadoc) {
43-
target.write(
44-
javadocWriter.convert(dataType)
45-
)
42+
target.write(javadocWriter.convert(dataType))
4643
}
4744

4845
target.write("public class ${dataType.getName()} {\n\n")

‎openapi-processor-core/src/test/groovy/com/github/hauner/openapi/core/test/TestSchema.groovy‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ class TestSchema implements Schema {
5858
Map<String, Schema> properties
5959
List<?> enumValues = []
6060

61+
String description
62+
6163
def getDefault() {
6264
defaultValue
6365
}

‎openapi-processor-core/src/testInt/resources/tests/javadoc/generated/model/Foo.java‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77

88
import com.fasterxml.jackson.annotation.JsonProperty;
99

10-
/**
11-
* this is the *Foo* schema description
12-
*/
10+
/** this is the *Foo* schema description */
1311
public class Foo {
1412

1513
/**

0 commit comments

Comments
 (0)