X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fruntime%2FStaticCms.java;h=e4087e13903ee00f707ea5ec159f9f5335c86b37;hb=da9d144b6b241e1526a3bd255dff905a7969a5bc;hp=27b23233f3f982a3052bebfac8fa61e9fb5bdb14;hpb=fdf44255df56ae179b904e4ab326bf595674800e;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 27b23233f..e4087e139 100644 --- a/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java +++ b/org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java @@ -35,12 +35,19 @@ public class StaticCms { private CompletableFuture stopped = new CompletableFuture(); public void start() { + // UID factory + CmsUuidFactory uuidFactory = new CmsUuidFactory(); + Component uuidFactoryC = new Component.Builder<>(uuidFactory) // + .addType(UuidFactory.class) // + .build(register); + // CMS State CmsStateImpl cmsState = new CmsStateImpl(); Component cmsStateC = new Component.Builder<>(cmsState) // .addType(CmsState.class) // .addActivation(cmsState::start) // .addDeactivation(cmsState::stop) // + .addDependency(uuidFactoryC.getType(UuidFactory.class), cmsState::setUuidFactory, null) // .build(register); // Deployment Configuration @@ -81,6 +88,17 @@ public class StaticCms { }, null) // .build(register); + // Content Repository + DeployedContentRepository contentRepository = new DeployedContentRepository(); + Component contentRepositoryC = new Component.Builder<>(contentRepository) // + .addType(ProvidedRepository.class) // + .addType(ContentRepository.class) // + .addActivation(contentRepository::start) // + .addDeactivation(contentRepository::stop) // + .addDependency(cmsStateC.getType(CmsState.class), contentRepository::setCmsState, null) // + .addDependency(uuidFactoryC.getType(UuidFactory.class), contentRepository::setUuidFactory, null) // + .build(register); + // CMS Context CmsContextImpl cmsContext = new CmsContextImpl(); Component cmsContextC = new Component.Builder<>(cmsContext) // @@ -90,26 +108,12 @@ public class StaticCms { .addDependency(cmsStateC.getType(CmsState.class), cmsContext::setCmsState, null) // .addDependency(cmsDeploymentC.getType(CmsDeployment.class), cmsContext::setCmsDeployment, null) // .addDependency(userAdminC.getType(UserAdmin.class), cmsContext::setUserAdmin, null) // + .addDependency(uuidFactoryC.getType(UuidFactory.class), cmsContext::setUuidFactory, null) // + .addDependency(contentRepositoryC.getType(ProvidedRepository.class), cmsContext::setContentRepository, + null) // .build(register); assert cmsContextC.get() == cmsContext; - // UID factory - CmsUuidFactory uuidFactory = new CmsUuidFactory(); - Component uuidFactoryC = new Component.Builder<>(uuidFactory) // - .addType(UuidFactory.class) // - .build(register); - - // Content Repository - DeployedContentRepository contentRepository = new DeployedContentRepository(); - Component contentRepositoryC = new Component.Builder<>(contentRepository) // - .addType(ProvidedRepository.class) // - .addType(ContentRepository.class) // - .addActivation(contentRepository::start) // - .addDeactivation(contentRepository::stop) // - .addDependency(cmsStateC.getType(CmsState.class), contentRepository::setCmsState, null) // - .addDependency(uuidFactoryC.getType(UuidFactory.class), contentRepository::setUuidFactory, null) // - .build(register); - register.activate(); }