From c3365ba6c0479a9610c731738ca9007ea4b9ad03 Mon Sep 17 00:00:00 2001
From: Josiah Noel <32279667+SentryMan@users.noreply.github.com>
Date: Wed, 27 Nov 2024 11:35:37 -0500
Subject: [PATCH 1/4] update filters and switch
---
http-generator-jex/pom.xml | 6 +-
.../generator/jex/ControllerMethodWriter.java | 10 ++--
.../http/generator/jex/ControllerWriter.java | 2 +-
.../avaje/http/generator/jex/JexAdapter.java | 57 ++++++++-----------
tests/test-jex/pom.xml | 2 +-
5 files changed, 35 insertions(+), 42 deletions(-)
diff --git a/http-generator-jex/pom.xml b/http-generator-jex/pom.xml
index 87730122a..2335699b8 100644
--- a/http-generator-jex/pom.xml
+++ b/http-generator-jex/pom.xml
@@ -8,7 +8,11 @@
avaje-http-jex-generator
-
+
+
+ 21
+
+
diff --git a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java
index 9085e7255..fdc309315 100644
--- a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java
+++ b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java
@@ -267,11 +267,11 @@ private void write(boolean requestScoped) {
private void writeContextReturn(ResponseMode responseMode) {
final var produces = method.produces();
switch (responseMode) {
- case Void: break;
- case Json: writer.append("ctx.json("); break;
- case Text: writer.append("ctx.text("); break;
- case Templating: writer.append("ctx.html("); break;
- default: writer.append("ctx.contentType(\"%s\").write(", produces);
+ case Void -> {}
+ case Json -> writer.append("ctx.json(");
+ case Text -> writer.append("ctx.text(");
+ case Templating -> writer.append("ctx.html(");
+ default -> writer.append("ctx.contentType(\"%s\").write(", produces);
}
}
diff --git a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerWriter.java b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerWriter.java
index cf694a5e7..e8972635c 100644
--- a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerWriter.java
+++ b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerWriter.java
@@ -23,7 +23,7 @@ class ControllerWriter extends BaseControllerWriter {
if (reader.methods().stream()
.map(MethodReader::webMethod)
.anyMatch(w -> CoreWebMethod.FILTER == w)) {
- reader.addImportType("io.avaje.jex.FilterChain");
+ reader.addImportType("io.avaje.jex.HttpFilter.FilterChain");
}
if (reader.methods().stream()
.map(MethodReader::hxRequest)
diff --git a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/JexAdapter.java b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/JexAdapter.java
index 03a13fb2f..3ed2e3df8 100644
--- a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/JexAdapter.java
+++ b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/JexAdapter.java
@@ -69,7 +69,8 @@ public void writeReadParameter(Append writer, ParamType paramType, String paramN
}
@Override
- public void writeReadParameter(Append writer, ParamType paramType, String paramName, String paramDefault) {
+ public void writeReadParameter(
+ Append writer, ParamType paramType, String paramName, String paramDefault) {
writer.append("withDefault(ctx.%s(\"%s\"), \"%s\")", paramType, paramName, paramDefault);
}
@@ -77,31 +78,22 @@ public void writeReadParameter(Append writer, ParamType paramType, String paramN
public void writeReadMapParameter(Append writer, ParamType paramType) {
switch (paramType) {
- case QUERYPARAM:
- writer.append("ctx.queryParamMap()");
- break;
- case FORM:
- case FORMPARAM:
- writer.append("ctx.formParamMap()");
- break;
- default:
- throw new UnsupportedOperationException(
- "Only Query/Form Params have Map> supported in Jex");
+ case QUERYPARAM -> writer.append("ctx.queryParamMap()");
+ case FORM, FORMPARAM -> writer.append("ctx.formParamMap()");
+ default ->
+ throw new UnsupportedOperationException(
+ "Only Query/Form Params have Map> supported in Jex");
}
}
@Override
public void writeReadCollectionParameter(Append writer, ParamType paramType, String paramName) {
switch (paramType) {
- case QUERYPARAM:
- writer.append("ctx.queryParams(\"%s\")", paramName);
- break;
- case FORMPARAM:
- writer.append("ctx.formParams(\"%s\")", paramName);
- break;
- default:
- throw new UnsupportedOperationException(
- "Only MultiValue Form/Query Params are supported in Jex");
+ case QUERYPARAM -> writer.append("ctx.queryParams(\"%s\")", paramName);
+ case FORMPARAM -> writer.append("ctx.formParams(\"%s\")", paramName);
+ default ->
+ throw new UnsupportedOperationException(
+ "Only MultiValue Form/Query Params are supported in Jex");
}
}
@@ -110,19 +102,17 @@ public void writeReadCollectionParameter(
Append writer, ParamType paramType, String paramName, List paramDefault) {
switch (paramType) {
- case QUERYPARAM:
- writer.append(
- "withDefault(ctx.queryParams(\"%s\"), java.util.List.of(\"%s\"))",
- paramName, String.join(",", paramDefault));
- break;
- case FORMPARAM:
- writer.append(
- "withDefault(ctx.formParams(\"%s\"), java.util.List.of(\"%s\"))",
- paramName, String.join(",", paramDefault));
- break;
- default:
- throw new UnsupportedOperationException(
- "Only MultiValue Form/Query Params are supported in Jex");
+ case QUERYPARAM ->
+ writer.append(
+ "withDefault(ctx.queryParams(\"%s\"), java.util.List.of(\"%s\"))",
+ paramName, String.join(",", paramDefault));
+ case FORMPARAM ->
+ writer.append(
+ "withDefault(ctx.formParams(\"%s\"), java.util.List.of(\"%s\"))",
+ paramName, String.join(",", paramDefault));
+ default ->
+ throw new UnsupportedOperationException(
+ "Only MultiValue Form/Query Params are supported in Jex");
}
}
@@ -130,5 +120,4 @@ public void writeReadCollectionParameter(
public void writeAcceptLanguage(Append writer) {
writer.append("ctx.header(\"%s\")", Constants.ACCEPT_LANGUAGE);
}
-
}
diff --git a/tests/test-jex/pom.xml b/tests/test-jex/pom.xml
index 5dc1b1c4b..f8552f2ca 100644
--- a/tests/test-jex/pom.xml
+++ b/tests/test-jex/pom.xml
@@ -8,8 +8,8 @@
test-jex
-
+ 21
true
org.example.myapp.Main
2.2.26
From eca2c9a6e7e86470fbab58241b4b6f5bbbb33e09 Mon Sep 17 00:00:00 2001
From: Josiah Noel <32279667+SentryMan@users.noreply.github.com>
Date: Wed, 27 Nov 2024 11:38:24 -0500
Subject: [PATCH 2/4] Update pom.xml
---
tests/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/pom.xml b/tests/pom.xml
index dcf10e4e8..68f5c038e 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -15,7 +15,7 @@
5.11.3
3.26.3
2.18.1
- 3.0-RC2
+ 3.0-RC3
11.0
4.1.4
6.3.0
From f27fc0d0e2bb80d50a7a9c2f091aac31cf41f9e3 Mon Sep 17 00:00:00 2001
From: Josiah Noel <32279667+SentryMan@users.noreply.github.com>
Date: Wed, 27 Nov 2024 11:50:42 -0500
Subject: [PATCH 3/4] Update TestController.java
---
.../test-jex/src/main/java/org/example/web/TestController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test-jex/src/main/java/org/example/web/TestController.java b/tests/test-jex/src/main/java/org/example/web/TestController.java
index 1f3216767..3625c946d 100644
--- a/tests/test-jex/src/main/java/org/example/web/TestController.java
+++ b/tests/test-jex/src/main/java/org/example/web/TestController.java
@@ -15,7 +15,7 @@
import io.avaje.http.api.Produces;
import io.avaje.http.api.QueryParam;
import io.avaje.jex.Context;
-import io.avaje.jex.FilterChain;
+import io.avaje.jex.HttpFilter.FilterChain;
@Path("test/")
@Controller
From 79adf569057b9a7dca16a3125e333e71c4e937bf Mon Sep 17 00:00:00 2001
From: Josiah Noel <32279667+SentryMan@users.noreply.github.com>
Date: Wed, 27 Nov 2024 11:52:52 -0500
Subject: [PATCH 4/4] Update ControllerMethodWriter.java
---
.../io/avaje/http/generator/jex/ControllerMethodWriter.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java
index fdc309315..c091c9bf1 100644
--- a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java
+++ b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java
@@ -33,7 +33,7 @@ class ControllerMethodWriter {
}
private void validateMethod() {
- if (method.params().stream().map(MethodParam::shortType).noneMatch("FilterChain"::equals)) {
+ if (method.params().stream().map(MethodParam::shortType).noneMatch("HttpFilter.FilterChain"::equals)) {
logError(method.element(), "Filters must contain a FilterChain parameter");
}
}
@@ -227,7 +227,7 @@ private void write(boolean requestScoped) {
final var param = params.get(i);
if (isAssignable2Interface(param.utype().mainType(), "java.lang.Exception")) {
writer.append("ex");
- } else if ("FilterChain".equals(param.shortType())) {
+ } else if ("HttpFilter.FilterChain".equals(param.shortType())) {
writer.append("chain");
} else {
param.buildParamName(writer);
@@ -277,6 +277,6 @@ private void writeContextReturn(ResponseMode responseMode) {
private static boolean isExceptionOrFilterChain(MethodParam param) {
return isAssignable2Interface(param.utype().mainType(), "java.lang.Exception")
- || "FilterChain".equals(param.shortType());
+ || "HttpFilter.FilterChain".equals(param.shortType());
}
}