]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/acr/fs/FsContentProviderService.java
1 package org
.argeo
.cms
.acr
.fs
;
3 import java
.io
.IOException
;
4 import java
.nio
.file
.Files
;
6 import java
.util
.Objects
;
8 import org
.argeo
.api
.cms
.CmsConstants
;
9 import org
.argeo
.api
.cms
.CmsState
;
11 public class FsContentProviderService
extends FsContentProvider
{
12 private CmsState cmsState
;
14 public void start(Map
<String
, String
> properties
) {
15 mountPath
= properties
.get(CmsConstants
.ACR_MOUNT_PATH
);
16 Objects
.requireNonNull(mountPath
);
17 if (!mountPath
.startsWith("/"))
18 throw new IllegalArgumentException("Mount path must start with /");
20 String relPath
= mountPath
.substring(1);
21 rootPath
= cmsState
.getDataPath(relPath
);
23 Files
.createDirectories(rootPath
);
24 } catch (IOException e
) {
25 throw new IllegalStateException(
26 "Cannot initialize FS content provider " + mountPath
+ " with base" + rootPath
, e
);
35 public void setCmsState(CmsState cmsState
) {
36 this.cmsState
= cmsState
;