commons-dev mailing list archives

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

     [ https://issues.apache.org/jira/browse/CONFIGURATION-252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Heiko Seebach updated CONFIGURATION-252:
----------------------------------------

    Attachment: support-for-jar-protocol.patch.txt

Simply apply this patch on org.apache.commons.configuration.ConfigurationUtils

> Detection of absolute fileNames when configuration sources are defined in a JAR file
> ------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-252
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-252
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: Linux
>            Reporter: Heiko Seebach
>         Attachments: support-for-jar-protocol.patch.txt
>
>
> When using several configuration sources, the sources are defined in a an xml attribute
like 
> fileName="usergui.properties"
> 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 well."
> 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
> jar:file:/C:/myjar.jar!/my-config.xml/someprops.properties
> while under Windows, a MalformedUrlException will be thrown, when the fileName is absolute:

> jar:file:/C:/myjar.jar!/my-config.xml/c:/someprops.properties
> 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message