application configuration resources located in lib/*.jar can not be accessed in 
OSGi enviroment
-----------------------------------------------------------------------------------------------

                 Key: MYFACES-2947
                 URL: https://issues.apache.org/jira/browse/MYFACES-2947
             Project: MyFaces Core
          Issue Type: Bug
          Components: General
    Affects Versions: 2.0.2, 2.0.0
            Reporter: Han Hong Fang


In OSGi environment, BundleClassLoader is used to get jar file resource. , and 
the conn (refer the code below) is BundleURLConnection, and will never be 
JarURLConnection. This causes faces configuration files under jar file can not 
be accessed in OSGi environment. 

Code segment from 
myfaces-impl-2.0.2-sources\org\apache\myfaces\view\facelets\util\Classpath.java

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)
            {
                jar = ((JarURLConnection) conn).getJarFile();
            }
            else
            {
                jar = _getAlternativeJarFile(url);
            }

            if (jar != null)
            {
                _searchJar(loader, result, jar, prefix, suffix);
            }
            else
            {
                if (!_searchDir(result, new 
File(URLDecoder.decode(url.getFile(), "UTF-8")), suffix))
                {
                    _searchFromURL(result, prefix, suffix, url);
                }
            }
        }

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