Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.1.0.RC1
-
Fix Version/s: 3.1
-
Component/s: Framework, ICE-Components
-
Labels:None
-
Environment:Portal
-
Assignee Priority:P1
Description
When running the ace:dataExporter example as a portlet, click the Export button results in the following being logged on the server and the export failing:
13-Jul-2012 10:41:10 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
WARNING: JSF1064: Unable to find or serve resource, sbebe4f40-7a8e-4887-a995-f753994fa3ac.
22:41:10,802 ERROR [MissingResourceImpl:78] Resource handler=[com.liferay.faces.bridge.application.ResourceHandlerOuterImpl@48aa50cc] was unable to create a resource for resourceName=[sbebe4f40-7a8e-4887-a995-f753994fa3ac] libraryName=[null] contentType=[null]
13-Jul-2012 10:41:10 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
WARNING: JSF1064: Unable to find or serve resource, sbebe4f40-7a8e-4887-a995-f753994fa3ac.
22:41:10,802 ERROR [MissingResourceImpl:78] Resource handler=[com.liferay.faces.bridge.application.ResourceHandlerOuterImpl@48aa50cc] was unable to create a resource for resourceName=[sbebe4f40-7a8e-4887-a995-f753994fa3ac] libraryName=[null] contentType=[null]
So the DataExporter works with PortletFaces Bridge (PFB) but not Liferay Faces Bridge (LFB) indicating it's a change in the bridge implementation that causing the change in behaviour.
Debugging shows that there is some code in the ResourceRegistry that is portlet specific when trying to identify dynamic resources. The work was done in
ICE-7685and ICE-7874.The changes in those cases were to provide portlet-specific processing of the javax.faces.resource as it is passed back as a request parameter rather than as part of the URL (which can be long, obfuscated, etc).
Debugging this area shows that the parameter with PFB was passed in as "javax.faces.resource" but with LFB it is namespaced like "_dataExporter_WAR_showcaseportlet_javax.faces.resource". So we may need to do some additional processing on this assuming it's not a bug in the bridge. I'll check with Neil to make sure.