X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Fplugins%2Forg.argeo.jcr.ui.explorer%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2Fui%2Fexplorer%2Fcommands%2FImportFileSystem.java;h=52ceb904705e697f3a66813f3c83630e554fd3ba;hb=c0b7b3f9d1781d074ab35d24017042fa9415e1e4;hp=e52694a1ca738736dc4b73404c0efd4a6d3d1ee5;hpb=ed36fb56ac5aff2d606b35be175eb32657d6ec56;p=lgpl%2Fargeo-commons.git diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/ImportFileSystem.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/ImportFileSystem.java index e52694a1c..52ceb9047 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/ImportFileSystem.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/ImportFileSystem.java @@ -3,7 +3,11 @@ package org.argeo.jcr.ui.explorer.commands; import javax.jcr.Node; import org.argeo.eclipse.ui.ErrorFeedback; -import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser; +import org.argeo.eclipse.ui.TreeParent; +import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; +import org.argeo.jcr.ui.explorer.model.SingleJcrNode; +import org.argeo.jcr.ui.explorer.model.WorkspaceNode; +import org.argeo.jcr.ui.explorer.views.GenericJcrBrowser; import org.argeo.jcr.ui.explorer.wizards.ImportFileSystemWizard; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; @@ -18,23 +22,29 @@ public class ImportFileSystem extends AbstractHandler { public Object execute(ExecutionEvent event) throws ExecutionException { ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event) .getActivePage().getSelection(); - AbstractJcrBrowser view = (AbstractJcrBrowser) HandlerUtil + GenericJcrBrowser view = (GenericJcrBrowser) HandlerUtil .getActiveWorkbenchWindow(event).getActivePage() .findView(HandlerUtil.getActivePartId(event)); if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { Object obj = ((IStructuredSelection) selection).getFirstElement(); try { - if (obj instanceof Node) { - Node folder = (Node) obj; + Node folder = null; + if (obj instanceof SingleJcrNode) { + folder = ((SingleJcrNode) obj).getNode(); + } else if (obj instanceof WorkspaceNode) { + folder = ((WorkspaceNode) obj).getRootNode(); + } else { + ErrorFeedback.show(JcrExplorerPlugin + .getMessage("warningInvalidNodeToImport")); + } + if (folder != null) { ImportFileSystemWizard wizard = new ImportFileSystemWizard( folder); WizardDialog dialog = new WizardDialog( HandlerUtil.getActiveShell(event), wizard); dialog.open(); - view.refresh(folder); - } else { - ErrorFeedback.show("Can only import to a node"); + view.nodeAdded((TreeParent) obj); } } catch (Exception e) { ErrorFeedback.show("Cannot import files to " + obj, e); @@ -42,5 +52,4 @@ public class ImportFileSystem extends AbstractHandler { } return null; } - }