Type: Technical Task
Affects Version/s: None
Test cases like V2DispatcherTests_SPEC2_19_ForwardServletAction_attributes4 fails because the value of the portlet request attribute javax.servlet.forward.path_info doesn't equal to the return value of HTTPServletRequest.getPathInfo().
According to Portlet 3.0, 25.5.1,
A servlet that has been invoked by a portlet using the forward method of RequestDispatcher has access to the path used to obtain the PortletRequestDispatcher.
The following request attributes must be set:
The values of these attributes must be equal to the return values of the HttpServletRequest methods getRequestURI, getContextPath, getServletPath, getPathInfo, getQueryString respectively, invoked on the request object passed to the first servlet object in the forward call chain.
as well as the TCK test case descriptions,
If the request dispatcher is obtained through the getRequestDispatcher method, the portlet request attribute javax.servlet.forward.path_info will be set, and equals the value from HTTPServletRequest.getPathInfo for the first servlet in the forward chain.
In a servlet forwarded to by the target of an include/a forward, the portlet request attribute javax.servlet.forward.path_info will be set, and equals the value from HTTPServletRequest.getPathInfo for the first servlet in the forward chain.
In Liferay, the related test cases fail because our namespace handling logic in NamespaceServletRequest. Thus, the forward attributes need to be added to its reserved attribute set to meet the requirement of PLT.