X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Ffile%2Fprovider%2FCmsPath.java;h=ce5e4b9e549c7dd78f3efefa99c1d14ac72b350b;hb=60bf0339227cc064a4ead694e3a699581a025233;hp=504e69bff99c2e86e5438faa9bb1401f07e0d0d4;hpb=4086635cfaa04c8a184124048794398b0ba96a55;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/file/provider/CmsPath.java b/org.argeo.cms/src/org/argeo/cms/file/provider/CmsPath.java index 504e69bff..ce5e4b9e5 100644 --- a/org.argeo.cms/src/org/argeo/cms/file/provider/CmsPath.java +++ b/org.argeo.cms/src/org/argeo/cms/file/provider/CmsPath.java @@ -1,8 +1,27 @@ package org.argeo.cms.file.provider; +import org.argeo.api.acr.Content; import org.argeo.api.acr.fs.AbstractFsPath; +import org.argeo.api.acr.spi.ProvidedContent; +import org.argeo.api.acr.spi.ProvidedSession; public class CmsPath extends AbstractFsPath { + final static String SEPARATOR = "/"; + + // lazy loaded + private ProvidedContent content; + + ProvidedContent getContent() { + if (content == null) { + content = getFileSystem().getContent(toString()); + } + return content; + } + + CmsPath(CmsFileSystem fileSystem, Content content) { + this(fileSystem, content.getPath()); + this.content = (ProvidedContent) content; + } public CmsPath(CmsFileSystem filesSystem, CmsFileStore fileStore, String[] segments, boolean absolute) { super(filesSystem, fileStore, segments, absolute); @@ -22,4 +41,8 @@ public class CmsPath extends AbstractFsPath { return new CmsPath(getFileSystem(), getFileStore(), segments, absolute); } + ProvidedSession getContentSession() { + return getFileSystem().getContentSession(); + } + }