X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fruntime%2FDeployedContentRepository.java;h=aa7d8f884dbc0584098bd346319c6ee45f3b5436;hb=0d10cb454d6c3c98e671dafc11600c884dce8d75;hp=cff9bc5148a3464678dc98ae310f93d035332724;hpb=da9d144b6b241e1526a3bd255dff905a7969a5bc;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java index cff9bc514..aa7d8f884 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java @@ -3,18 +3,23 @@ package org.argeo.cms.internal.runtime; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Map; -import org.argeo.api.acr.spi.ContentProvider; +import org.argeo.api.cms.CmsLog; +import org.argeo.cms.CmsUserManager; import org.argeo.cms.acr.CmsContentRepository; +import org.argeo.cms.acr.directory.DirectoryContentProvider; import org.argeo.cms.acr.fs.FsContentProvider; -import org.argeo.util.OS; public class DeployedContentRepository extends CmsContentRepository { private final static String ROOT_XML = "cr:root.xml"; + private final static CmsLog log = CmsLog.getLog(DeployedContentRepository.class); + + private CmsUserManager userManager; + @Override public void start() { + long begin = System.currentTimeMillis(); try { super.start(); Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML); @@ -24,13 +29,21 @@ public class DeployedContentRepository extends CmsContentRepository { // FsContentProvider srvContentProvider = new FsContentProvider("/" + CmsConstants.SRV_WORKSPACE, srvPath, false); // addProvider(srvContentProvider); - Path runDirPath = KernelUtils.getOsgiInstancePath(CmsContentRepository.RUN_BASE); + // run dir + Path runDirPath = KernelUtils.getOsgiInstancePath(CmsContentRepository.RUN_BASE); Files.createDirectories(runDirPath); FsContentProvider runContentProvider = new FsContentProvider(CmsContentRepository.RUN_BASE, runDirPath); addProvider(runContentProvider); + + // users + DirectoryContentProvider directoryContentProvider = new DirectoryContentProvider( + CmsContentRepository.DIRECTORY_BASE, userManager); + addProvider(directoryContentProvider); } catch (IOException e) { throw new IllegalStateException("Cannot start content repository", e); } + long duration = System.currentTimeMillis()-begin; + log.debug(() -> "CMS content repository available (initialisation took "+duration+" ms)"); } @Override @@ -38,12 +51,16 @@ public class DeployedContentRepository extends CmsContentRepository { super.stop(); } - public void addContentProvider(ContentProvider provider, Map properties) { -// String base = LangUtils.get(properties, CmsContentRepository.ACR_MOUNT_PATH_PROPERTY); - addProvider(provider); - } +// public void addContentProvider(ContentProvider provider, Map properties) { +//// String base = LangUtils.get(properties, CmsContentRepository.ACR_MOUNT_PATH_PROPERTY); +// addProvider(provider); +// } + +// public void removeContentProvider(ContentProvider provider, Map properties) { +// } - public void removeContentProvider(ContentProvider provider, Map properties) { + public void setUserManager(CmsUserManager userManager) { + this.userManager = userManager; } }