X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fruntime%2FStaticCms.java;h=76775fed8060f912bed6a725df629113fc8f211e;hb=de8f04a41db19968896b15cd7f43c819a28e7158;hp=6744700d4cccc390d9c0a18a9e13a1d2500296b3;hpb=333f1fbd809a57b74e9376d074825d14722d7f9d;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 6744700d4..76775fed8 100644 --- a/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java +++ b/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java @@ -9,28 +9,29 @@ import org.argeo.api.acr.spi.ProvidedRepository; import org.argeo.api.cms.CmsContext; import org.argeo.api.cms.CmsDeployment; import org.argeo.api.cms.CmsState; +import org.argeo.api.cms.directory.CmsUserManager; +import org.argeo.api.cms.transaction.SimpleTransactionManager; +import org.argeo.api.cms.transaction.WorkControl; +import org.argeo.api.cms.transaction.WorkTransaction; +import org.argeo.api.register.Component; +import org.argeo.api.register.ComponentRegister; +import org.argeo.api.register.SimpleRegister; 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.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.CmsUserManagerImpl; import org.argeo.cms.internal.runtime.DeployedContentRepository; -import org.argeo.util.register.Component; -import org.argeo.util.register.SimpleRegister; -import org.argeo.util.transaction.SimpleTransactionManager; -import org.argeo.util.transaction.WorkControl; -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 { - private static SimpleRegister register = new SimpleRegister(); + private SimpleRegister register = new SimpleRegister(); private CompletableFuture stopped = new CompletableFuture(); @@ -50,14 +51,6 @@ public class StaticCms { .addDependency(uuidFactoryC.getType(UuidFactory.class), cmsState::setUuidFactory, null) // .build(register); - // Deployment Configuration -// DeployConfig deployConfig = new DeployConfig(); -// Component deployConfigC = new Component.Builder<>(deployConfig) // -// .addType(DeployConfig.class) // -// .addActivation(deployConfig::start) // -// .addDeactivation(deployConfig::stop) // -// .build(register); - // Transaction manager SimpleTransactionManager transactionManager = new SimpleTransactionManager(); Component transactionManagerC = new Component.Builder<>(transactionManager) // @@ -74,10 +67,6 @@ public class StaticCms { .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) -> { -// for (Dictionary userDirectoryConfig : d.getUserDirectoryConfigs()) -// userAdmin.enableUserDirectory(userDirectoryConfig); -// }, null) // .build(register); // User manager @@ -132,7 +121,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() {