Skip to content

Commit c5963d3

Browse files
committed
directly get utype
1 parent 5fa2297 commit c5963d3

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

http-generator-core/src/main/java/io/avaje/http/generator/core/JsonBUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ public static void writeJsonbType(UType type, Append writer) {
4545
} else {
4646
switch (type.mainType()) {
4747
case "java.util.List":
48-
writeType(UType.parse(type.paramRaw()), writer);
48+
writeType(type.paramRaw(), writer);
4949
writer.append(".list()");
5050
break;
5151
case "java.util.Set":
52-
writeType(UType.parse(type.paramRaw()), writer);
52+
writeType(type.paramRaw(), writer);
5353
writer.append(".set()");
5454
break;
5555
case "java.util.Map":
56-
writeType(UType.parse(type.paramRaw()), writer);
56+
writeType(type.paramRaw(), writer);
5757
writer.append(".map()");
5858
break;
5959
default:

http-generator-core/src/main/java/io/avaje/http/generator/core/UType.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public String mainType() {
135135
*/
136136
class Generic implements UType {
137137
final String rawType;
138-
final String rawParamType;
138+
final UType rawParamType;
139139
final List<String> allTypes;
140140
final String shortRawType;
141141
final String shortName;
@@ -145,15 +145,18 @@ class Generic implements UType {
145145
this.allTypes = Arrays.asList(rawType.split("[<|>|,]"));
146146
this.shortRawType = shortRawType(rawType, allTypes);
147147
this.shortName = Util.name(shortRawType);
148-
this.rawParamType = extractCollectionParam();
148+
final var paramTypeString = extractRawParam();
149+
this.rawParamType = paramTypeString != null ? UType.parse(paramTypeString) : null;
149150
}
150151

151-
private String extractCollectionParam() {
152+
private String extractRawParam() {
152153

153154
switch (mainType()) {
154155
case "java.util.Set":
155156
case "java.util.Stream":
156157
case "java.util.List":
158+
case "java.util.concurrent.CompletableFuture":
159+
case "io.avaje.http.client.HttpCall":
157160
var first = rawType.indexOf("<") + 1;
158161
var end = rawType.lastIndexOf(">");
159162
return rawType.substring(first, end);
@@ -162,7 +165,7 @@ private String extractCollectionParam() {
162165
end = rawType.lastIndexOf(">");
163166
return rawType.substring(first, end);
164167
default:
165-
return rawType;
168+
return null;
166169
}
167170
}
168171

@@ -237,7 +240,7 @@ public String param1() {
237240
}
238241

239242
@Override
240-
public String paramRaw() {
243+
public UType paramRaw() {
241244
return rawParamType;
242245
}
243246
}

tests/test-client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<dependency>
3131
<groupId>io.avaje</groupId>
3232
<artifactId>avaje-http-client</artifactId>
33-
<version>1.16</version>
33+
<version>1.20</version>
3434
</dependency>
3535

3636
<dependency>

0 commit comments

Comments
 (0)