X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fruntime%2FKernelUtils.java;h=b35b4be09311b8392531f1fe2e6ae306bc88adf9;hb=091d43fef5f8e88c7081340138eb1bb33c5862a2;hp=6e47873b35557f772ac7d702433652bdb342a3fa;hpb=27a964084a298e6423b9a19b88a665360fb0b567;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 6e47873b3..b35b4be09 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 @@ -65,6 +65,13 @@ class KernelUtils implements KernelConstants { return Paths.get(uri); } + public static Path getOsgiConfigurationPath(String relativePath) { + URI uri = getOsgiConfigurationUri(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) // no data area available @@ -75,6 +82,16 @@ class KernelUtils implements KernelConstants { return safeUri(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); } + public static URI getOsgiConfigurationUri(String relativePath) { + String osgiInstanceBaseUri = getFrameworkProp(OSGI_CONFIGURATION_AREA); + if (osgiInstanceBaseUri == null) // no data area available + return null; + + if (!osgiInstanceBaseUri.endsWith("/")) + osgiInstanceBaseUri = osgiInstanceBaseUri + "/"; + return safeUri(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); + } + static String getFrameworkProp(String key, String def) { String value; if (CmsActivator.getBundleContext() != null) @@ -121,6 +138,7 @@ class KernelUtils implements KernelConstants { if (uri == null) throw new IllegalArgumentException("URI cannot be null"); try { + // FIXME does not work if URI contains illegal characters (such as spaces, etc.) return new URI(uri); } catch (URISyntaxException e) { throw new IllegalArgumentException("Badly formatted URI " + uri, e);