commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabriele Garuglieri (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CONFIGURATION-216) Inconsistent way to locate filename when creating configuration
Date Tue, 22 Aug 2006 14:33:16 GMT
    [ http://issues.apache.org/jira/browse/CONFIGURATION-216?page=comments#action_12429724
] 
            
Gabriele Garuglieri commented on CONFIGURATION-216:
---------------------------------------------------

Hi Oliver,
i've found a condition in which the fix won't work.
Given this snippet of code:
DefaultConfigurationBuilder cf =  new DefaultConfigurationBuilder("conf/config/deep/testFileFromClasspath.xml");
 CombinedConfiguration config = cf.getConfiguration(true);
 assertNotNull(config.getConfiguration("propConf"));

that loads this configuration file:
<configuration>
  <properties config-name="propConf" fileName="testEqual.properties"/>
</configuration>

with "testEqual.properties" located into "/conf" that is in classpath

will end up trying to load "conf/config/deep/testEqual.properties" which is not found.

I've reworked a bit the code and produced a patch that should correct the problem.
You migth not agree on the code but at least it should give you the idea of the flaw in the
previous implementation.

> Inconsistent way to locate filename when creating configuration
> ---------------------------------------------------------------
>
>                 Key: CONFIGURATION-216
>                 URL: http://issues.apache.org/jira/browse/CONFIGURATION-216
>             Project: Commons Configuration
>          Issue Type: Bug
>         Environment: commons-configuration-1.3-dev
>            Reporter: Gabriele Garuglieri
>         Assigned To: Oliver Heger
>            Priority: Minor
>
> There is a different behaviour locating the configuration file in classpath depending
on the way it is set in the configuration class.
> For example assuming "conf/conf1.properties" exists in classpath:
> PropertiesConfiguration pc = new PropertiesConfiguration("conf/conf1.properties");
> gives org.apache.commons.configuration.ConfigurationException: Cannot locate configuration
source conf1.properties
> while
> PropertiesConfiguration pc = new PropertiesConfiguration();
> pc.setFileName("conf/conf1.properties");
> pc.load();
> properly locate file in classpath and loads it.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message