From 2f309df1a91d100d40bcc96f921c16f294631f42 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 12 May 2016 13:58:13 +0000 Subject: [PATCH] Listen to services right from the start of the initialization process. git-svn-id: https://svn.argeo.org/commons/trunk@8909 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/cms/internal/kernel/Kernel.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java index 785c44716..5ad8da65a 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java @@ -143,6 +143,9 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { ClassLoader currentContextCl = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(Kernel.class.getClassLoader()); try { + // Listen to service publication (also ours) + bc.addServiceListener(Kernel.this); + if (nodeSecurity.isFirstInit()) firstInit(); @@ -185,9 +188,11 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { // HTTP initWebServer(conf); - ServiceReference sr = bc.getServiceReference(ExtendedHttpService.class); - if (sr != null) - addHttpService(sr); +// ServiceReference sr = bc.getServiceReference(ExtendedHttpService.class); +// if (sr != null) +// addHttpService(sr); +// else +// log.warn("No http service found"); // Initialise services initTransactionManager(); @@ -196,7 +201,7 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { Configuration nodeConf = conf.getConfiguration(ArgeoJcrConstants.REPO_PID_NODE); if (nodeConf.getProperties() == null) { Dictionary props = getNodeConfigFromFrameworkProperties(); - if(props==null)// TODO interactive configuration + if (props == null)// TODO interactive configuration return; nodeConf.update(props); } @@ -238,11 +243,10 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { } private Dictionary getNodeConfigFromFrameworkProperties() { - String repoType = KernelUtils - .getFrameworkProp(KernelConstants.NODE_REPO_PROP_PREFIX + RepoConf.type.name()); + String repoType = KernelUtils.getFrameworkProp(KernelConstants.NODE_REPO_PROP_PREFIX + RepoConf.type.name()); if (repoType == null) return null; - + Hashtable props = new Hashtable(); for (RepoConf repoConf : RepoConf.values()) { String value = KernelUtils.getFrameworkProp(KernelConstants.NODE_REPO_PROP_PREFIX + repoConf.name()); @@ -392,8 +396,6 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { @SuppressWarnings("unchecked") private void publish() { - // Listen to service publication (also ours) - bc.addServiceListener(Kernel.this); // Logging loggerReg = bc.registerService(ArgeoLogger.class, logger, null); -- 2.30.2