Skip to content

Commit 4ccc2e9

Browse files
authored
Merge pull request #529 from SentryMan/jex-roles
[Jex-Generator] Update role generation
2 parents 8998f3b + 082f3bd commit 4ccc2e9

File tree

6 files changed

+17
-18
lines changed

6 files changed

+17
-18
lines changed

http-client/src/main/java/io/avaje/http/client/BasicAuthIntercept.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.util.Base64;
66

77
/** Adds Basic Authorization header to requests. */
8-
public class BasicAuthIntercept implements RequestIntercept {
8+
public final class BasicAuthIntercept implements RequestIntercept {
99

1010
private final String headerValue;
1111

http-client/src/main/java/io/avaje/http/client/DHttpClientContext.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.util.List;
1212
import java.util.Map;
1313
import java.util.concurrent.CompletableFuture;
14-
import java.util.concurrent.ExecutorService;
1514
import java.util.concurrent.atomic.AtomicReference;
1615
import java.util.concurrent.atomic.LongAccumulator;
1716
import java.util.concurrent.atomic.LongAdder;
@@ -21,9 +20,6 @@
2120

2221
final class DHttpClientContext implements HttpClient, SpiHttpClient {
2322

24-
/**
25-
* HTTP Authorization header.
26-
*/
2723
static final String AUTHORIZATION = "Authorization";
2824
private static final String BEARER = "Bearer ";
2925

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,9 @@ public void buildApiDocumentation() {
338338

339339
public List<String> roles() {
340340
final var roles = new ArrayList<>(methodRoles);
341-
roles.addAll(bean.roles());
341+
if (roles.isEmpty()) {
342+
roles.addAll(bean.roles());
343+
}
342344
return roles;
343345
}
344346

@@ -521,7 +523,7 @@ private List<PathSegments.Segment> namedSegments() {
521523

522524
private boolean allArgParamNames() {
523525
for (int i = 0; i < params.size(); i++) {
524-
if (!params.get(i).name().equals("arg" + i)) {
526+
if (!("arg" + i).equals(params.get(i).name())) {
525527
return false;
526528
}
527529
}

http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,33 +47,32 @@ void writeRouting() {
4747
final String fullPath = segments.fullPath();
4848

4949
if (method.isErrorMethod()) {
50-
writer.append(" routing.error(%s.class, this::_%s)", method.exceptionShortName(), method.simpleName());
50+
writer.append(" routing.error(%s.class, this::_%s", method.exceptionShortName(), method.simpleName());
5151
} else if (isFilter) {
52-
writer.append(" routing.filter(this::_%s)", method.simpleName());
52+
writer.append(" routing.filter(this::_%s", method.simpleName());
5353
} else {
5454
writer.append(" routing.%s(\"%s\", ", webMethod.name().toLowerCase(), fullPath);
5555
var hxRequest = method.hxRequest();
5656
if (hxRequest != null) {
5757
writeHxHandler(hxRequest);
5858
} else {
59-
writer.append("this::_%s)", method.simpleName());
59+
writer.append("this::_%s", method.simpleName());
6060
}
6161
}
6262
writeRoles();
63-
writer.append(";").eol();
63+
writer.append(");").eol();
6464
}
6565

6666
private void writeRoles() {
6767
List<String> roles = method.roles();
68-
if (!roles.isEmpty()) {
69-
writer.append(".withRoles(");
68+
if (!roles.isEmpty() && !isFilter) {
69+
writer.append(", ");
7070
for (int i = 0; i < roles.size(); i++) {
7171
if (i > 0) {
7272
writer.append(", ");
7373
}
7474
writer.append(Util.shortName(roles.get(i), true));
7575
}
76-
writer.append(")");
7776
}
7877
}
7978

@@ -92,7 +91,7 @@ private void writeHxHandler(HxRequestPrism hxRequest) {
9291
} else if (hasValue(hxRequest.value())) {
9392
writer.append(".triggerName(\"%s\")", hxRequest.value());
9493
}
95-
writer.append(".build())");
94+
writer.append(".build()");
9695
}
9796

9897
private static boolean hasValue(String value) {

http-generator-jex/src/main/java/io/avaje/http/generator/jex/JexAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.avaje.http.generator.core.ControllerReader;
88
import io.avaje.http.generator.core.ParamType;
99
import io.avaje.http.generator.core.PlatformAdapter;
10+
import io.avaje.http.generator.core.ProcessingContext;
1011
import io.avaje.http.generator.core.UType;
1112

1213
class JexAdapter implements PlatformAdapter {
@@ -32,13 +33,14 @@ public boolean isBodyMethodParam() {
3233
public String bodyAsClass(UType type) {
3334

3435
if ("java.io.InputStream".equals(type.full())) {
35-
return "ctx.bodyInputStream()";
36+
return "ctx.bodyAsInputStream()";
3637
} else if ("java.lang.String".equals(type.full())) {
3738
return "ctx.body()";
3839
} else if ("byte[]".equals(type.full())) {
3940
return "ctx.bodyAsBytes()";
41+
} else if (ProcessingContext.useJsonb()) {
42+
return type.shortName() + "JsonType.fromJson(ctx.bodyAsInputStream())";
4043
}
41-
4244
return "ctx.bodyAsClass(" + type.mainType() + ".class)";
4345
}
4446

tests/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<junit.version>5.11.3</junit.version>
1616
<assertj.version>3.26.3</assertj.version>
1717
<jackson.version>2.18.2</jackson.version>
18-
<jex.version>3.0-RC8</jex.version>
18+
<jex.version>3.0-RC10</jex.version>
1919
<avaje-inject.version>11.0</avaje-inject.version>
2020
<nima.version>4.1.4</nima.version>
2121
<javalin.version>6.3.0</javalin.version>

0 commit comments

Comments
 (0)