[
https://issues.apache.org/jira/browse/TRINIDAD-1729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeanne Waldman resolved TRINIDAD-1729.
--------------------------------------
Resolution: Fixed
Fix Version/s: 1.2.14-core
> provide a hook for for an external decorator of Skin InputStreamProvider
> ------------------------------------------------------------------------
>
> Key: TRINIDAD-1729
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1729
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Components: Skinning
> Reporter: Jeanne Waldman
> Assignee: Jeanne Waldman
> Fix For: 1.2.14-core
>
> Attachments: MDSNameResolver.jar, NameResolverPatch1212.patch
>
>
> A third party (Oracle MDS) would like to use their own InputStreamProvider to
> find skinning css files (like purple-desktop.css) in their own system. The
> current ways to find css files do not work for them.
> 1. We first discussed decorating ExternalContext.getResource(), since in
> Trinidad we create the URL by calling FacesContext's ExternalContext's
> getResource(style-sheet-name). For an example, see
> http://insights2jsf.wordpress.com/2009/07/03/using-custom-factories-or-howto-wrap-facescontext/
> 2. This won't work for them because it returns an URL object
> 3. using ExternalContext's getResourceAsStream won't work because you can't
> find out if the file has been modified.
> 4. What would work is if they decorate or extend the InputStreamProvider, and
> we check this if none of the other means finds the .css file. The other means
> are those found in SkinStyleSheetProvider.java
> 5. To allow them to plugin their InputStreamProvider we
> can do this with a service provider interface where we open up
> META-INF/services/<fully qualified classname of service> and load all of the
> services that way.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.