1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.commons.resourcehandler.config;
20
21 import java.io.IOException;
22 import java.net.URL;
23 import java.util.ArrayList;
24 import java.util.Collection;
25 import java.util.Enumeration;
26 import java.util.List;
27
28 import javax.faces.FacesException;
29 import javax.faces.context.ExternalContext;
30
31 import org.apache.myfaces.commons.util.ClassUtils;
32
33
34
35
36
37
38
39 public class DefaultMyFacesResourceHandlerUrlProvider extends MyFacesResourceHandlerUrlProvider
40 {
41
42 public Collection<URL> getMetaInfConfigurationResources(ExternalContext context) throws IOException
43 {
44 ClassLoader contextClassLoader = ClassUtils.getContextClassLoader();
45 Enumeration<URL> metaInfConfigUrls = null;
46 List<URL> configUrls = new ArrayList<URL>();
47
48 try
49 {
50
51 metaInfConfigUrls = contextClassLoader.getResources(META_INF_CONFIG_FILE);
52 }
53 catch (IOException e)
54 {
55 throw new FacesException("Could not open " + MyFacesResourceHandlerUrlProvider.META_INF_CONFIG_FILE, e);
56 }
57
58 if (metaInfConfigUrls != null && metaInfConfigUrls.hasMoreElements())
59 {
60 while (metaInfConfigUrls.hasMoreElements())
61 {
62 URL url = metaInfConfigUrls.nextElement();
63 if (url != null)
64 {
65 configUrls.add(url);
66 }
67 }
68 }
69
70 return configUrls;
71 }
72
73 public URL getWebInfConfigurationResource(ExternalContext context) throws IOException
74 {
75 return context.getResource(WEB_INF_CONFIG_FILE);
76 }
77 }