Skip to content

Commit ff41f46

Browse files
committed
fix missing setup (#439)
1 parent 4982e1f commit ff41f46

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright 2026 https://github.com/openapi-processor/openapi-processor-spring
3+
* PDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.openapiprocessor.spring.processor
7+
8+
class SpringAnnotations private constructor(val kind: String) {
9+
10+
override fun toString(): String {
11+
return kind
12+
}
13+
14+
companion object {
15+
val MAPPING = SpringAnnotations("mapping")
16+
val EXCHANGE = SpringAnnotations("exchange")
17+
18+
val values: Array<SpringAnnotations> = arrayOf(MAPPING, EXCHANGE)
19+
20+
fun values(): Array<SpringAnnotations> {
21+
return values.copyOf()
22+
}
23+
24+
fun valueOf(kind: String?): SpringAnnotations {
25+
return when (kind?.lowercase()) {
26+
"exchange" -> EXCHANGE
27+
else -> MAPPING
28+
}
29+
}
30+
}
31+
}

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.openapiprocessor.core.parser.OpenApiParser
1212
import io.openapiprocessor.core.writer.SourceFormatter
1313
import io.openapiprocessor.core.writer.java.*
1414
import io.openapiprocessor.spring.Versions
15+
import io.openapiprocessor.spring.processor.SpringAnnotations.Companion.EXCHANGE
1516
import io.openapiprocessor.spring.writer.java.*
1617
import io.openapiprocessor.spring.writer.java.MappingAnnotationFactory
1718
import io.openapiprocessor.spring.writer.java.ParameterAnnotationWriter
@@ -39,18 +40,22 @@ class SpringProcessor : OpenApiProcessorTest {
3940
openapi.printWarnings()
4041
}
4142

42-
val framework = SpringFramework()
43+
val kind = SpringAnnotations.valueOf(processorOptions["annotations"]?.toString())
4344

44-
val annotations = when (processorOptions["annotations"]?.toString()) {
45-
"service-client" -> SpringFrameworkExchange()
45+
val annotations = when (kind) {
46+
EXCHANGE -> SpringFrameworkExchange()
4647
else -> SpringFrameworkAnnotations()
4748
}
49+
val annotationFactory = when (kind) {
50+
EXCHANGE -> ExchangeAnnotationFactory(annotations)
51+
else -> MappingAnnotationFactory(annotations)
52+
}
4853

4954
val options = convertOptions(processorOptions)
5055
val identifier = JavaIdentifier(IdentifierOptions(
5156
options.identifierWordBreakFromDigitToLetter,
5257
options.identifierPrefixInvalidEnumStart))
53-
val cv = ApiConverter(options, identifier, framework)
58+
val cv = ApiConverter(options, identifier, SpringFramework())
5459
val api = cv.convert(openapi)
5560

5661
val writerFactory = SpringWriterFactory(options)
@@ -73,7 +78,7 @@ class SpringProcessor : OpenApiProcessorTest {
7378
options,
7479
identifier,
7580
StatusAnnotationWriter(annotations),
76-
MappingAnnotationFactory(annotations),
81+
annotationFactory,
7782
ParameterAnnotationWriter(annotations),
7883
beanValidations,
7984
javaDocWriter

0 commit comments

Comments
 (0)