1- package com.epages.restdocs.openapi.generator.schema
1+ package com.epages.restdocs.openapi.jsonschema
22
3- import com.epages.restdocs.openapi.generator.schema .ConstraintResolver.isRequired
4- import com.epages.restdocs.openapi.generator.schema .ConstraintResolver.maxLengthString
5- import com.epages.restdocs.openapi.generator.schema .ConstraintResolver.minLengthString
3+ import com.epages.restdocs.openapi.jsonschema .ConstraintResolver.isRequired
4+ import com.epages.restdocs.openapi.jsonschema .ConstraintResolver.maxLengthString
5+ import com.epages.restdocs.openapi.jsonschema .ConstraintResolver.minLengthString
66import com.fasterxml.jackson.databind.SerializationFeature
77import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
88import org.everit.json.schema.ArraySchema
@@ -20,11 +20,11 @@ import java.util.ArrayList
2020import java.util.Collections.emptyList
2121import java.util.function.Predicate
2222
23- internal class JsonSchemaFromFieldDescriptorsGenerator {
23+ class JsonSchemaFromFieldDescriptorsGenerator {
2424
25- internal fun generateSchema (fieldDescriptors : List <com.epages.restdocs.openapi.model.FieldDescriptor >, title : String? = null): String {
25+ fun generateSchema (fieldDescriptors : List <com.epages.restdocs.openapi.model.FieldDescriptor >, title : String? = null): String {
2626 val jsonFieldPaths = reduceFieldDescriptors(fieldDescriptors)
27- .map { com.epages.restdocs.openapi.generator.schema. JsonFieldPath .compile(it) }
27+ .map { JsonFieldPath .compile(it) }
2828
2929 val schema = traverse(emptyList(), jsonFieldPaths, ObjectSchema .builder().title(title) as ObjectSchema .Builder )
3030
@@ -48,7 +48,7 @@ internal class JsonSchemaFromFieldDescriptorsGenerator {
4848 }
4949 }
5050
51- private fun unWrapRootArray (jsonFieldPaths : List <com.epages.restdocs.openapi.generator.schema. JsonFieldPath >, schema : Schema ): Schema {
51+ private fun unWrapRootArray (jsonFieldPaths : List <JsonFieldPath >, schema : Schema ): Schema {
5252 if (schema is ObjectSchema ) {
5353 val groups = groupFieldsByFirstRemainingPathSegment(emptyList(), jsonFieldPaths)
5454 if (groups.keys.size == 1 && groups.keys.contains(" []" )) {
@@ -68,7 +68,7 @@ internal class JsonSchemaFromFieldDescriptorsGenerator {
6868
6969 private fun traverse (
7070 traversedSegments : List <String >,
71- jsonFieldPaths : List <com.epages.restdocs.openapi.generator.schema. JsonFieldPath >,
71+ jsonFieldPaths : List <JsonFieldPath >,
7272 builder : ObjectSchema .Builder
7373 ): Schema {
7474
@@ -102,30 +102,30 @@ internal class JsonSchemaFromFieldDescriptorsGenerator {
102102 return builder.build()
103103 }
104104
105- private fun isDirectMatch (traversedSegments : List <String >): Predicate <com.epages.restdocs.openapi.generator.schema. JsonFieldPath > {
105+ private fun isDirectMatch (traversedSegments : List <String >): Predicate <JsonFieldPath > {
106106 // we have a direct match when there are no remaining segments or when the only following element is an array
107107 return Predicate { jsonFieldPath ->
108108 val remainingSegments = jsonFieldPath.remainingSegments(traversedSegments)
109- remainingSegments.isEmpty() || remainingSegments.size == 1 && com.epages.restdocs.openapi.generator.schema. JsonFieldPath .isArraySegment(remainingSegments[0 ])
109+ remainingSegments.isEmpty() || remainingSegments.size == 1 && JsonFieldPath .isArraySegment(remainingSegments[0 ])
110110 }
111111 }
112112
113113 private fun groupFieldsByFirstRemainingPathSegment (
114114 traversedSegments : List <String >,
115- jsonFieldPaths : List <com.epages.restdocs.openapi.generator.schema. JsonFieldPath >
116- ): Map <String , List <com.epages.restdocs.openapi.generator.schema. JsonFieldPath >> {
115+ jsonFieldPaths : List <JsonFieldPath >
116+ ): Map <String , List <JsonFieldPath >> {
117117 return jsonFieldPaths.groupBy { it.remainingSegments(traversedSegments)[0 ] }
118118 }
119119
120120 private fun processRemainingSegments (
121121 builder : ObjectSchema .Builder ,
122122 propertyName : String ,
123123 traversedSegments : MutableList <String >,
124- fields : List <com.epages.restdocs.openapi.generator.schema. JsonFieldPath >,
124+ fields : List <JsonFieldPath >,
125125 description : String?
126126 ) {
127127 val remainingSegments = fields[0 ].remainingSegments(traversedSegments)
128- if (remainingSegments.isNotEmpty() && com.epages.restdocs.openapi.generator.schema. JsonFieldPath .isArraySegment(remainingSegments[0 ])) {
128+ if (remainingSegments.isNotEmpty() && JsonFieldPath .isArraySegment(remainingSegments[0 ])) {
129129 traversedSegments.add(remainingSegments[0 ])
130130 builder.addPropertySchema(
131131 propertyName, ArraySchema .builder()
@@ -221,7 +221,7 @@ internal class JsonSchemaFromFieldDescriptorsGenerator {
221221 else -> throw IllegalArgumentException (" unknown field type $type " )
222222 }
223223
224- fun equalsOnPathAndType (f : JsonSchemaFromFieldDescriptorsGenerator . FieldDescriptorWithSchemaType ): Boolean =
224+ fun equalsOnPathAndType (f : FieldDescriptorWithSchemaType ): Boolean =
225225 (this .path == f.path &&
226226 this .type == f.type)
227227
0 commit comments