DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=30858>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=30858 ------- Additional Comments From [EMAIL PROTECTED] 2004-11-29 19:59 ------- I wrote a test case for saving a file based configuration with a base path, and this still fails. The test should reproduce a situation as it occurs in ConfigurationFactory: When a file based configuration is loaded, first its setBasePath() method gets called and then setFileName(). To the former a URL may be passed. If later the file based configuration should be saved using the save() method or save(String) with a relative file name, conversion of this URL to a File object fails. A solution would be to make ConfigurationUtils.constructFile() aware of URLs, so that a correct File object is constructed even if URLs are involved (given that all URLs have the file protocol). After looking at the code for a while I find our actual solution for dealing with file names, base paths and URLs very confusing. The fact that we distinguish between a base path and an URL makes the whole stuff hard to maintain and error prone (just think about the many places in ConfigurationFactory, AbstractFileConfiguration and elsewhere where special checks are performed). Besides it is hard for the users to understand. What can we do about it? I would suggest dropping (deprecating) either the get/setURL() or get/setBasePath() methods. The remaining methods should be able to deal with both URLs and files. This could be implemented in ConfigurationUtils, in a central place. Are there any other ideas/opinions? -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]