Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0
-
None
Description
The FacesBridge TCK TestPage071: nonFacesResourceTest executes the following as part of the test:
ResourceURL resourceURL = createResourceURL(facesContext); resourceURL.setResourceID("/tck/nonFacesResource"); String url = resourceURL.toString();
For Pluto 2.0 the value of url was:
http://localhost:8080/pluto/portal/TestPage071 /__rscom0x2liferay0x2faces0x2test0x2bridge0x2tck0x2main0x2portlet0x2chapter50x12Tests-nonFacesResourceTest-portlet!471674121%7C0 /__ri0x3tck0x3nonFacesResource /__pmcom0x2liferay0x2faces0x2test0x2bridge0x2tck0x2main0x2portlet0x2chapter50x12Tests-nonFacesResourceTest-portlet!471674121%7C0_view /__wscom0x2liferay0x2faces0x2test0x2bridge0x2tck0x2main0x2portlet0x2chapter50x12Tests-nonFacesResourceTest-portlet!471674121%7C0_normal /__pr_chapter5_2Tests-nonFacesResourceTest-portletcom.liferay.faces.bridge.bridgeRequestScopeId /chapter50x12Tests-nonFacesResourceTest-portlet0xc3A0xc3A0xc3A5287BEBEF949829C7F12616CA7EF1B7B0xc3A0xc3A0xc3A1482361392468
But in Pluto 3.0 the value is:
http://localhost:8080/pluto/portal/TestPage071 /__pdcom.liferay.faces.test.bridge.tck.main.portlet.chapter5_2Tests-nonFacesResourceTest-portlet%21471674121%7C0;0 /__rs0 /__clcacheLevelPage /__ri%2Ftck%2FnonFacesResource /__rp0;chapter5_2Tests-nonFacesResourceTest-portletcom.liferay.faces.bridge.bridgeRequestScopeId:chapter5_2Tests-nonFacesResourceTest-portlet%3A%3A%3A87AE28B622503E4C8BAC99770BBD56EF%3A%3A%3A1482361063580
The important difference for this issue, is that with Pluto 2.0 the forward slashes in "/tck/nonFacesResource" are encoded as "0x3" whereas in Pluto 3.0 they are encoded as "%2F"
The problem is that Tomcat treats the presence of "%2F" in the URL as the same as a forward slash character, which causes the Pluto PortletDriverServlet.java class to not get invoked.