]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - DeleteNode.java
93304fd705e476603d9b7fe0dcb5551a793befac
1 package org
.argeo
.eclipse
.ui
.jcr
.commands
;
3 import java
.util
.Iterator
;
7 import org
.argeo
.eclipse
.ui
.dialogs
.Error
;
8 import org
.argeo
.eclipse
.ui
.jcr
.views
.GenericJcrBrowser
;
9 import org
.eclipse
.core
.commands
.AbstractHandler
;
10 import org
.eclipse
.core
.commands
.ExecutionEvent
;
11 import org
.eclipse
.core
.commands
.ExecutionException
;
12 import org
.eclipse
.jface
.viewers
.ISelection
;
13 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
14 import org
.eclipse
.ui
.handlers
.HandlerUtil
;
16 /** Deletes the selected nodes */
17 public class DeleteNode
extends AbstractHandler
{
19 public Object
execute(ExecutionEvent event
) throws ExecutionException
{
20 ISelection selection
= HandlerUtil
.getActiveWorkbenchWindow(event
)
21 .getActivePage().getSelection();
22 GenericJcrBrowser view
= (GenericJcrBrowser
) HandlerUtil
23 .getActiveWorkbenchWindow(event
).getActivePage()
24 .findView(HandlerUtil
.getActivePartId(event
));
25 if (selection
!= null && selection
instanceof IStructuredSelection
) {
26 Iterator
<?
> it
= ((IStructuredSelection
) selection
).iterator();
30 while (it
.hasNext()) {
32 if (obj
instanceof Node
) {
33 Node node
= (Node
) obj
;
34 Node parentNode
= node
.getParent();
36 view
.nodeRemoved(parentNode
);
37 node
.getSession().save();
40 } catch (Exception e
) {
41 Error
.show("Cannot delete node " + obj
, e
);