Introduce support for multiple JCR repositories.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / KernelUtils.java
index 63cb356d33fca383b2c90f782036eb896cc62fe7..1d81409115b9bcba31ae862117c18c2a728df571 100644 (file)
@@ -25,6 +25,7 @@ import javax.security.auth.login.LoginException;
 
 import org.apache.commons.logging.Log;
 import org.argeo.cms.CmsException;
+import org.argeo.node.DataModelNamespace;
 import org.argeo.node.NodeConstants;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -206,7 +207,7 @@ class KernelUtils implements KernelConstants {
         * @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 +215,24 @@ 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");