commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Heiko Seebach (JIRA)" <>
Subject [jira] Created: (CONFIGURATION-252) Detection of absolute fileNames when configuration sources are defined in a JAR file
Date Thu, 01 Feb 2007 15:20:05 GMT
Detection of absolute fileNames when configuration sources are defined in a JAR file

                 Key: CONFIGURATION-252
             Project: Commons Configuration
          Issue Type: Bug
    Affects Versions: 1.3
         Environment: Linux
            Reporter: Heiko Seebach

When using several configuration sources, the sources are defined in a an xml attribute like

The method org.apache.commons.configuration.ConfigurationUtils.getFile(String basePath, String
fileName) converts the basePath and fileName into a File.
The JavaDoc says: "The parameter strings can be relative files, absolute files and URLs as

The file containing the definition of the configuration sources will become the basePath of
this method.
After a log of debugging I found, that if the basePath start with "jar:" the method assumes
that the fileName is relative, evene if it's absolute. This happens, because there's a ProtocolHandler
for Jar files and "jar:" is a valid protocol. So the statement "new URL(new URL(basePath),
fileName)" doesn't throw a MalformedUrlException.
Since the URL is valid, it's never checked, if the fileName may be absolute. 

Attention: this is only the case on Unix/Linux, since this is a valid URL
while under Windows, a MalformedUrlException will be thrown, when the fileName is absolute:


I attached a patch that checks, whether the URL protocol is "jar" and the fileName is absolute.
If so, the absolute file will be used.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message