1313import java .util .Map ;
1414import java .util .Optional ;
1515import java .util .Set ;
16- import java .util .function .Function ;
17- import java .util .regex .Pattern ;
1816import java .util .stream .Collectors ;
1917
2018/**
@@ -47,18 +45,17 @@ class ClientMethodWriter {
4745 this .timeout = method .timeout ();
4846 this .useConfig = ProcessingContext .typeElement ("io.avaje.config.Config" ) != null ;
4947
50- this .segmentPropertyMap =
51- method .pathSegments ().segments ().stream ()
52- .filter (Segment ::isProperty )
53- .collect (toMap (Segment ::name , s -> Util .sanitizeName (s .name ()).toUpperCase ()));
48+ this .segmentPropertyMap = method .pathSegments ().segments ().stream ()
49+ .filter (Segment ::isProperty )
50+ .collect (toMap (Segment ::name , s -> Util .sanitizeName (s .name ()).toUpperCase ()));
5451 }
5552
5653 void addImportTypes (ControllerReader reader ) {
5754 reader .addImportTypes (returnType .importTypes ());
5855 method .throwsList ().stream ()
59- .map (UType ::parse )
60- .map (UType ::importTypes )
61- .forEach (reader ::addImportTypes );
56+ .map (UType ::parse )
57+ .map (UType ::importTypes )
58+ .forEach (reader ::addImportTypes );
6259
6360 for (final MethodParam param : method .params ()) {
6461 reader .addImportTypes (param .utype ().importTypes ());
@@ -75,12 +72,11 @@ private void methodStart(Append writer) {
7572 }
7673 method .checkArgumentNames ();
7774
78- segmentPropertyMap .forEach (
79- (k , v ) -> {
80- writer .append (" private static final String %s = " , v );
81- final String getProperty = useConfig ? "Config.get(" : "System.getProperty(" ;
82- writer .append (getProperty ).append ("\" %s\" );" , k ).eol ();
83- });
75+ segmentPropertyMap .forEach ((k , v ) -> {
76+ writer .append (" private static final String %s = " , v );
77+ final String getProperty = useConfig ? "Config.get(" : "System.getProperty(" ;
78+ writer .append (getProperty ).append ("\" %s\" );" , k ).eol ();
79+ });
8480
8581 writer .append (" // %s %s" , webMethod , method .webMethodPath ()).eol ();
8682 writer .append (" @Override" ).eol ();
@@ -96,9 +92,9 @@ private void methodStart(Append writer) {
9692 final var isVarArg = Util .isVarArg (param .element (), i );
9793
9894 final var paramType =
99- "java.util.function.Supplier<?extendsjava.io.InputStream>" .equals (param .utype ().full ())
100- ? "Supplier<? extends InputStream>"
101- : param .utype ().shortType ();
95+ "java.util.function.Supplier<?extendsjava.io.InputStream>" .equals (param .utype ().full ())
96+ ? "Supplier<? extends InputStream>"
97+ : param .utype ().shortType ();
10298
10399 if (param .overrideVarNameError ()) {
104100 writer .append ("/** !Error! */ " );
@@ -144,7 +140,6 @@ void write() {
144140 }
145141
146142 private void writeTimeout (RequestTimeoutPrism p ) {
147-
148143 writer .append (" .requestTimeout(of(%s, %s))" , p .value (), p .chronoUnit ()).eol ();
149144 }
150145
@@ -220,11 +215,10 @@ private void writeResponse(UType type) {
220215
221216 void writeGeneric (UType type ) {
222217 if (useJsonb && type .isGeneric ()) {
223- final var params =
224- type .importTypes ().stream ()
225- .skip (1 )
226- .map (Util ::shortName )
227- .collect (Collectors .joining (".class, " ));
218+ final var params = type .importTypes ().stream ()
219+ .skip (1 )
220+ .map (Util ::shortName )
221+ .collect (Collectors .joining (".class, " ));
228222
229223 writer .append ("Types.newParameterizedType(%s.class, %s.class)" , Util .shortName (type .mainType ()), params );
230224 } else {
@@ -256,8 +250,8 @@ private void writeQueryParams(PathSegments pathSegments) {
256250 writer .append (" // Refer to: https://avaje.io/http/client/import#error" ).eol ();
257251 writer .eol ();
258252 logError (
259- "Explicit @QueryParam/@Header annotations required when using @Client.Import on an interface that has already been compiled." ,
260- method .element ());
253+ "Explicit @QueryParam/@Header annotations required when using @Client.Import on an interface that has already been compiled." ,
254+ method .element ());
261255 }
262256 }
263257
@@ -331,27 +325,27 @@ private void writeBody() {
331325
332326 private void writeErrorMapper () {
333327 method .throwsList ().stream ()
334- .map (ProcessingContext ::asElement )
335- .filter (
336- e ->
337- isAssignable2Interface (
338- e .getQualifiedName ().toString (), "java.lang.RuntimeException" ))
339- .filter (
340- e ->
341- ElementFilter .constructorsIn (e .getEnclosedElements ()).stream ()
342- .filter (c -> c .getParameters ().size () == 1 )
343- .map (c -> c .getParameters ().get (0 ).asType ().toString ())
344- .map (Util ::trimAnnotations )
345- .anyMatch ("io.avaje.http.client.HttpException" ::equals ))
346- .findFirst ()
347- .map (TypeElement ::getQualifiedName )
348- .map (Object ::toString )
349- .map (Util ::shortName )
350- .ifPresent (
351- exception ->
352- writer
353- .append (" .errorMapper(%s::new)" , exception )
354- .eol ());
328+ .map (ProcessingContext ::asElement )
329+ .filter (
330+ e ->
331+ isAssignable2Interface (
332+ e .getQualifiedName ().toString (), "java.lang.RuntimeException" ))
333+ .filter (
334+ e ->
335+ ElementFilter .constructorsIn (e .getEnclosedElements ()).stream ()
336+ .filter (c -> c .getParameters ().size () == 1 )
337+ .map (c -> c .getParameters ().get (0 ).asType ().toString ())
338+ .map (Util ::trimAnnotations )
339+ .anyMatch ("io.avaje.http.client.HttpException" ::equals ))
340+ .findFirst ()
341+ .map (TypeElement ::getQualifiedName )
342+ .map (Object ::toString )
343+ .map (Util ::shortName )
344+ .ifPresent (
345+ exception ->
346+ writer
347+ .append (" .errorMapper(%s::new)" , exception )
348+ .eol ());
355349 }
356350
357351 /**
@@ -376,11 +370,8 @@ private void writePaths(Set<PathSegments.Segment> segments) {
376370 if (segment .isLiteral ()) {
377371 writer .append (".path(\" " ).append (segment .literalSection ()).append ("\" )" );
378372 } else if (segment .isProperty ()) {
379-
380373 writer .append (".path(" ).append (segmentPropertyMap .get (segment .name ())).append (")" );
381-
382374 } else {
383-
384375 writer .append (".path(" ).append (segment .name ()).append (")" );
385376 // TODO: matrix params
386377 }
0 commit comments