This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a commit to branch 2.3-gae
in repository https://gitbox.apache.org/repos/asf/freemarker.git
The following commit(s) were added to refs/heads/2.3-gae by this push:
new 1fe9cce3 Actually updated dependencies to Servlet 3.0 and JSP 2.2.
(Also, some minor code cleanup.)
1fe9cce3 is described below
commit 1fe9cce3bd328cb6826b9d7331a70db44221ebae
Author: ddekany <[email protected]>
AuthorDate: Mon Dec 25 19:21:04 2023 +0100
Actually updated dependencies to Servlet 3.0 and JSP 2.2. (Also, some minor
code cleanup.)
---
build.gradle.kts | 15 ++++++---------
.../java/freemarker/ext/jsp/FreeMarkerJspFactory.java | 4 +++-
.../java/freemarker/ext/jsp/FreeMarkerPageContext.java | 4 +---
3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index b023bee2..7d39c9b8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -498,12 +498,6 @@ eclipse {
}
}
-// Choose the Jetty version very carefully, as it should implement the same
Servlet API, JSP API, and EL API
-// what we declare below, because the same classes will come from Jetty as
well. For example, Jetty depends
-// on org.mortbay.jasper:apache-el, which contains the javax.el classes, along
with non-javax.el classes, so you
-// can't even exclude it. Similarly, org.eclipse.jetty:apache-jsp contains the
JSP API javax.servlet.jsp classes,
-// yet again along with other classes. Anyway, this mess is temporary, as we
will migrate to Jakarta, and only
-// support that.
val jettyVersion = "9.4.53.v20231009"
val slf4jVersion = "1.6.1"
val springVersion = "2.5.6.SEC03"
@@ -516,8 +510,10 @@ configurations {
"javaxServletTestImplementation" {
extendsFrom(compileClasspath.get())
+ // Exclude classes that are also coming from Jetty, which we use for
testing:
exclude(group = "javax.servlet.jsp")
exclude(group = "javax.servlet", module = "servlet-api")
+ exclude(group = "javax.el", module = "el-api")
}
}
@@ -543,14 +539,15 @@ dependencies {
testImplementation(xalan)
- "javaxServletCompileOnly"("javax.servlet.jsp:jsp-api:2.1")
- "javaxServletCompileOnly"("javax.servlet:servlet-api:2.5")
+ "javaxServletCompileOnly"("javax.servlet:javax.servlet-api:3.0.1")
+ "javaxServletCompileOnly"("javax.servlet.jsp:jsp-api:2.2")
+ "javaxServletCompileOnly"("javax.el:el-api:2.2")
"javaxServletTestImplementation"("org.eclipse.jetty:jetty-server:${jettyVersion}")
"javaxServletTestImplementation"("org.eclipse.jetty:jetty-webapp:${jettyVersion}")
"javaxServletTestImplementation"("org.eclipse.jetty:jetty-util:${jettyVersion}")
"javaxServletTestImplementation"("org.eclipse.jetty:apache-jsp:${jettyVersion}")
- // Jetty also contains the servlet-api and jsp-api classes
+ // Jetty also contains the servlet-api and jsp-api and el-api classes
// JSP JSTL (not included in Jetty):
"javaxServletTestImplementation"("org.apache.taglibs:taglibs-standard-impl:${tagLibsVersion}")
diff --git
a/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerJspFactory.java
b/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerJspFactory.java
index 0df7dfd8..9633e14b 100644
---
a/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerJspFactory.java
+++
b/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerJspFactory.java
@@ -30,9 +30,11 @@ import javax.servlet.jsp.PageContext;
class FreeMarkerJspFactory extends JspFactory {
private static final String SPECIFICATION_VERSION = "2.2";
+
+ // This still ends with "21", just in case someone used that key for some
workaround.
private static final String JSPCTX_KEY =
"freemarker.ext.jsp.FreeMarkerJspFactory21#jspAppContext";
- protected String getSpecificationVersion() {
+ String getSpecificationVersion() {
return SPECIFICATION_VERSION;
}
diff --git
a/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerPageContext.java
b/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerPageContext.java
index b97d2c74..6110b42b 100644
---
a/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerPageContext.java
+++
b/freemarker-javax-servlet/src/main/java/freemarker/ext/jsp/FreeMarkerPageContext.java
@@ -86,8 +86,6 @@ class FreeMarkerPageContext extends PageContext implements
TemplateModel {
JspFactory.getDefaultFactory().getClass().getName());
}
- private static final Class OBJECT_CLASS = Object.class;
-
private final Environment environment;
private final int incompatibleImprovements;
private List tags = new ArrayList();
@@ -219,7 +217,7 @@ class FreeMarkerPageContext extends PageContext implements
TemplateModel {
return unwrapper.unwrap(tm);
} else { // Legacy behavior branch
if (tm instanceof AdapterTemplateModel) {
- return ((AdapterTemplateModel)
tm).getAdaptedObject(OBJECT_CLASS);
+ return ((AdapterTemplateModel)
tm).getAdaptedObject(Object.class);
}
if (tm instanceof WrapperTemplateModel) {
return ((WrapperTemplateModel)
tm).getWrappedObject();