X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=legacy%2Forg.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Fjcr%2FNodeFsBrowserView.java;fp=legacy%2Forg.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Fjcr%2FNodeFsBrowserView.java;h=cba228f2d27f748a56aa92f8669e363cbadcb066;hb=0f2684acd8274f302020a5d2628c4e5d3cc84500;hp=0000000000000000000000000000000000000000;hpb=5b444174cd13680f99944026877f6cac2e1faba1;p=lgpl%2Fargeo-commons.git diff --git a/legacy/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java b/legacy/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java new file mode 100644 index 000000000..cba228f2d --- /dev/null +++ b/legacy/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/jcr/NodeFsBrowserView.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2007-2012 Argeo GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +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.spi.FileSystemProvider; + +import org.argeo.cms.CmsException; +import org.argeo.cms.ui.workbench.WorkbenchUiPlugin; +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. */ +public class NodeFsBrowserView extends ViewPart { + public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".nodeFsBrowserView"; + + private FileSystemProvider nodeFileSystemProvider; + + @Override + public void createPartControl(Composite parent) { + 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() { + } + + public void setNodeFileSystemProvider(FileSystemProvider nodeFileSystemProvider) { + this.nodeFileSystemProvider = nodeFileSystemProvider; + } +}