Node init can manage relative directories (relative to execution directory)
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / KernelUtils.java
index 28eb526952934937e075fe19fec6e4242c7eceb4..1d15e2a3ae041911c95f963e69042c6833877416 100644 (file)
@@ -43,6 +43,17 @@ class KernelUtils implements KernelConstants {
                return asDictionary(props);
        }
 
+       static File getExecutionDir(String relativePath) {
+               File executionDir = new File(getFrameworkProp("user.dir"));
+               if (relativePath == null)
+                       return executionDir;
+               try {
+                       return new File(executionDir, relativePath).getCanonicalFile();
+               } catch (IOException e) {
+                       throw new CmsException("Cannot get canonical file", e);
+               }
+       }
+
        static File getOsgiInstanceDir() {
                return new File(Activator.getBundleContext()
                                .getProperty(OSGI_INSTANCE_AREA).substring("file:".length()))