X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fruntime%2FKernelUtils.java;h=943c06f4ec44a6914e73a41e0530c7e61aed5381;hb=2c5da70747629282585d5515720dcb1515a0011c;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..943c06f4e 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)