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=4f8c62600d9dc18dbda8d34be8545d46c1b24485;hb=9e7862a704a33e4e6db79151d7521bf3e03fabd6;hp=e52694a1ca738736dc4b73404c0efd4a6d3d1ee5;hpb=774e4da3fb247a95d327674045af5b5ab2a1a62a;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..4f8c62600 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 @@ -1,9 +1,28 @@ +/* + * Copyright (C) 2007-2012 Mathieu Baudier + * + * 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.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 +37,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 +67,4 @@ public class ImportFileSystem extends AbstractHandler { } return null; } - }