X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Fjcr%2FNodeFsBrowserView.java;h=cba228f2d27f748a56aa92f8669e363cbadcb066;hb=5b444174cd13680f99944026877f6cac2e1faba1;hp=68f45908b55ed8e9b9908266d2fc10355a604eeb;hpb=e78d5435d12c2df2100838e090ae6d045a980f8d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java index 68f45908b..cba228f2d 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java @@ -15,37 +15,41 @@ */ package org.argeo.cms.ui.workbench.jcr; +import java.net.URI; +import java.nio.file.FileSystem; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.spi.FileSystemProvider; +import org.argeo.cms.CmsException; import org.argeo.cms.ui.workbench.WorkbenchUiPlugin; -import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.eclipse.ui.fs.SimpleFsBrowser; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; -/** - * Browse the node file system. - */ +/** Browse the node file system. */ public class NodeFsBrowserView extends ViewPart { public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".nodeFsBrowserView"; - + private FileSystemProvider nodeFileSystemProvider; @Override public void createPartControl(Composite parent) { - SimpleFsBrowser browser = new SimpleFsBrowser(parent, SWT.NO_FOCUS); - Path path = Paths.get("/"); - browser.setInput(path); - browser.setLayoutData(EclipseUiUtils.fillAll()); + try { + URI uri = new URI("node:///"); + FileSystem fileSystem = nodeFileSystemProvider.getFileSystem(uri); + if (fileSystem == null) + fileSystem = nodeFileSystemProvider.newFileSystem(uri, null); + Path nodePath = fileSystem.getPath("~"); + SimpleFsBrowser browser = new SimpleFsBrowser(parent, SWT.NO_FOCUS); + browser.setInput(nodePath); + } catch (Exception e) { + throw new CmsException("Cannot open file system browser", e); + } } @Override public void setFocus() { - // TODO Auto-generated method stub - } public void setNodeFileSystemProvider(FileSystemProvider nodeFileSystemProvider) {