Skip to content

Commit 9eb390d

Browse files
committed
I'll do client later
1 parent c5963d3 commit 9eb390d

File tree

3 files changed

+20
-59
lines changed

3 files changed

+20
-59
lines changed

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

Lines changed: 17 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import javax.lang.model.element.TypeElement;
66
import 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();

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

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,6 @@ public class ClientProcessor extends AbstractProcessor {
2727

2828
protected ProcessingContext ctx;
2929

30-
private boolean useJsonB;
31-
32-
public ClientProcessor() {
33-
try {
34-
Class.forName("io.avaje.jsonb.Jsonb");
35-
this.useJsonB = true;
36-
} catch (final ClassNotFoundException e) {
37-
this.useJsonB = false;
38-
}
39-
}
40-
41-
public ClientProcessor(boolean useJsonb) {
42-
useJsonB = useJsonb;
43-
}
44-
4530
@Override
4631
public SourceVersion getSupportedSourceVersion() {
4732
return SourceVersion.latest();
@@ -122,7 +107,7 @@ private void writeClient(Element controller) {
122107
}
123108

124109
protected String writeClientAdapter(ProcessingContext ctx, ControllerReader reader) throws IOException {
125-
return new ClientWriter(reader, ctx,useJsonB).write();
110+
return new ClientWriter(reader, ctx).write();
126111
}
127112

128113
}

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,12 @@ class ClientWriter extends BaseControllerWriter {
2121
private static final String SUFFIX = "HttpClient";
2222

2323
private final List<ClientMethodWriter> methodList = new ArrayList<>();
24-
private final boolean useJsonb;
2524

26-
ClientWriter(ControllerReader reader, ProcessingContext ctx, boolean useJsonB) throws IOException {
25+
ClientWriter(ControllerReader reader, ProcessingContext ctx) throws IOException {
2726
super(reader, ctx, SUFFIX);
2827
reader.addImportType(HTTP_CLIENT_CONTEXT);
2928
reader.addImportType(HTTP_API_PROVIDER);
30-
this.useJsonb = useJsonB;
3129
readMethods();
32-
if (useJsonB) reader.addImportType("io.avaje.jsonb.Types");
3330
}
3431

3532
@Override
@@ -41,7 +38,7 @@ protected String initPackageName(String originName) {
4138
private void readMethods() {
4239
for (MethodReader method : reader.methods()) {
4340
if (method.isWebMethod()) {
44-
final var methodWriter = new ClientMethodWriter(method, writer, ctx, useJsonb);
41+
ClientMethodWriter methodWriter = new ClientMethodWriter(method, writer, ctx);
4542
methodWriter.addImportTypes(reader);
4643
methodList.add(methodWriter);
4744
}

0 commit comments

Comments
 (0)