44
55import javax .lang .model .element .TypeElement ;
66import java .util .Set ;
7- import java .util .stream .Collectors ;
87
98/**
109 * Write code to register Web route for a given controller method.
@@ -23,15 +22,13 @@ class ClientMethodWriter {
2322 private final UType returnType ;
2423 private MethodParam bodyHandlerParam ;
2524 private String methodGenericParams = "" ;
26- private final boolean useJsonb ;
2725
28- ClientMethodWriter (MethodReader method , Append writer , ProcessingContext ctx , boolean useJsonb ) {
26+ ClientMethodWriter (MethodReader method , Append writer , ProcessingContext ctx ) {
2927 this .method = method ;
3028 this .writer = writer ;
3129 this .webMethod = method .webMethod ();
3230 this .ctx = ctx ;
3331 this .returnType = Util .parseType (method .returnType ());
34- this .useJsonb = useJsonb ;
3532 }
3633
3734 void addImportTypes (ControllerReader reader ) {
@@ -114,55 +111,37 @@ private void writeEnd() {
114111
115112 private void writeSyncResponse () {
116113 writer .append (" " );
117- writeResponse (returnType );
114+ String type0 = returnType .mainType ();
115+ String type1 = returnType .param0 ();
116+ writeResponse (type0 , type1 );
118117 }
119118
120119 private void writeAsyncResponse () {
121120 writer .append (" .async()" );
122- writeResponse (UType .parse (returnType .param0 ()));
121+ String type0 = returnType .param0 ();
122+ String type1 = returnType .param1 ();
123+ writeResponse (type0 , type1 );
123124 }
124125
125126 private void writeCallResponse () {
126127 writer .append (" .call()" );
127- writeResponse (UType .parse (returnType .param0 ()));
128+ String type0 = returnType .param0 ();
129+ String type1 = returnType .param1 ();
130+ writeResponse (type0 , type1 );
128131 }
129132
130- private void writeResponse (UType type ) {
131- final var mainType = type .mainType ();
132- final var param1 = type .paramRaw ();
133- if (isList (mainType )) {
134- writer .append (".list(" );
135- writeGeneric (UType .parse (param1 ));
136- } else if (isStream (mainType )) {
137- writer .append (".stream(" );
138- writeGeneric (UType .parse (param1 ));
139- } else if (isHttpResponse (mainType )) {
133+ private void writeResponse (String type0 , String type1 ) {
134+ if (isList (type0 )) {
135+ writer .append (".list(%s.class);" , Util .shortName (type1 )).eol ();
136+ } else if (isStream (type0 )) {
137+ writer .append (".stream(%s.class);" , Util .shortName (type1 )).eol ();
138+ } else if (isHttpResponse (type0 )){
140139 writeWithHandler ();
141140 } else {
142- writer .append (".bean(" , Util .shortName (mainType )).eol ();
143- writeGeneric (type );
141+ writer .append (".bean(%s.class);" , Util .shortName (type0 )).eol ();
144142 }
145143 }
146144
147- void writeGeneric (UType type ) {
148- if (useJsonb && type .isGeneric ()) {
149- final var params =
150- type .importTypes ().stream ()
151- .skip (1 )
152- .map (Util ::shortName )
153- .collect (Collectors .joining (".class, " ))
154- + ".class" ;
155-
156- writer .append (
157- "Types.newParameterizedType(%s.class, %s)" , Util .shortName (type .mainType ()), params );
158- } else {
159- writer .append ("%s.class" , Util .shortName (type .mainType ()));
160- }
161- writer .append (");" );
162-
163- writer .eol ();
164- }
165-
166145 private void writeWithHandler () {
167146 if (bodyHandlerParam != null ) {
168147 writer .append (".handler(%s);" , bodyHandlerParam .name ()).eol ();
0 commit comments