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


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.

Reply via email to