Adapt to MS Windows
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / runtime / DeployedContentRepository.java
index 72a30fb083b032f0f6f10838bf6fc1523418b253..bb1f6112a927616caec811bb98d61321fc7319ea 100644 (file)
@@ -5,13 +5,14 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 
 import org.argeo.api.cms.CmsLog;
-import org.argeo.cms.CmsUserManager;
+import org.argeo.api.cms.directory.CmsUserManager;
 import org.argeo.cms.acr.CmsContentRepository;
 import org.argeo.cms.acr.directory.DirectoryContentProvider;
 import org.argeo.cms.acr.fs.FsContentProvider;
+import org.argeo.cms.util.OS;
 
 public class DeployedContentRepository extends CmsContentRepository {
-       private final static String ROOT_XML = "cr:root.xml";
+       private final static String ROOT_XML = OS.LOCAL.isMSWindows() ? "cr%3Aroot.xml" : "cr:root.xml";
 
        private final static CmsLog log = CmsLog.getLog(DeployedContentRepository.class);
 
@@ -22,7 +23,8 @@ public class DeployedContentRepository extends CmsContentRepository {
                long begin = System.currentTimeMillis();
                try {
                        super.start();
-                       Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML);
+                       // FIXME does not work on Windows
+                       //Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML);
                        initRootContentProvider(null);
 
 //             Path srvPath = KernelUtils.getOsgiInstancePath(CmsConstants.SRV_WORKSPACE);
@@ -31,9 +33,11 @@ public class DeployedContentRepository extends CmsContentRepository {
 
                        // run dir
                        Path runDirPath = KernelUtils.getOsgiInstancePath(CmsContentRepository.RUN_BASE);
-                       Files.createDirectories(runDirPath);
-                       FsContentProvider runContentProvider = new FsContentProvider(CmsContentRepository.RUN_BASE, runDirPath);
-                       addProvider(runContentProvider);
+                       if (runDirPath != null) {
+                               Files.createDirectories(runDirPath);
+                               FsContentProvider runContentProvider = new FsContentProvider(CmsContentRepository.RUN_BASE, runDirPath);
+                               addProvider(runContentProvider);
+                       }
 
                        // users
                        DirectoryContentProvider directoryContentProvider = new DirectoryContentProvider(