X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FCmsState.java;h=63aeeac299a42b257ded84f05a6ec3a90e414feb;hb=3f2e580967b0d5751459d577ba557e1c0eec48f0;hp=23d2f266d89325c71dc99bc168498340049b37ab;hpb=828c592e047d6dd0b88c1835093e07b1526036b0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java index 23d2f266d..63aeeac29 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java @@ -10,6 +10,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Dictionary; +import java.util.Hashtable; import java.util.List; import java.util.Locale; import java.util.UUID; @@ -21,6 +22,7 @@ import javax.transaction.UserTransaction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.cms.auth.AuthConstants; import org.argeo.cms.maintenance.MaintenanceUi; import org.argeo.node.NodeConstants; import org.argeo.node.NodeState; @@ -32,7 +34,6 @@ import org.osgi.framework.Constants; import org.osgi.framework.FrameworkUtil; import org.osgi.framework.ServiceReference; import org.osgi.service.cm.ManagedServiceFactory; -import org.osgi.service.useradmin.UserAdmin; import bitronix.tm.BitronixTransactionManager; import bitronix.tm.BitronixTransactionSynchronizationRegistry; @@ -88,6 +89,7 @@ public class CmsState implements NodeState { } private void initServices() { + // JTA initTransactionManager(); // JCR @@ -100,16 +102,17 @@ public class CmsState implements NodeState { bc.registerService(RepositoryFactory.class, repositoryFactory, null); // Security - NodeUserAdmin userAdmin = new NodeUserAdmin(); + NodeUserAdmin userAdmin = new NodeUserAdmin(AuthConstants.ROLES_BASEDN); shutdownHooks.add(() -> userAdmin.destroy()); - Dictionary props = userAdmin.currentState(); + Dictionary props = new Hashtable<>(); props.put(Constants.SERVICE_PID, NodeConstants.NODE_USER_ADMIN_PID); - bc.registerService(UserAdmin.class, userAdmin, props); + bc.registerService(ManagedServiceFactory.class, userAdmin, props); // UI bc.registerService(ApplicationConfiguration.class, new MaintenanceUi(), LangUtils.init(KernelConstants.CONTEXT_NAME_PROP, "system")); - bc.registerService(ApplicationConfiguration.class, new UserUi(), LangUtils.init(KernelConstants.CONTEXT_NAME_PROP, "user")); + bc.registerService(ApplicationConfiguration.class, new UserUi(), + LangUtils.init(KernelConstants.CONTEXT_NAME_PROP, "user")); } private void initTransactionManager() {