X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fruntime%2FStaticCms.java;h=d1a19bd63a1af6d395d53e6312b8048270b91361;hb=bfb5eb067a6796c0ee2a575b1e2431220352513a;hp=c88ebb8bdb95eb308e42aba6edbc56c7ef56e836;hpb=a61a938100ef882c56104e4eb4ea18f7c786c3bc;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 c88ebb8bd..d1a19bd63 100644 --- a/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java +++ b/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java @@ -2,8 +2,6 @@ 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; @@ -15,14 +13,13 @@ 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; import org.argeo.cms.internal.runtime.CmsStateImpl; import org.argeo.cms.internal.runtime.CmsUserAdmin; import org.argeo.cms.internal.runtime.DeployedContentRepository; -import org.argeo.osgi.useradmin.UserDirectory; import org.argeo.util.register.Component; +import org.argeo.util.register.ComponentRegister; import org.argeo.util.register.SimpleRegister; import org.argeo.util.transaction.SimpleTransactionManager; import org.argeo.util.transaction.WorkControl; @@ -30,7 +27,7 @@ import org.argeo.util.transaction.WorkTransaction; import org.osgi.service.useradmin.UserAdmin; /** - * A CMS assembly which is programatically defined, as an alternative to OSGi + * A CMS assembly which is programmatically defined, as an alternative to OSGi * deployment. Useful for testing or AOT compilation. */ public class StaticCms { @@ -62,16 +59,6 @@ public class StaticCms { // .addDeactivation(deployConfig::stop) // // .build(register); - // CMS Deployment - CmsDeploymentImpl cmsDeployment = new CmsDeploymentImpl(); - Component cmsDeploymentC = new Component.Builder<>(cmsDeployment) // - .addType(CmsDeployment.class) // - .addActivation(cmsDeployment::start) // - .addDeactivation(cmsDeployment::stop) // - .addDependency(cmsStateC.getType(CmsState.class), cmsDeployment::setCmsState, null) // -// .addDependency(deployConfigC.getType(DeployConfig.class), cmsDeployment::setDeployConfig, null) // - .build(register); - // Transaction manager SimpleTransactionManager transactionManager = new SimpleTransactionManager(); Component transactionManagerC = new Component.Builder<>(transactionManager) // @@ -83,6 +70,9 @@ public class StaticCms { CmsUserAdmin userAdmin = new CmsUserAdmin(); Component userAdminC = new Component.Builder<>(userAdmin) // .addType(UserAdmin.class) // + .addActivation(userAdmin::start) // + .addDeactivation(userAdmin::stop) // + .addDependency(cmsStateC.getType(CmsState.class), userAdmin::setCmsState, null) // .addDependency(transactionManagerC.getType(WorkControl.class), userAdmin::setTransactionManager, null) // .addDependency(transactionManagerC.getType(WorkTransaction.class), userAdmin::setUserTransaction, null) // // .addDependency(deployConfigC.getType(DeployConfig.class), (d) -> { @@ -99,6 +89,8 @@ public class StaticCms { // } Component userManagerC = new Component.Builder<>(userManager) // .addType(CmsUserManager.class) // + .addActivation(userManager::start) // + .addDeactivation(userManager::stop) // .addDependency(userAdminC.getType(UserAdmin.class), userManager::setUserAdmin, null) // .addDependency(transactionManagerC.getType(WorkTransaction.class), userManager::setUserTransaction, null) // @@ -116,6 +108,16 @@ public class StaticCms { .addDependency(userManagerC.getType(CmsUserManager.class), contentRepository::setUserManager, null) // .build(register); + // CMS Deployment + CmsDeploymentImpl cmsDeployment = new CmsDeploymentImpl(); + Component cmsDeploymentC = new Component.Builder<>(cmsDeployment) // + .addType(CmsDeployment.class) // + .addActivation(cmsDeployment::start) // + .addDeactivation(cmsDeployment::stop) // + .addDependency(cmsStateC.getType(CmsState.class), cmsDeployment::setCmsState, null) // +// .addDependency(deployConfigC.getType(DeployConfig.class), cmsDeployment::setDeployConfig, null) // + .build(register); + // CMS Context CmsContextImpl cmsContext = new CmsContextImpl(); Component cmsContextC = new Component.Builder<>(cmsContext) // @@ -131,7 +133,23 @@ public class StaticCms { .build(register); assert cmsContextC.get() == cmsContext; + addComponents(register); + register.activate(); + + postActivation(register); + } + + protected void addComponents(ComponentRegister register) { + + } + + protected void postActivation(ComponentRegister register) { + + } + + public ComponentRegister getComponentRegister() { + return register; } public void stop() {