X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernel.java;h=199356198e259e7eee547609b0d56cfad04b655b;hb=3cf2ac1853e37c531d3ab402c7a0ad73316e41bd;hp=d3787a511db4d04088b8c8d0ed4468d09ab32b2b;hpb=5c34a77d1949c26b2d52272e71a0e5141fce397b;p=lgpl%2Fargeo-commons.git 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 d3787a511..199356198 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 @@ -3,6 +3,7 @@ package org.argeo.cms.internal.kernel; import static bitronix.tm.TransactionManagerServices.getTransactionManager; import static bitronix.tm.TransactionManagerServices.getTransactionSynchronizationRegistry; import static java.util.Locale.ENGLISH; +import static org.argeo.cms.internal.kernel.DataModelNamespace.CMS_DATA_MODEL_NAMESPACE; import static org.argeo.cms.internal.kernel.KernelUtils.getFrameworkProp; import static org.argeo.cms.internal.kernel.KernelUtils.getOsgiInstanceDir; import static org.argeo.jcr.ArgeoJcrConstants.ALIAS_NODE; @@ -214,8 +215,13 @@ 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 + if (log.isDebugEnabled()) + log.debug("No argeo.node.repo.type=localfs|h2|postgresql|memory" + + " property defined, entering interactive mode..."); return; + } nodeConf.update(props); } } catch (IOException e) { @@ -238,8 +244,10 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { if (repository == null) repository = new NodeRepository(); - if (repositoryFactory == null) + if (repositoryFactory == null) { repositoryFactory = new OsgiJackrabbitRepositoryFactory(); + repositoryFactory.setBundleContext(bc); + } userAdmin = new NodeUserAdmin(transactionManager, repository); // ADMIN UIs @@ -271,8 +279,6 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { return props; } - private final static String CMS_DATA_MODEL = "cms.datamodel"; - private void prepareDataModel(ManagedJackrabbitRepository nodeRepo) { Session adminSession = null; try { @@ -296,12 +302,12 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { private void processWiring(Session adminSession, BundleWiring wiring, Set processed) { // recursively process requirements first - List requiredWires = wiring.getRequiredWires(CMS_DATA_MODEL); + List requiredWires = wiring.getRequiredWires(CMS_DATA_MODEL_NAMESPACE); for (BundleWire wire : requiredWires) { processWiring(adminSession, wire.getProviderWiring(), processed); // registerCnd(adminSession, wire.getCapability(), processed); } - List capabilities = wiring.getCapabilities(CMS_DATA_MODEL); + List capabilities = wiring.getCapabilities(CMS_DATA_MODEL_NAMESPACE); for (BundleCapability capability : capabilities) { registerCnd(adminSession, capability, processed); } @@ -309,13 +315,13 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { private void registerCnd(Session adminSession, BundleCapability capability, Set processed) { Map attrs = capability.getAttributes(); - String name = attrs.get("name").toString(); + String name = attrs.get(DataModelNamespace.CAPABILITY_NAME_ATTRIBUTE).toString(); if (processed.contains(name)) { if (log.isTraceEnabled()) log.trace("Data model " + name + " has already been processed"); return; } - String path = attrs.get("cnd").toString(); + String path = attrs.get(DataModelNamespace.CAPABILITY_CND_ATTRIBUTE).toString(); URL url = capability.getRevision().getBundle().getResource(path); try (Reader reader = new InputStreamReader(url.openStream())) { CndImporter.registerNodeTypes(reader, adminSession, true); @@ -545,13 +551,13 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { props.put(key, sr.getProperty(key)); if (ServiceEvent.REGISTERED == event.getType()) { try { - repositoryFactory.register(repository, props); + // repositoryFactory.register(repository, props); dataHttp.registerRepositoryServlets(alias, repository); } catch (Exception e) { throw new CmsException("Could not publish JCR repository " + alias, e); } } else if (ServiceEvent.UNREGISTERING == event.getType()) { - repositoryFactory.unregister(repository, props); + // repositoryFactory.unregister(repository, props); dataHttp.unregisterRepositoryServlets(alias); } }