X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2Fcommands%2FAddFileFolder.java;h=dcc708f6adaad5deb84bddbefd2fc017046884e4;hb=c0b7b3f9d1781d074ab35d24017042fa9415e1e4;hp=4dc0dbec16e6956ec12ee24cfe32734fbedd7d48;hpb=591e96576707e4139b142026a7d915ffdde1e223;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/AddFileFolder.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/AddFileFolder.java index 4dc0dbec1..dcc708f6a 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/AddFileFolder.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/AddFileFolder.java @@ -4,9 +4,10 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.nodetype.NodeType; -import org.argeo.eclipse.ui.dialogs.Error; +import org.argeo.eclipse.ui.ErrorFeedback; import org.argeo.eclipse.ui.dialogs.SingleValue; -import org.argeo.eclipse.ui.jcr.views.GenericJcrBrowser; +import org.argeo.eclipse.ui.jcr.JcrUiPlugin; +import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; @@ -14,17 +15,19 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.handlers.HandlerUtil; +/** Adds a node of type nt:folder */ public class AddFileFolder extends AbstractHandler { public Object execute(ExecutionEvent event) throws ExecutionException { ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event) .getActivePage().getSelection(); - GenericJcrBrowser view = (GenericJcrBrowser) HandlerUtil + AbstractJcrBrowser view = (AbstractJcrBrowser) HandlerUtil .getActiveWorkbenchWindow(event).getActivePage() .findView(HandlerUtil.getActivePartId(event)); if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { Object obj = ((IStructuredSelection) selection).getFirstElement(); + if (obj instanceof Node) { String folderName = SingleValue.ask("Folder name", "Enter folder name"); @@ -36,12 +39,13 @@ public class AddFileFolder extends AbstractHandler { view.nodeAdded(parentNode, newNode); parentNode.getSession().save(); } catch (RepositoryException e) { - Error.show("Cannot create folder " + folderName + ErrorFeedback.show("Cannot create folder " + folderName + " under " + parentNode, e); } } } else { - Error.show("Can only add file folder to a node"); + ErrorFeedback.show(JcrUiPlugin + .getMessage("errorUnvalidNtFolderNodeType")); } } return null;