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..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); @@ -267,16 +267,16 @@ 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); } } private static boolean isExceptionOrFilterChain(MethodParam param) { return isAssignable2Interface(param.utype().mainType(), "java.lang.Exception") - || "FilterChain".equals(param.shortType()); + || "HttpFilter.FilterChain".equals(param.shortType()); } } 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/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 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 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