X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fruntime%2FKernelUtils.java;h=7165966486824fa56d842ded78c824bee0d7dc82;hb=1d6840195189cbdbf632ca2800b6179d3b6349df;hp=afcb9ff26a77d68502373e86a5eb2fd84280fa3d;hpb=f4da6777015da3fc392138f0c01cea2f2add9ed3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/KernelUtils.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/KernelUtils.java index afcb9ff26..716596648 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/KernelUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/KernelUtils.java @@ -1,6 +1,5 @@ package org.argeo.cms.internal.runtime; -import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.net.URI; @@ -19,7 +18,7 @@ import org.argeo.api.cms.CmsLog; import org.argeo.cms.internal.osgi.CmsActivator; /** Package utilities */ -public class KernelUtils implements KernelConstants { +class KernelUtils implements KernelConstants { final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; final static String OSGI_CONFIGURATION_AREA = "osgi.configuration.area"; @@ -52,42 +51,51 @@ public class KernelUtils implements KernelConstants { return asDictionary(props); } - static File getExecutionDir(String relativePath) { - File executionDir = new File(getFrameworkProp("user.dir")); + static Path getExecutionDir(String relativePath) { + Path executionDir = Paths.get(getFrameworkProp("user.dir")); if (relativePath == null) return executionDir; - try { - return new File(executionDir, relativePath).getCanonicalFile(); - } catch (IOException e) { - throw new IllegalArgumentException("Cannot get canonical file", e); - } +// try { + return executionDir.resolve(relativePath); +// } catch (IOException e) { +// throw new IllegalArgumentException("Cannot get canonical file", e); +// } } - static File getOsgiInstanceDir() { - return new File(CmsActivator.getBundleContext().getProperty(OSGI_INSTANCE_AREA).substring("file:".length())) - .getAbsoluteFile(); - } +// static File getOsgiInstanceDir() { +// return new File(CmsActivator.getBundleContext().getProperty(OSGI_INSTANCE_AREA).substring("file:".length())) +// .getAbsoluteFile(); +// } public static Path getOsgiInstancePath(String relativePath) { - return Paths.get(getOsgiInstanceUri(relativePath)); + URI uri = getOsgiInstanceUri(relativePath); + if (uri == null) // no data area available + return null; + return Paths.get(uri); } public static URI getOsgiInstanceUri(String relativePath) { String osgiInstanceBaseUri = getFrameworkProp(OSGI_INSTANCE_AREA); - if (osgiInstanceBaseUri != null) - return safeUri(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); - else - return Paths.get(System.getProperty("user.dir")).toUri(); + if (osgiInstanceBaseUri == null) // no data area available + return null; + + if (!osgiInstanceBaseUri.endsWith("/")) + osgiInstanceBaseUri = osgiInstanceBaseUri + "/"; +// if (osgiInstanceBaseUri != null) + return safeUri(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); +// else +// return Paths.get(System.getProperty("user.dir"), (relativePath != null ? relativePath : "")).toUri(); } - static File getOsgiConfigurationFile(String relativePath) { - try { - return new File(new URI(CmsActivator.getBundleContext().getProperty(OSGI_CONFIGURATION_AREA) + relativePath)) - .getCanonicalFile(); - } catch (Exception e) { - throw new IllegalArgumentException("Cannot get configuration file for " + relativePath, e); - } - } +// static File getOsgiConfigurationFile(String relativePath) { +// try { +// return new File( +// new URI(CmsActivator.getBundleContext().getProperty(OSGI_CONFIGURATION_AREA) + relativePath)) +// .getCanonicalFile(); +// } catch (Exception e) { +// throw new IllegalArgumentException("Cannot get configuration file for " + relativePath, e); +// } +// } static String getFrameworkProp(String key, String def) { String value; @@ -100,7 +108,7 @@ public class KernelUtils implements KernelConstants { return value; } - public static String getFrameworkProp(String key) { + static String getFrameworkProp(String key) { return getFrameworkProp(key, null); }