Skip to content

Commit aef12ea

Browse files
committed
fix(thymeleaf): restore case-insensitive resolver matching in EngineFactory
The switch-expression refactor made the ClassLoader/Url arms case- sensitive (exact match) while only the File arm kept equalsIgnoreCase — the pre-refactor if/else matched all three case-insensitively. Restore equalsIgnoreCase on all three arms so non-standard-cased property values (e.g. fully-uppercase class names) behave identically to 1.0.x/2.0.x. 14 thymeleaf tests green.
1 parent 11f479d commit aef12ea

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

easydoc-thymeleaf/src/main/java/io/github/easy4j/doc/thymeleaf/EngineFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ public TemplateEngine get() throws IOException {
6262
if (resolver == null) {
6363
String resolverClassName = Docx4jProperties.getProperty("docx4j.thymeleaf.templateResolver", "org.thymeleaf.templateresolver.FileTemplateResolver");
6464
// JDK 21 switch expression: 4-arm resolver selector becomes one expression.
65-
// Unknown values fall back to FileTemplateResolver, matching original else-branch.
65+
// All arms use equalsIgnoreCase to match the pre-refactor if/else behavior.
6666
resolver = switch (resolverClassName) {
67-
case "org.thymeleaf.templateresolver.ClassLoaderTemplateResolver" -> new ClassLoaderTemplateResolver();
68-
case "org.thymeleaf.templateresolver.UrlTemplateResolver" -> new UrlTemplateResolver();
67+
case String s when s.equalsIgnoreCase("org.thymeleaf.templateresolver.ClassLoaderTemplateResolver") -> new ClassLoaderTemplateResolver();
68+
case String s when s.equalsIgnoreCase("org.thymeleaf.templateresolver.UrlTemplateResolver") -> new UrlTemplateResolver();
6969
case String s when s.equalsIgnoreCase("org.thymeleaf.templateresolver.FileTemplateResolver") -> new FileTemplateResolver();
7070
default -> new FileTemplateResolver();
7171
};

0 commit comments

Comments
 (0)