Author: echatellier Date: 2010-05-20 15:52:30 +0200 (Thu, 20 May 2010) New Revision: 1866 Url: http://nuiton.org/repositories/revision/nuiton-utils/1866 Log: #627 : Support multiples loading from classpath Modified: trunk/src/main/java/org/nuiton/util/ApplicationConfig.java Modified: trunk/src/main/java/org/nuiton/util/ApplicationConfig.java =================================================================== --- trunk/src/main/java/org/nuiton/util/ApplicationConfig.java 2010-05-18 15:39:59 UTC (rev 1865) +++ trunk/src/main/java/org/nuiton/util/ApplicationConfig.java 2010-05-20 13:52:30 UTC (rev 1866) @@ -27,6 +27,7 @@ package org.nuiton.util; import org.apache.commons.beanutils.ConstructorUtils; +import org.apache.commons.collections.EnumerationUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -49,6 +50,7 @@ import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; +import java.util.Enumeration; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -1460,13 +1462,23 @@ // classpath String filename = getConfigFileName(); - URL inClasspath = - ClassLoader.getSystemClassLoader().getResource(filename); - if (inClasspath == null) { - inClasspath = ApplicationConfig.class.getResource("/" + + Enumeration<URL> enumInClasspath = ClassLoader.getSystemClassLoader().getResources(filename); + List<URL> urlsInClasspath = EnumerationUtils.toList(enumInClasspath); + + if (urlsInClasspath.isEmpty()) { + URL inClasspath = ApplicationConfig.class.getResource("/" + filename); + if (inClasspath != null) { + urlsInClasspath.add(inClasspath); + } + else { + if (log.isDebugEnabled()) { + log.debug("No configuration file found in classpath : /" + + filename); + } + } } - if (inClasspath != null) { + for (URL inClasspath : urlsInClasspath) { if (log.isInfoEnabled()) { log.info("Loading configuration file (classpath) : " + inClasspath); @@ -1478,12 +1490,6 @@ stream.close(); } } - else { - if (log.isDebugEnabled()) { - log.debug("No configuration file found in classpath : /" + - filename); - } - } // system directory File etcConfig = getSystemConfigFile();
participants (1)
-
echatellier@users.nuiton.org