8
8
import java .util .Map ;
9
9
import java .util .Objects ;
10
10
11
- import io .avaje .http .generator .core .BaseControllerWriter ;
12
- import io .avaje .http .generator .core .Constants ;
13
- import io .avaje .http .generator .core .ControllerReader ;
14
- import io .avaje .http .generator .core .CoreWebMethod ;
15
- import io .avaje .http .generator .core .JsonBUtil ;
16
- import io .avaje .http .generator .core .MethodReader ;
17
- import io .avaje .http .generator .core .PrimitiveUtil ;
18
- import io .avaje .http .generator .core .UType ;
11
+ import io .avaje .http .generator .core .*;
19
12
20
13
/**
21
14
* Write Helidon specific web route adapter (a Helidon Service).
@@ -25,6 +18,9 @@ class ControllerWriter extends BaseControllerWriter {
25
18
private static final String AT_GENERATED = "@Generated(\" avaje-helidon-generator\" )" ;
26
19
private static final String IMPORT_HTTP_STATUS = "import static io.helidon.http.Status.*;" ;
27
20
21
+ private static final String JSON_JsonOutput = "io.avaje.json.stream.JsonOutput" ;
22
+ private static final String JSONB_JsonOutput = "io.avaje.jsonb.stream.JsonOutput" ;
23
+
28
24
private final boolean useJsonB ;
29
25
private final Map <String , UType > jsonTypes ;
30
26
@@ -35,7 +31,7 @@ class ControllerWriter extends BaseControllerWriter {
35
31
reader .addImportType ("io.avaje.jsonb.Jsonb" );
36
32
reader .addImportType ("io.avaje.jsonb.JsonType" );
37
33
reader .addImportType ("io.avaje.jsonb.Types" );
38
- reader .addImportType ("io.avaje.jsonb.stream.JsonOutput" );
34
+ reader .addImportType (jsonOutputType () );
39
35
this .jsonTypes = JsonBUtil .jsonTypes (reader );
40
36
jsonTypes .values ().stream ()
41
37
.map (UType ::importTypes )
@@ -76,6 +72,12 @@ class ControllerWriter extends BaseControllerWriter {
76
72
}
77
73
}
78
74
75
+ private static String jsonOutputType () {
76
+ return ProcessingContext .typeElement (JSON_JsonOutput ) != null
77
+ ? JSON_JsonOutput
78
+ : JSONB_JsonOutput ;
79
+ }
80
+
79
81
void write () {
80
82
writePackage ();
81
83
writeImports ();
0 commit comments