[ 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.