jdyer1 opened a new pull request, #778:
URL: https://github.com/apache/struts/pull/778

   WN-5141
   [DRAFT - for evaluation only]
   
   I am trying to help begin the effort to support jakarta ee 9+.  This PR 
represents a "least amount of work" path to the goal.  The code all compiles, 
but tests do not yet.  There are some BIG TODO's remaining also.   I would like 
to know if this is the correct path and what is thought to be the next steps 
completing this ticket.
   
   This is a huge PR!  To help any reviewer to navigate, here is a summary of 
the changes.
   
   1. modify references in java source:  "javax.">"jakarta."
   
   2. pom dependency changes:
   - Java version: 1.8 > 11
   - javax.servlet-api > jakarta.servlet-api
   - jsp-api > jakarta.servlet.jsp-api
   - validation-api > jakarta.validation-api
   - javax.el > jakarta.el
   - cdi-api > jakarta.enterprise.cdi-api
   - jstl > jakarta.servlet.jsp.jstl-api
   - persistence-api > jakarta.persistence-api
   - hibernate-validator.version: 6.2.4.Final > 8.0.1.Final
   - spring.platformVersion: 6.2.4.Final > 8.0.1.Final
   - tomcat-* version: 8.5.53 > 10.1.15
   - sitemesh to g:org.sitemesh a:sitemesh v:3.2.0-M2  (TODO:  Maybe not 
neccessary???)
   - spring-test version set to 4.3.0.RELEASE for plugins/cdi/pom.xml only.  
See comment in pom.xml
   
   3. Code changes
   
   3a./plugins/embeddedjsp/../Generator.java
   - change to: "out.printil("    extends jakarta..."
   
   3b. plugins/embeddedjsp/../PageContextImpl.java
   - JspException has no "getRootCause()".  change to "getCause()".\
   
   3c. plugins/embeddedjsp/../JspCServletContext.java
   - Add no-op methods for those added to interface
   
   3d. /plugins/embeddedjsp/../JspServletWrapper.java
   - Remove special logic for "instanceof SingleThreadModel" (removed from api)
   
   3e. /plugins/json/../StrutsMockHttpServletRequest.java
   - "com.mockobjects.servlet.MockHttpServletRequest" > 
"org.springframework.mock.web.MockHttpServletRequest"
   
   3f. /plugins/json/../StrutsMockHttpSession.java
   - "com.mockobjects.servlet.MockHttpServletRequest" > 
"org.springframework.mock.web.MockHttpServletRequest"
   
   3g. /core/../RequestUtils.java
   - request.getAttrubite("javax.servlet > ..jakarta.servlet
   
   3h. /core/../Include.java
   - request.getAttrubite("javax.servlet > ..jakarta.servlet
   
   3i. /core/../ServletUrlRenderer.java
   - request.getAttrubite("javax.servlet > ..jakarta.servlet
   
   3j. /core/../FreemarkerTemplateEngine.java
   - ClassLoaderUtil.loadClass("javax.servlet > ..jakarta.servlet
   
   3k. /core/../DefaultDispatcherErrorHandler.java
   - request.setAttribute("javax.servlet > ..jakarta.servlet
   
   3l. /core/../Dispatcher.java
   - servletContext.getAttribute("javax.servlet > ..jakarta.servlet
   
   3m. /core/../StrutsRequestWrapper.java
   - key.startsWith("jakarta.servlet > ..jakarta.servlet
   
   3n. /core/../ServletDispatcherResult.java
   - request.getAttribute("jakarta.servlet > ..jakarta.servlet
   
   3o. /core/../FreemarkerManager.java
   - request.getAttribute("jakarta.servlet > ..jakarta.servlet (2 places)
   
   3p./core/../DefaultUrlHelper.java
   - request.getAttribute("jakarta.servlet > ..jakarta.servlet
   
   3q. /plugins/embeddedjsp/../Generator.java
   - Several changes like: "out.print("jakarta.servlet"
   
   3r. /plugins/embeddedjsp/../TagLibraryInfoImpl.java
   - type = "javax.servlet. > ..jakarta.servlet
   
   3s. /plugins/../JspRuntimeLibrary.java
   - 4 places > "javax." > "jakarta."
   
   3t. /plugins/embeddedjsp/../PageContextImpl.java
   - many places > "javax." > "jakarta."
   
   3u. /plugins/embeddedjsp/../JspServlet.java
   - request.getAttribute("jakarta.servlet > ..jakarta.servlet (2 places)
   
   3v. /plugins/embeddedjsp/../JspServletWrapper.java
   - request.getAttribute("jakarta.servlet > ..jakarta.servlet
   
   3w. /plugins/embeddedjsp/../LocalStrings*.properties
   - many changes
   
   3x. /plugins/../struts-osgi.properties
   - javax > jakarta
   
   3y. /plugins/tiles/../TilesDispatchServlet.jav
   - request.getAttribute("jakarta.servlet > ..jakarta.servlet
   
   3z. Removal of method from ElResolverImpl, removed from API.
   
   4. Many Javadoc updates
   
   5. Removals
   - plugins/portlet-junit
   - plugins/portlet-mocks
   - plugins/portlet (not removed from struts2-core/src/site/resources/tags)
   - plugins/portlet-tiles-plugin
   - plugins/ddr
   - plugins/pell-multipart
   
   6. TODO
   
   6a. freemarker
   - revert temporary commit b8b9f8aa372adfdbbc72c3d71ffa204a93288fc0
   - revert tempoaray commit 8d3880a6707a818f2d2a6dcde2b76a1612eb87c2
   
   6b. velocity-tools
   - revert temporary commit def5254a5744765735350fb04ff788c0784bc6ef
   - revert temporary commit 1fc70af56ba1e7f2062fc957336c8321401eed39
   - revert temporary commit 1fc70af56ba1e7f2062fc957336c8321401eed39
   - revert temporary commit d5e766e43a14b6d4fcebd11fc7411c111e003fa6
   
   6c. commons-upload
   - revert temporary commit 3a4c1dd6f040c432081c0ed9cd8e5a20637efab1)
   - new coordinates to not-backward-compatible version: g:org.apache.commons 
a:commons-fileupload2-jakarta v:2.0.0-M1
   
   6d. Tests
   - many tests need to be migrsted away from the old MockObjects library to 
compile
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@struts.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to