Skip to content

Commit 12481dc

Browse files
authored
Merge pull request #147 from openapi-processor/generated
2 parents 1b3abfa + ff83f5f commit 12481dc

File tree

17 files changed

+58
-191
lines changed

17 files changed

+58
-191
lines changed

src/main/kotlin/io/openapiprocessor/spring/processor/SpringProcessor.kt

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,19 @@ import io.openapiprocessor.core.converter.ApiOptions
1313
import io.openapiprocessor.core.converter.OptionsConverter
1414
import io.openapiprocessor.core.parser.Parser
1515
import io.openapiprocessor.core.writer.java.*
16-
import io.openapiprocessor.spring.writer.java.HeaderWriter
16+
import io.openapiprocessor.spring.Version
1717
import io.openapiprocessor.spring.writer.java.MappingAnnotationWriter
1818
import io.openapiprocessor.spring.writer.java.ParameterAnnotationWriter
1919
import org.slf4j.Logger
2020
import org.slf4j.LoggerFactory
21+
import java.time.OffsetDateTime
2122

2223
/**
2324
* Entry point of openapi-processor-spring.
2425
*/
2526
class SpringProcessor: OpenApiProcessor, io.openapiprocessor.api.v1.OpenApiProcessor {
2627
private val log: Logger = LoggerFactory.getLogger(this.javaClass.name)
28+
private var testMode = false
2729

2830
override fun getName(): String {
2931
return "spring"
@@ -44,15 +46,17 @@ class SpringProcessor: OpenApiProcessor, io.openapiprocessor.api.v1.OpenApiProce
4446
val cv = ApiConverter(options, framework)
4547
val api = cv.convert(openapi)
4648

47-
val headerWriter = HeaderWriter()
49+
val generatedInfo = createGeneratedInfo(options)
50+
val generatedWriter = GeneratedWriterImpl(generatedInfo, options)
4851
val beanValidationFactory = BeanValidationFactory()
4952
val javaDocWriter = JavaDocWriter()
5053

5154
val writer = ApiWriter(
5255
options,
56+
generatedWriter,
5357
InterfaceWriter(
5458
options,
55-
headerWriter,
59+
generatedWriter,
5660
MethodWriter(
5761
options,
5862
MappingAnnotationWriter(),
@@ -66,12 +70,12 @@ class SpringProcessor: OpenApiProcessor, io.openapiprocessor.api.v1.OpenApiProce
6670
),
6771
DataTypeWriter(
6872
options,
69-
headerWriter,
73+
generatedWriter,
7074
beanValidationFactory),
71-
StringEnumWriter (headerWriter),
75+
StringEnumWriter (generatedWriter),
7276
InterfaceDataTypeWriter(
7377
options,
74-
headerWriter,
78+
generatedWriter,
7579
javaDocWriter
7680
)
7781
)
@@ -83,6 +87,30 @@ class SpringProcessor: OpenApiProcessor, io.openapiprocessor.api.v1.OpenApiProce
8387
}
8488
}
8589

90+
private fun createGeneratedInfo(options: ApiOptions): GeneratedInfo {
91+
var version = Version.version
92+
var date: String? = OffsetDateTime.now().toString()
93+
94+
if (!options.generatedDate)
95+
date = null
96+
97+
if (testMode) {
98+
version = "test"
99+
date = null
100+
}
101+
102+
return GeneratedInfo(
103+
"openapi-processor-spring",
104+
version,
105+
date
106+
//"https://openapiprocessor.io"
107+
)
108+
}
109+
110+
fun enableTestMode () {
111+
testMode = true
112+
}
113+
86114
@Suppress("UNCHECKED_CAST")
87115
private fun convertOptions(processorOptions: Map<String, *>): ApiOptions {
88116
val options = OptionsConverter().convertOptions (processorOptions as Map<String, Any>)

src/main/kotlin/io/openapiprocessor/spring/writer/java/HeaderWriter.kt

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/test/groovy/io/openapiprocessor/spring/writer/java/HeaderWriterSpec.groovy

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorEndToEndJimfsSpec.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ class ProcessorEndToEndJimfsSpec: StringSpec({
3434
})
3535

3636
private fun sources(): Collection<TestSet> {
37-
setTestHeader()
38-
3937
// the swagger parser does not work with a custom FileSystem
4038

4139
val openapi4j = ALL_30.map {

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorEndToEndSpec.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ class ProcessorEndToEndSpec: StringSpec({
3535
})
3636

3737
private fun sources(): Collection<TestSet> {
38-
setTestHeader()
39-
4038
val swagger = ALL_30.map {
4139
testSet(it.name, ParserType.SWAGGER, it.openapi)
4240
}

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorPendingSpec.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ class ProcessorPendingSpec: StringSpec({
3434
})
3535

3636
private fun sources(): Collection<TestSet> {
37-
setTestHeader()
38-
3937
return listOf(
4038
testSet("params-request-body-multipart-mapping", INTERNAL, API_30),
4139
testSet("params-request-body-multipart-mapping", INTERNAL, API_31)

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorTestSetsSupport.kt

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package io.openapiprocessor.spring
77

88
import io.openapiprocessor.core.parser.ParserType
99
import io.openapiprocessor.spring.processor.SpringProcessor
10-
import io.openapiprocessor.spring.writer.java.HEADER
1110
import io.openapiprocessor.test.TestSet
1211

1312

@@ -23,28 +22,15 @@ fun testSet(
2322
inputs: String = "inputs.yaml",
2423
generated: String = "generated.yaml"): TestSet {
2524

25+
val processor = SpringProcessor()
26+
processor.enableTestMode()
27+
2628
val testSet = TestSet()
2729
testSet.name = name
28-
testSet.processor = SpringProcessor()
30+
testSet.processor = processor
2931
testSet.parser = parser.name
3032
testSet.openapi = openapi
3133
testSet.inputs = inputs
3234
testSet.generated = generated
3335
return testSet
3436
}
35-
36-
37-
fun setTestHeader() {
38-
HEADER = TEST_HEADER
39-
}
40-
41-
private const val TEST_HEADER: String = """
42-
/*
43-
* DO NOT MODIFY - this class was auto generated by openapi-processor-spring
44-
*
45-
* test
46-
* time
47-
* https://docs.openapiprocessor.io/spring
48-
*/
49-
50-
"""

src/testInt/resources/tests/endpoint-http-mapping/generated/api/EndpointApi.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
1-
/*
2-
* DO NOT MODIFY - this class was auto generated by openapi-processor-spring
3-
*
4-
* test
5-
* time
6-
* https://docs.openapiprocessor.io/spring
7-
*/
8-
91
package generated.api;
102

3+
import generated.support.Generated;
114
import org.springframework.web.bind.annotation.GetMapping;
125
import org.springframework.web.bind.annotation.PatchMapping;
136
import org.springframework.web.bind.annotation.PostMapping;
147
import org.springframework.web.bind.annotation.PutMapping;
158

9+
@Generated(value = "openapi-processor-spring", version = "test")
1610
public interface EndpointApi {
1711

1812
@GetMapping(path = "/endpoint")

src/testInt/resources/tests/params-complex-data-types/generated/api/Api.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
1-
/*
2-
* DO NOT MODIFY - this class was auto generated by openapi-processor-spring
3-
*
4-
* test
5-
* time
6-
* https://docs.openapiprocessor.io/spring
7-
*/
8-
91
package generated.api;
102

113
import generated.model.Props;
4+
import generated.support.Generated;
125
import java.util.Map;
136
import org.springframework.web.bind.annotation.GetMapping;
147
import org.springframework.web.bind.annotation.RequestParam;
158

9+
@Generated(value = "openapi-processor-spring", version = "test")
1610
public interface Api {
1711

1812
@GetMapping(path = "/endpoint-object")

src/testInt/resources/tests/params-complex-data-types/generated/model/Props.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
/*
2-
* DO NOT MODIFY - this class was auto generated by openapi-processor-spring
3-
*
4-
* test
5-
* time
6-
* https://docs.openapiprocessor.io/spring
7-
*/
8-
91
package generated.model;
102

113
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import generated.support.Generated;
125

6+
@Generated(value = "openapi-processor-spring", version = "test")
137
public class Props {
148

159
@JsonProperty("prop1")

0 commit comments

Comments
 (0)