Red Hat Bugzilla – Bug 831069
--config does not accept relative paths
Last modified: 2014-10-19 19:00:54 EDT
[jwulf@radhe books]$ java -jar /home/jwulf/docshack/bin/csprocessor.jar list --config ./../bin/csprocessor.ini
CSProcessor client version: 0.23.5
ERROR: The configuration file does not exist in the specified location!
Yes it does:
[jwulf@radhe books]$ stat ./../bin/csprocessor.ini
Size: 235 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 150009 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ jwulf) Gid: ( 500/ jwulf)
Access: 2012-06-12 16:37:19.545875825 +1000
Modify: 2012-06-12 16:37:18.522906374 +1000
Change: 2012-06-12 16:37:18.522906374 +1000
Fixed. I'll update the bug with a version once it's released.
The Apache HierarchicalINIConfiguration doesn't accept relative file paths. As such any paths should be converted to their absolute path. This was manually being done for anything that started with "." or "..", however if it was a multiple level relative path then it wasn't fully resolved. eg. Joshs example was resolved as: "/home/jwulf/docshack/books/../bin/csprocessor.ini"
Files that were specified using relative paths were unable to be found because it was looking for directories actually named "..".
Use the Java File.getCanonicalPath() method which will resolve the relative paths into an absolute path that the INIConfiguration parser can read.
Released in version 0.24.8.
Closing and setting as current release as no QA was performed by the original reporter. If there is still an issue with this bug still than please re-open it.