Skip to content

Commit c243fc5

Browse files
committed
handle array
1 parent 328c7cb commit c243fc5

File tree

5 files changed

+8
-13
lines changed

5 files changed

+8
-13
lines changed

http-generator-client/src/main/java/io/avaje/http/generator/client/ClientMethodWriter.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,7 @@ class ClientMethodWriter {
3434
void addImportTypes(ControllerReader reader) {
3535
reader.addImportTypes(returnType.importTypes());
3636
for (final MethodParam param : method.params()) {
37-
final var type = param.utype();
38-
final var type0 = type.param0();
39-
final var type1 = type.param1();
40-
reader.addImportType(type.mainType().replace("[]", ""));
41-
if (type0 != null) reader.addImportType(type0.replace("[]", ""));
42-
if (type1 != null) reader.addImportType(type1.replace("[]", ""));
37+
reader.addImportTypes(param.utype().importTypes());
4338
}
4439
}
4540

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static void writeJsonbType(UType type, Append writer) {
6060
"Only java.util Map, Set and List are supported JsonB Controller Collection Types");
6161

6262
final var params =
63-
type.allTypes().stream().skip(1).collect(Collectors.joining(".class, ")) + ".class";
63+
type.importTypes().stream().skip(1).collect(Collectors.joining(".class, ")) + ".class";
6464

6565
writer.append("Types.newParameterizedType(%s.class, %s))", type.mainType(), params);
6666
}

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,9 @@ public String full() {
106106

107107
@Override
108108
public Set<String> importTypes() {
109-
return rawType.startsWith("java.lang.") ? Set.of() : Collections.singleton(rawType);
109+
return rawType.startsWith("java.lang.") && rawType.indexOf('.') > -1
110+
? Set.of()
111+
: Collections.singleton(rawType.replace("[]", ""));
110112
}
111113

112114
@Override
@@ -164,7 +166,7 @@ public Set<String> importTypes() {
164166
Set<String> set = new LinkedHashSet<>();
165167
for (String type : allTypes) {
166168
if (!type.startsWith("java.lang.") && type.indexOf('.') > -1) {
167-
set.add(type);
169+
set.add(type.replace("[]", ""));
168170
}
169171
}
170172
return set;

http-generator-javalin/src/main/java/io/avaje/http/generator/javalin/ControllerWriter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ class ControllerWriter extends BaseControllerWriter {
3333
this.jsonTypes = JsonBUtil.jsonTypes(reader);
3434
jsonTypes.values().stream()
3535
.map(UType::importTypes)
36-
.flatMap(Set::stream)
37-
.forEach(reader::addImportType);
36+
.forEach(reader::addImportTypes);
3837
} else {
3938
this.jsonTypes = Map.of();
4039
}

http-generator-nima/src/main/java/io/avaje/http/generator/helidon/nima/ControllerWriter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ class ControllerWriter extends BaseControllerWriter {
2626
this.jsonTypes = JsonBUtil.jsonTypes(reader);
2727
jsonTypes.values().stream()
2828
.map(UType::importTypes)
29-
.flatMap(Set::stream)
30-
.forEach(reader::addImportType);
29+
.forEach(reader::addImportTypes);
3130
} else {
3231
this.jsonTypes = Map.of();
3332
}

0 commit comments

Comments
 (0)