Red Hat Bugzilla – Bug 112560
ConfigRegistry unable to load property config files due to malformed URL created in getConfigURL()
Last modified: 2007-04-18 13:00:47 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Description of problem:
In my Win32 environment I have ccm.home="C:\Program
function getConfigURL() of com.arsdigita.packaging.ConfigRegistry
returns an invalid URL using this ccm home. The URL looks for the
file using FTP from host "C". According to the url primer pointed to
from Sun's URL JavaDoc
primer.html") file:// uses the ftp protocal and not the local file
system. Changing the URL to "file:/" works.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Try and load the config file from a Win32 system
Changing the URL to file:/ breaks ConfigRegistry on Linux.
file:// should be correct because System.getProperty("ccm.home")
returns a value that has a prefix slash, which translates the URL to
file:///, which translates into the file protocol.
Yes, System.getProperty("ccm.home") returns a value that has a prefix
slash if you are running under a unix system but if you are running
under Win32 it's going to be [Drive]:\path\to\ccm\home. So under
windows the URL is file://[Drive]:\path\to\ccm\home which gets
translated to get using FTP from server [Drive] the
file "\path\to\ccm\home". Also what happens on unix if ccm home is
not an absolute path but relative to the working directory? My guess
is that it will break.
I just tested file:///[Drive]:\path\to\ccm\home and it works as
well. The solution looks like ccm.home has to be the full path
location and if it doesn't start with "/" add it.
Good catch. The fix appears to make the Windows ccm-run script set
ccm.home with the full path.
I checked in a fix to ConfigRegistry. Unfortunately, I don't have
access to a Windows box at the moment. Please let me know if the fix
works for you.