]> git.argeo.org Git - lgpl/argeo-commons.git/blob - DeployedContentRepository.java
4a4a4d9867863a4e4bf4ecf3887ba63ecdc37ab3
[lgpl/argeo-commons.git] / DeployedContentRepository.java
1 package org.argeo.cms.internal.runtime;
2
3 import java.io.IOException;
4 import java.nio.file.Files;
5 import java.nio.file.Path;
6 import java.util.Map;
7
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;
13
14 public class DeployedContentRepository extends CmsContentRepository {
15 private final static String ROOT_XML = "cr:root.xml";
16
17 private CmsUserManager userManager;
18
19 @Override
20 public void start() {
21 try {
22 super.start();
23 Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML);
24 initRootContentProvider(null);
25
26 // Path srvPath = KernelUtils.getOsgiInstancePath(CmsConstants.SRV_WORKSPACE);
27 // FsContentProvider srvContentProvider = new FsContentProvider("/" + CmsConstants.SRV_WORKSPACE, srvPath, false);
28 // addProvider(srvContentProvider);
29
30 // run dir
31 Path runDirPath = KernelUtils.getOsgiInstancePath(CmsContentRepository.RUN_BASE);
32 Files.createDirectories(runDirPath);
33 FsContentProvider runContentProvider = new FsContentProvider(CmsContentRepository.RUN_BASE, runDirPath);
34 addProvider(runContentProvider);
35
36 // users
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);
42 }
43 }
44
45 @Override
46 public void stop() {
47 super.stop();
48 }
49
50 public void addContentProvider(ContentProvider provider, Map<String, Object> properties) {
51 // String base = LangUtils.get(properties, CmsContentRepository.ACR_MOUNT_PATH_PROPERTY);
52 addProvider(provider);
53 }
54
55 public void removeContentProvider(ContentProvider provider, Map<String, Object> properties) {
56 }
57
58 public void setUserManager(CmsUserManager userManager) {
59 this.userManager = userManager;
60 }
61
62 }