[ 
https://issues.apache.org/jira/browse/CONFIGURATION-253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12491438
 ] 

Oliver Heger commented on CONFIGURATION-253:
--------------------------------------------

After having a deeper look into this issue I am no longer sure that this is a 
bug. You loaded the configuration with the load(String) method, and the 
Javadocs for this method state

"This does not change the source of the configuration (i.e. the internally 
maintained file name). Use one of the setter methods for this purpose."

However I tend to agree that the current behavior is confusing. Why can you 
obtain a URL and a path name from a configuration loaded this way, but no File?

I have written a test case and implemented a (simple) fix, which would cause 
getFile() to return a valid file name in this case. What do others think? 
Should we change the current behavior?

> FileConfiguration getFile(), getFileName(), getBasePath() are not always 
> consistent
> -----------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-253
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-253
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.3
>            Reporter: Thomas Wabner
>             Fix For: 1.5
>
>
> Taken from the maillinglist:
> > I have a properties configuration which is loaded without a problem.
> > Later in my application I will access the file which is aligned to 
> > this configuration.
> > 
> >  
> > 
> > final IFileConfiguration _productConf = 
> > _conf.getProductConfigurations().get(_productId);
> > 
> > log.debug("product conf file " + _productConf.getFile());
> > 
> > log.debug("product conf filename " + _productConf.getFileName());
> > 
> > log.debug("product conf base path " + _productConf.getBasePath());
> > 
> >  
> > 
> > The methods _productConf.getFile() and _productConf.getFileName() 
> > returning null but the getBasePath() returns a path which is correct 
> > (like file:/C:/Projects/workspace/myProject/project.properties). Seems 
> > for me like a bug because the PropertiesConfiguration is loaded 
> > correct and works.
> > 
> >  
> > 
> > By side: I have also set a file reloading strategy for this 
> > configuration.
> > 
> >  
> > 
> > Any ideas what's happen in this case or where I can find the problem? 
> > It would be nicer to get the File() instead the BasePath which has to 
> > be converted into a URL before I can access the whole properties file.
> > 
> >  
> > 
> > Thanks in advance,
> > 
> >  
> > 
> > - Thomas Wabner
> > 
> > 
> Thomas,
> you are right, the conversions between a base path, a file name, and a File 
> are not always consistent. How did you load the configuration (this 
> determines, which internal fields are set)?
> I would recommend to work with URLs, i.e. the method getURL(). A file-based 
> configuration's URL is always defined.
> If you like, you can open a Jira ticket for this problem.
> Thanks.
> Oliver
> The file is loaded in this way:
> _productConf = new ProductConfiguration();
> _productConf.load(FileTools.getPathForList(_propductPathList).getPath());
> means the load method gets an String and not an File.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to