X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FActivator.java;h=24c2f6bccc7d1c7e9d8e004f94d56623e92513dc;hb=18af628c072e386420f03261ab207a72341a0a1b;hp=ecd36476facdd5cbc7e187cb87dd0c01d84b840e;hpb=828c592e047d6dd0b88c1835093e07b1526036b0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java index ecd36476f..24c2f6bcc 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java @@ -8,6 +8,8 @@ import java.util.Dictionary; import java.util.List; import java.util.Locale; +import javax.security.auth.login.Configuration; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; @@ -21,7 +23,6 @@ import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; import org.osgi.framework.ServiceReference; -import org.osgi.service.condpermadmin.ConditionalPermissionAdmin; import org.osgi.service.log.LogReaderService; /** @@ -29,12 +30,11 @@ import org.osgi.service.log.LogReaderService; * access to kernel information for the rest of the bundle (and only it) */ public class Activator implements BundleActivator { - private final Log log = LogFactory.getLog(Activator.class); + private final static Log log = LogFactory.getLog(Activator.class); private static Activator instance; private BundleContext bc; - private ConditionalPermissionAdmin permissionAdmin; private LogReaderService logReaderService; // private ConfigurationAdmin configurationAdmin; @@ -47,23 +47,27 @@ public class Activator implements BundleActivator { public void start(BundleContext bundleContext) throws Exception { instance = this; this.bc = bundleContext; - this.permissionAdmin = getService(ConditionalPermissionAdmin.class); this.logReaderService = getService(LogReaderService.class); // this.configurationAdmin = getService(ConfigurationAdmin.class); - initSecurity();// must be first - initArgeoLogger(); try { + initSecurity();// must be first + initArgeoLogger(); initNode(); } catch (Exception e) { - e.printStackTrace(); - throw new CmsException("Cannot initialize node", e); + log.error("## FATAL: CMS activator failed", e); + // throw new CmsException("Cannot initialize node", e); } } private void initSecurity() { - URL url = getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG); - System.setProperty("java.security.auth.login.config", url.toExternalForm()); + if (System.getProperty(KernelConstants.JAAS_CONFIG_PROP) == null) { + URL url = getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG); + // URL url = + // getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG_IPA); + System.setProperty(KernelConstants.JAAS_CONFIG_PROP, url.toExternalForm()); + } + Configuration.getConfiguration(); } private void initArgeoLogger() { @@ -82,24 +86,7 @@ public class Activator implements BundleActivator { Files.write(stateUuidPath, stateUuid.getBytes()); } nodeState = new CmsState(stateUuid); - // Object cn; - // Configuration nodeConf = - // configurationAdmin.getConfiguration(NodeConstants.NODE_STATE_PID); - // Dictionary props = nodeConf.getProperties(); - // if (props == null) { - // if (log.isDebugEnabled()) - // log.debug("Clean node state"); - // Dictionary envProps = new Hashtable<>(); - // // Use the UUID of the first framework run as state UUID - // cn = bc.getProperty(Constants.FRAMEWORK_UUID); - // envProps.put(NodeConstants.CN, cn); - // nodeConf.update(envProps); - // } else { - // cn = props.get(NodeConstants.CN); - // if (cn == null) - // throw new CmsException("No state UUID available"); - // } - Dictionary regProps = LangUtils.init(Constants.SERVICE_PID, NodeConstants.NODE_STATE_PID); + Dictionary regProps = LangUtils.dico(Constants.SERVICE_PID, NodeConstants.NODE_STATE_PID); regProps.put(NodeConstants.CN, stateUuid); bc.registerService(NodeState.class, nodeState, regProps); @@ -120,7 +107,6 @@ public class Activator implements BundleActivator { instance = null; this.bc = null; - this.permissionAdmin = null; this.logReaderService = null; // this.configurationAdmin = null; }