Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.0-alpha
-
None
-
None
Description
ADF Faces hooks into Trinidad's TrinidadFilterImpl sub-filter service and uses this to perform early configuration/initialization work. In particular, we use the ApplicationFactory to get at the Application instance and then create/add converters to the Application.
This works fine on Mojarra 2.0.x releases.
However, this fails in both:
- MyFaces 2.0.x
- Mojarra 2.1.x
In both cases, the reason for the failure is that access to the FacesContext is required but is not yet available. In MyFaces 2.0.x, the FacesContext/ExternalContext is required by Application.createConverter()/setConverterProperties() in order to determine the value of the "javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE" context parameter. In Mojarra 2.1.x, the ApplicationFactory requires access to the FacesContext in order to create the Application instance.
While we can work around this issue at the ADF Faces level, TrinidadFilterImpl is already well positioned to address this - ie. TrinidadFilterImpl has access to the PseudoFacesContext and already sets this up for other cases (eg. for Configurator.beginRequest()).
I am logging this issue to request that we take advantage of the existing support that TrinidadFilterImpl/PseudoFacesContext provides for early FacesContext access and extend this to TrinidadFilterImpl.init().