X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fruntime%2FStaticCms.java;h=a44c5d4fdade72c495ed52e430ae033716ffbf1c;hb=4c7e1885b8bf3c93fa0919ace122e3f289a925ea;hp=e4087e13903ee00f707ea5ec159f9f5335c86b37;hpb=da9d144b6b241e1526a3bd255dff905a7969a5bc;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java b/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java index e4087e139..a44c5d4fd 100644 --- a/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java +++ b/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java @@ -3,6 +3,7 @@ package org.argeo.cms.runtime; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Dictionary; +import java.util.HashMap; import java.util.concurrent.CompletableFuture; import org.argeo.api.acr.ContentRepository; @@ -11,7 +12,9 @@ import org.argeo.api.cms.CmsContext; import org.argeo.api.cms.CmsDeployment; import org.argeo.api.cms.CmsState; import org.argeo.api.uuid.UuidFactory; +import org.argeo.cms.CmsUserManager; import org.argeo.cms.acr.CmsUuidFactory; +import org.argeo.cms.internal.auth.CmsUserManagerImpl; import org.argeo.cms.internal.osgi.DeployConfig; import org.argeo.cms.internal.runtime.CmsContextImpl; import org.argeo.cms.internal.runtime.CmsDeploymentImpl; @@ -21,6 +24,7 @@ import org.argeo.cms.internal.runtime.DeployedContentRepository; import org.argeo.osgi.transaction.SimpleTransactionManager; import org.argeo.osgi.transaction.WorkControl; import org.argeo.osgi.transaction.WorkTransaction; +import org.argeo.osgi.useradmin.UserDirectory; import org.argeo.util.register.Component; import org.argeo.util.register.SimpleRegister; import org.osgi.service.useradmin.UserAdmin; @@ -77,7 +81,6 @@ public class StaticCms { // User Admin CmsUserAdmin userAdmin = new CmsUserAdmin(); - Component userAdminC = new Component.Builder<>(userAdmin) // .addType(UserAdmin.class) // .addDependency(transactionManagerC.getType(WorkControl.class), userAdmin::setTransactionManager, null) // @@ -88,6 +91,19 @@ public class StaticCms { }, null) // .build(register); + // User manager + CmsUserManagerImpl userManager = new CmsUserManagerImpl(); + for (UserDirectory userDirectory : userAdmin.getUserDirectories()) { + // FIXME deal with properties + userManager.addUserDirectory(userDirectory, new HashMap<>()); + } + Component userManagerC = new Component.Builder<>(userManager) // + .addType(CmsUserManager.class) // + .addDependency(userAdminC.getType(UserAdmin.class), userManager::setUserAdmin, null) // + .addDependency(transactionManagerC.getType(WorkTransaction.class), userManager::setUserTransaction, + null) // + .build(register); + // Content Repository DeployedContentRepository contentRepository = new DeployedContentRepository(); Component contentRepositoryC = new Component.Builder<>(contentRepository) // @@ -97,6 +113,7 @@ public class StaticCms { .addDeactivation(contentRepository::stop) // .addDependency(cmsStateC.getType(CmsState.class), contentRepository::setCmsState, null) // .addDependency(uuidFactoryC.getType(UuidFactory.class), contentRepository::setUuidFactory, null) // + .addDependency(userManagerC.getType(CmsUserManager.class), contentRepository::setUserManager, null) // .build(register); // CMS Context