Work on CMS file system implementation
[lgpl/argeo-commons.git] / swt / org.argeo.cms.swt / src / org / argeo / cms / swt / app / CmsUserApp.java
index add6e9edb933a6f97d556961c35af4862cf39653..d8d0f30430657a99c77e382c1f6a76d4f9e259f6 100644 (file)
@@ -1,23 +1,28 @@
 package org.argeo.cms.swt.app;
 
+import java.net.URI;
+import java.nio.file.Path;
+import java.nio.file.spi.FileSystemProvider;
 import java.util.HashSet;
 import java.util.Set;
 
 import org.argeo.api.acr.Content;
 import org.argeo.api.acr.ContentRepository;
-import org.argeo.api.cms.CmsContext;
 import org.argeo.api.cms.ux.CmsUi;
 import org.argeo.api.cms.ux.CmsView;
 import org.argeo.cms.AbstractCmsApp;
 import org.argeo.cms.swt.CmsSwtUi;
 import org.argeo.cms.swt.CmsSwtUtils;
 import org.argeo.cms.swt.auth.CmsLogin;
+import org.argeo.eclipse.ui.fs.SimpleFsBrowser;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 
 public class CmsUserApp extends AbstractCmsApp {
        private ContentRepository contentRepository;
 
+       private FileSystemProvider cmsFileSystemProvider;
+
        @Override
        public Set<String> getUiNames() {
                Set<String> uiNames = new HashSet<>();
@@ -41,6 +46,12 @@ public class CmsUserApp extends AbstractCmsApp {
                        AcrContentTreeView view = new AcrContentTreeView(cmsUi, 0, rootContent);
                        view.setLayoutData(CmsSwtUtils.fillAll());
 
+               } else if ("app".equals(uiName)) {
+                       Path rootPath = cmsFileSystemProvider.getPath(URI.create("cms:///"));
+                       SimpleFsBrowser view = new SimpleFsBrowser(parent, 0);
+                       view.setInput(rootPath);
+                       view.setLayoutData(CmsSwtUtils.fillAll());
+
                }
                return cmsUi;
        }
@@ -59,4 +70,8 @@ public class CmsUserApp extends AbstractCmsApp {
                this.contentRepository = contentRepository;
        }
 
+       public void setCmsFileSystemProvider(FileSystemProvider cmsFileSystemProvider) {
+               this.cmsFileSystemProvider = cmsFileSystemProvider;
+       }
+
 }
\ No newline at end of file