[
https://issues.apache.org/jira/browse/GERONIMO-5536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Han Hong Fang updated GERONIMO-5536:
------------------------------------
Attachment: GERONIMO-5536.patch
In JSF spec, faces configuration resources are divided into two categories (ref
to spec chapter 11.4.2)
category 1. applicatonConfigurationResource, includes
- META-INF/faces-config.xml
- META-INF/*.faces-config.xml
- param value of param name javax.faces.CONFIG_FILES in context init params
Category 2. applicationFacesConfig
- /WEB-INF/faces-config.xml
When parsing the application configuration resources,
applicationConfigurationResources are parsed before applicationFacesConfig.
The problem in this JIRA is that, when META-INF/faces-config.xml and
META-INF/*.faces-config.xml in category 1 locate in a jar file, they can not be
access by myfaces in Geronimo 3.0.
A workaround is provided by the patch with following implementation detail:
- check the existance of META-INF/faces-config.xml and
META-INF/*.faces-config.xml in all jars in lib folder
- if such configuration files exist, copy them to a temp dir in the basedir
- add temp file locations into the param value of javax.faces.CONFIG_FILES to
make sure they are included by myfaces during configuration processing.
Please help to review. Thanks in advance.
> application configuration resources located in lib/*.jar can not be accessed
> by myfaces in OSGi enviroment
> ----------------------------------------------------------------------------------------------------------
>
> Key: GERONIMO-5536
> URL: https://issues.apache.org/jira/browse/GERONIMO-5536
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: myfaces
> Affects Versions: 3.0
> Reporter: Han Hong Fang
> Assignee: Han Hong Fang
> Attachments: GERONIMO-5536.patch
>
>
> Myfaces uses classloader to get jar file resource. In OSGi environment,
> bundleclassloader is used, and the conn (refer the code below) will never be
> JarURLConnection. This causes faces configuration files under jar file can
> not be accessed by myfaces in Geronimo 3.0.
> for (Enumeration<URL> urls = loader.getResources(resource);
> urls.hasMoreElements();)
> {
> URL url = urls.nextElement();
> URLConnection conn = url.openConnection();
> conn.setUseCaches(false);
> conn.setDefaultUseCaches(false);
> JarFile jar;
> if (conn instanceof JarURLConnection)
> ....
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.