]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java
cff9bc5148a3464678dc98ae310f93d035332724
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / runtime / 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.acr.CmsContentRepository;
10 import org.argeo.cms.acr.fs.FsContentProvider;
11 import org.argeo.util.OS;
12
13 public class DeployedContentRepository extends CmsContentRepository {
14 private final static String ROOT_XML = "cr:root.xml";
15
16 @Override
17 public void start() {
18 try {
19 super.start();
20 Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML);
21 initRootContentProvider(null);
22
23 // Path srvPath = KernelUtils.getOsgiInstancePath(CmsConstants.SRV_WORKSPACE);
24 // FsContentProvider srvContentProvider = new FsContentProvider("/" + CmsConstants.SRV_WORKSPACE, srvPath, false);
25 // addProvider(srvContentProvider);
26
27 Path runDirPath = KernelUtils.getOsgiInstancePath(CmsContentRepository.RUN_BASE);
28 Files.createDirectories(runDirPath);
29 FsContentProvider runContentProvider = new FsContentProvider(CmsContentRepository.RUN_BASE, runDirPath);
30 addProvider(runContentProvider);
31 } catch (IOException e) {
32 throw new IllegalStateException("Cannot start content repository", e);
33 }
34 }
35
36 @Override
37 public void stop() {
38 super.stop();
39 }
40
41 public void addContentProvider(ContentProvider provider, Map<String, Object> properties) {
42 // String base = LangUtils.get(properties, CmsContentRepository.ACR_MOUNT_PATH_PROPERTY);
43 addProvider(provider);
44 }
45
46 public void removeContentProvider(ContentProvider provider, Map<String, Object> properties) {
47 }
48
49 }