package org.argeo.cms.internal.runtime; import java.nio.file.Path; import java.util.Map; import org.argeo.api.acr.spi.ContentProvider; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsState; import org.argeo.cms.acr.CmsContentRepository; import org.argeo.cms.acr.fs.FsContentProvider; import org.argeo.util.LangUtils; public class DeployedContentRepository extends CmsContentRepository { private final static String ROOT_XML = "cr:root.xml"; private CmsState cmsState; @Override public void start() { super.start(); Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML); initRootContentProvider(rootXml); Path srvPath = KernelUtils.getOsgiInstancePath(CmsConstants.SRV_WORKSPACE); FsContentProvider srvContentProvider = new FsContentProvider(CmsConstants.SRV_WORKSPACE, srvPath, false); addProvider("/" + CmsConstants.SRV_WORKSPACE, srvContentProvider); } @Override public void stop() { super.stop(); } public void addContentProvider(ContentProvider provider, Map properties) { String base = LangUtils.get(properties, CmsContentRepository.ACR_MOUNT_PATH_PROPERTY); addProvider(base, provider); } public void removeContentProvider(ContentProvider provider, Map properties) { } public void setCmsState(CmsState cmsState) { this.cmsState = cmsState; } }