[
https://issues.apache.org/jira/browse/TRINIDAD-1942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Max Starets updated TRINIDAD-1942:
----------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0.3-core
Status: Resolved (was: Patch Available)
> ViewDeclarationLanguageFactoryImpl implementation should cache physical URI
> for the current viewId on the ViewMap
> -----------------------------------------------------------------------------------------------------------------
>
> Key: TRINIDAD-1942
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1942
> Project: MyFaces Trinidad
> Issue Type: Bug
> Components: Components
> Affects Versions: 2.0.0-alpha-2
> Reporter: Pavitra Subramaniam
> Fix For: 2.0.0.3-core
>
> Attachments: jira-1942-II.patch, jira-1942.patch
>
>
> In an included page (or fragment) if a composite component gets used, the
> CompositeComponentTagHandler retrieves the logical viewId
> (context.getViewRoot().getViewId()) first and then gets its physical URI in
> order to determine the VDL to use. This is usually not a problem in vanilla
> JSF applications or even vanilla Trinidad applications, but in frameworks
> (such as Oracle) where the viewId of an included fragment comes into play
> (iow, the fragment is in context and not the main page), the PageResolver
> implementation can no longer return the correct physical URI for the logical
> viewId. It merely returns the logical viewId.
> The problem is further exasperated if the logical viewId of the page does not
> contain an extension. As there is no extension available, the VDL returned is
> the JspViewHandlingStrategy always. This is disastrous when the page is being
> rendered using FaceletsVDL.
> One way to resolve this issue is to cache the physical URI of the page on the
> ViewRoot's viewMap and return the cached value whenever the
> VDLFactory.getVDL() is called for a viewId that matches the current
> viewRoot's viewId.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.