Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.0, 3.0.0-alpha
-
None
-
None
Description
Impl relies on the same render parameter to hold the viewId at the end of an action or in a resourceURL that references a Faces resource. Hence the check in Bridge during a resource request on whether the request is for a Faces or NonFaces resource depends on whether this render parameter exists or not. The problem is in that in a resource URL this isn't really a render parameter but rather a resource parameter. The resource receives the current portlet render parameters + its url encoded resource parameters. This means that if an action occurs it will set the VIEWID render parameter. If in the render following this action we create and render a resource url to a nonFaces resource request then when this resource request is sent we will still receive the VIEWID parameter and incorrectly think this is Faces resource request when its a nonFaces one.
Fix is to have a distinct resource param to hold the viewId for Faces resource URL. Then the check looks for existence/nonexistence of this param and ignores whether the render param VIEWID is there. Note: when making this fix will also need to update the code that resolves the view to execute as we will need to test if we are in a resource request and pull from the right param.