From a7145d695e134e7b3191f9895bf259a95039e41a Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 21 Jun 2024 08:13:07 +0200 Subject: [PATCH] WW-5430 Uses Freemarker native support for JakartaEE instead of manually transforming the artifacts --- apps/showcase/pom.xml | 6 -- core/pom.xml | 4 +- .../views/freemarker/FreemarkerManager.java | 12 ++-- jakarta/freemarker-jakarta/README.md | 4 -- jakarta/freemarker-jakarta/pom.xml | 69 ------------------- jakarta/pom.xml | 1 - .../sitemesh/FreemarkerDecoratorServlet.java | 6 +- .../request/freemarker/FreemarkerRequest.java | 2 +- .../freemarker/FreemarkerRequestUtil.java | 6 +- .../servlet/WebappClassTemplateLoader.java | 2 +- pom.xml | 11 --- 11 files changed, 16 insertions(+), 107 deletions(-) delete mode 100644 jakarta/freemarker-jakarta/README.md delete mode 100644 jakarta/freemarker-jakarta/pom.xml diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml index 877cf124a..3f4e4fcdd 100644 --- a/apps/showcase/pom.xml +++ b/apps/showcase/pom.xml @@ -166,11 +166,6 @@ ${project.build.directory}/extraclasspath - - org.apache.struts - struts2-freemarker-jakarta - struts2-freemarker-jakarta.jar - org.apache.struts struts2-sitemesh2-jakarta @@ -241,7 +236,6 @@ ${basedir}/src/main/webapp/ - ${project.build.directory}/extraclasspath/struts2-freemarker-jakarta.jar, ${project.build.directory}/extraclasspath/struts2-sitemesh2-jakarta.jar, ${project.build.directory}/extraclasspath/struts2-velocity-tools-view-jakarta.jar, ${project.build.directory}/extraclasspath/struts2-velocity-tools-jsp-jakarta diff --git a/core/pom.xml b/core/pom.xml index d84b7770e..778cf2605 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -136,8 +136,8 @@ - org.apache.struts - struts2-freemarker-jakarta + org.freemarker + freemarker diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java index 2d76cd2ca..567417174 100644 --- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java +++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java @@ -28,14 +28,14 @@ import freemarker.cache.ClassTemplateLoader; import freemarker.cache.FileTemplateLoader; import freemarker.cache.MultiTemplateLoader; import freemarker.cache.TemplateLoader; -import freemarker.cache.WebappTemplateLoader; +import freemarker.ext.jakarta.servlet.WebappTemplateLoader; import freemarker.core.HTMLOutputFormat; import freemarker.core.TemplateClassResolver; -import freemarker.ext.jsp.TaglibFactory; -import freemarker.ext.servlet.HttpRequestHashModel; -import freemarker.ext.servlet.HttpRequestParametersHashModel; -import freemarker.ext.servlet.HttpSessionHashModel; -import freemarker.ext.servlet.ServletContextHashModel; +import freemarker.ext.jakarta.jsp.TaglibFactory; +import freemarker.ext.jakarta.servlet.HttpRequestHashModel; +import freemarker.ext.jakarta.servlet.HttpRequestParametersHashModel; +import freemarker.ext.jakarta.servlet.HttpSessionHashModel; +import freemarker.ext.jakarta.servlet.ServletContextHashModel; import freemarker.template.Configuration; import freemarker.template.ObjectWrapper; import freemarker.template.TemplateException; diff --git a/jakarta/freemarker-jakarta/README.md b/jakarta/freemarker-jakarta/README.md deleted file mode 100644 index b3bf61124..000000000 --- a/jakarta/freemarker-jakarta/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Struts 2 Freemarker Jakarta - -This uses the eclipse transformer maven plugin to make the Freemarker dependency Jakarta EE 9+ compatible. - diff --git a/jakarta/freemarker-jakarta/pom.xml b/jakarta/freemarker-jakarta/pom.xml deleted file mode 100644 index 3bf9f5aa7..000000000 --- a/jakarta/freemarker-jakarta/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - 4.0.0 - - org.apache.struts - struts2-jakarta - 7.0.0-M8-SNAPSHOT - - struts2-freemarker-jakarta - jar - Struts 2 Jakarta EE Compatible Freemarker - - - UTF-8 - true - true - - - - - - org.eclipse.transformer - transformer-maven-plugin - 0.5.0 - true - - - true - - - - - eclipse-transformer-freemarker-jar - - jar - - - - org.freemarker - freemarker - ${freemarker.version} - - - - - - - - diff --git a/jakarta/pom.xml b/jakarta/pom.xml index e338cf263..7a1f30fd1 100644 --- a/jakarta/pom.xml +++ b/jakarta/pom.xml @@ -37,7 +37,6 @@ - freemarker-jakarta sitemesh2-jakarta velocity-tools-view-jakarta velocity-tools-jsp-jakarta diff --git a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java index 235680799..767286819 100644 --- a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java +++ b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java @@ -22,6 +22,7 @@ import com.opensymphony.module.sitemesh.HTMLPage; import com.opensymphony.module.sitemesh.RequestConstants; import com.opensymphony.xwork2.ActionContext; import freemarker.core.InvalidReferenceException; +import freemarker.ext.jakarta.servlet.FreemarkerServlet; import freemarker.template.Configuration; import freemarker.template.ObjectWrapper; import freemarker.template.SimpleHash; @@ -54,10 +55,9 @@ import java.util.Locale; * Freemarker Manager in Struts instead of creating it's * own manager

*/ -public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.FreemarkerServlet { +public class FreemarkerDecoratorServlet extends FreemarkerServlet { private static final Logger LOG = LogManager.getLogger(FreemarkerDecoratorServlet.class); - public static final long serialVersionUID = -2440216393145762479L; protected FreemarkerManager freemarkerManager; protected String templatePath; @@ -273,7 +273,7 @@ public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.Freemarke * @param response the actual HTTP response * @param template the template that will get executed * @return true to process the template, false to suppress template processing. - * @see freemarker.ext.servlet.FreemarkerServlet#preTemplateProcess(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel) + * @see FreemarkerServlet#preTemplateProcess(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel) */ protected boolean preTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel templateModel) throws ServletException, IOException { boolean result = super.preTemplateProcess(request, response, template, templateModel); diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java index fdb57458a..e27275b3d 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java @@ -20,7 +20,7 @@ package org.apache.tiles.request.freemarker; import freemarker.core.Environment; -import freemarker.ext.servlet.HttpRequestHashModel; +import freemarker.ext.jakarta.servlet.HttpRequestHashModel; import org.apache.tiles.request.AbstractViewRequest; import org.apache.tiles.request.ApplicationContext; import org.apache.tiles.request.DispatchRequest; diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java index 6c43f231e..774b33265 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java @@ -19,9 +19,9 @@ package org.apache.tiles.request.freemarker; import freemarker.core.Environment; -import freemarker.ext.servlet.FreemarkerServlet; -import freemarker.ext.servlet.HttpRequestHashModel; -import freemarker.ext.servlet.ServletContextHashModel; +import freemarker.ext.jakarta.servlet.FreemarkerServlet; +import freemarker.ext.jakarta.servlet.HttpRequestHashModel; +import freemarker.ext.jakarta.servlet.ServletContextHashModel; import freemarker.template.TemplateModelException; import org.apache.tiles.request.ApplicationContext; import org.apache.tiles.request.servlet.ServletUtil; diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java index f3bbbb881..d6b841697 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java @@ -21,7 +21,7 @@ package org.apache.tiles.request.freemarker.servlet; import freemarker.cache.ClassTemplateLoader; import freemarker.cache.TemplateLoader; -import freemarker.cache.WebappTemplateLoader; +import freemarker.ext.jakarta.servlet.WebappTemplateLoader; import jakarta.servlet.ServletContext; import java.io.IOException; diff --git a/pom.xml b/pom.xml index f81d03591..c06783f7e 100644 --- a/pom.xml +++ b/pom.xml @@ -506,19 +506,8 @@ org.apache.struts struts-annotations 1.0.8 - - - org.freemarker - freemarker - -
- - org.apache.struts - struts2-freemarker-jakarta - ${project.version} - org.apache.struts struts2-core