1 package org
.argeo
.cms
.internal
.runtime
;
3 import java
.io
.IOException
;
4 import java
.nio
.file
.Files
;
5 import java
.nio
.file
.Path
;
8 import org
.argeo
.api
.acr
.spi
.ContentProvider
;
9 import org
.argeo
.cms
.CmsUserManager
;
10 import org
.argeo
.cms
.acr
.CmsContentRepository
;
11 import org
.argeo
.cms
.acr
.directory
.DirectoryContentProvider
;
12 import org
.argeo
.cms
.acr
.fs
.FsContentProvider
;
14 public class DeployedContentRepository
extends CmsContentRepository
{
15 private final static String ROOT_XML
= "cr:root.xml";
17 private CmsUserManager userManager
;
23 Path rootXml
= KernelUtils
.getOsgiInstancePath(ROOT_XML
);
24 initRootContentProvider(null);
26 // Path srvPath = KernelUtils.getOsgiInstancePath(CmsConstants.SRV_WORKSPACE);
27 // FsContentProvider srvContentProvider = new FsContentProvider("/" + CmsConstants.SRV_WORKSPACE, srvPath, false);
28 // addProvider(srvContentProvider);
31 Path runDirPath
= KernelUtils
.getOsgiInstancePath(CmsContentRepository
.RUN_BASE
);
32 Files
.createDirectories(runDirPath
);
33 FsContentProvider runContentProvider
= new FsContentProvider(CmsContentRepository
.RUN_BASE
, runDirPath
);
34 addProvider(runContentProvider
);
37 DirectoryContentProvider directoryContentProvider
= new DirectoryContentProvider(
38 CmsContentRepository
.DIRECTORY_BASE
, userManager
);
39 addProvider(directoryContentProvider
);
40 } catch (IOException e
) {
41 throw new IllegalStateException("Cannot start content repository", e
);
50 public void addContentProvider(ContentProvider provider
, Map
<String
, Object
> properties
) {
51 // String base = LangUtils.get(properties, CmsContentRepository.ACR_MOUNT_PATH_PROPERTY);
52 addProvider(provider
);
55 public void removeContentProvider(ContentProvider provider
, Map
<String
, Object
> properties
) {
58 public void setUserManager(CmsUserManager userManager
) {
59 this.userManager
= userManager
;