Thanks for your comments Joachim
>>> loading of properties and loadDefaultProperties
It seams I made a mistake when refactoring code. The comments express the right behaviour. I'll fix that.
>>> LogFactory
Some users reported problems with our current logging. As far as I recall the problems where related to the construction of log instances using:
private static final Log LOG = LogFactory.getLog(FooBar.class);
I guess their problems are related to classloading or the time when the Log instance is created. That was the reason I thought of passing around a LogFactory instace with the configuration. Maybe I got a bit to far with that approach. Any suggestions are welcome.
>>> ClassLoader
I'm aware of the required refactoring work but IMHO we need to start at some point the gain the advantages of this.
>>> access method: Object get(String)
Will make it protected.
>>> access methods
Will add getObject and getClass.
>>> exceptions
I only wanted to highlight that I intend to throw unchecked exceptions and planed to introduce a exception hierarchy as follows:
ConfigurationException -> CastorRunTimeException -> RuntimeException
>>> how should the configuration be instantiated?
I do not have a final opinon how configurations should be instantiated but will propose something with my next preview.
Preliminary version of refactored configuration class, at the moment named NewConfiguration. That class does not offer the whole functionality yet but I like to discuss a few things bassed on that code:
In my opinion we should change to:
loadFromClassPath(FILEPATH + FILENAME);
loadFromClassPath("/" + FILENAME)
and omit:
loadFromJavaHome(FILENAME);
loadFromWorkingDirectory(FILENAME);