I have a fix ready to commit about the database root directory issue. I would go ahead but, since it's touching a core aspect of the upcoming release I'd like some feedback about it before changing the code.
THE PROBLEM: as of now Xindice, when started with the default configurations, created a ./db/ directory in the cwd. This is IMHO a bad solution, since if the engine is started up from different directories you have a new database created every time. This needs to change.
MY FIX: it follows a simple strategy:
1. if system.xml contains an absolute path, it uses it;
2. if the path is relative it checks for the existance of an xindice.db.home System property. On success the value of the property is prepended to the configuration value;
3. if there is no property, it checks to see if the war was unpacked. If so, it prepends the RealPath of /WEB-INF to the configured value. A warning is issued in the logs, notifying the user about the possible data loss in case of a war upgrade;
4. if all those checks fail (no absolute path, no system property, packed war), a ServletException is thrown and a long error message is logged.
If this strategy sounds good to you, the patches are ready to be committed: just LMK.
Ciao,
-- Gianugo Rabellino