myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeanne Waldman (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TRINIDAD-1729) provide a hook for for an external decorator of Skin InputStreamProvider
Date Tue, 06 Apr 2010 16:59:33 GMT

    [ https://issues.apache.org/jira/browse/TRINIDAD-1729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12854063#action_12854063
] 

Jeanne Waldman commented on TRINIDAD-1729:
------------------------------------------

This is also related to TRINIDAD-1746 move InputStreamProvider to be a public API

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


Mime
View raw message