X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernelUtils.java;h=bf8e8d38e462a58a6821e5a41c4bed69b53a092a;hb=fb22feb37b0c2340d3d846dce4b6f47d0f728efb;hp=63cb356d33fca383b2c90f782036eb896cc62fe7;hpb=6a62c05a487ba34946b1924a039603e68b1d54e6;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java index 63cb356d3..bf8e8d38e 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java @@ -24,8 +24,9 @@ import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; import org.apache.commons.logging.Log; +import org.argeo.api.DataModelNamespace; +import org.argeo.api.NodeConstants; import org.argeo.cms.CmsException; -import org.argeo.node.NodeConstants; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; @@ -90,18 +91,6 @@ class KernelUtils implements KernelConstants { return safeUri(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); } - // static String getOsgiInstancePath(String relativePath) { - // try { - // if (relativePath == null) - // return getOsgiInstanceDir().getCanonicalPath(); - // else - // return new File(getOsgiInstanceDir(), relativePath).getCanonicalPath(); - // } catch (IOException e) { - // throw new CmsException("Cannot get instance path for " + relativePath, - // e); - // } - // } - static File getOsgiConfigurationFile(String relativePath) { try { return new File(new URI(getBundleContext().getProperty(OSGI_CONFIGURATION_AREA) + relativePath)) @@ -197,16 +186,16 @@ class KernelUtils implements KernelConstants { st.open(); } }; - new Thread(run, "Open service tracker " + st).start(); + Activator.getInternalExecutorService().execute(run); +// new Thread(run, "Open service tracker " + st).start(); } /** * @return the {@link BundleContext} of the {@link Bundle} which provided this * class, never null. - * @throws CmsException - * if the related bundle is not active + * @throws CmsException if the related bundle is not active */ - public static BundleContext getBundleContext(Class clzz) { + static BundleContext getBundleContext(Class clzz) { Bundle bundle = FrameworkUtil.getBundle(clzz); BundleContext bc = bundle.getBundleContext(); if (bc == null) @@ -214,10 +203,23 @@ class KernelUtils implements KernelConstants { return bc; } - private static BundleContext getBundleContext() { + static BundleContext getBundleContext() { return getBundleContext(KernelUtils.class); } + static boolean asBoolean(String value) { + if (value == null) + return false; + switch (value) { + case "true": + return true; + case "false": + return false; + default: + throw new CmsException("Unsupported value for attribute " + DataModelNamespace.ABSTRACT + ": " + value); + } + } + private static URI safeUri(String uri) { if (uri == null) throw new CmsException("URI cannot be null");