import javax.jcr.Node;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.argeo.eclipse.ui.dialogs.Error;
import org.argeo.eclipse.ui.jcr.views.GenericJcrBrowser;
import org.eclipse.core.commands.AbstractHandler;
/** Deletes the selected nodes */
public class DeleteNode extends AbstractHandler {
+ private static Log log = LogFactory.getLog(DeleteNode.class);
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
.findView(HandlerUtil.getActivePartId(event));
if (selection != null && selection instanceof IStructuredSelection) {
Iterator<?> it = ((IStructuredSelection) selection).iterator();
-
Object obj = null;
try {
while (it.hasNext()) {
if (obj instanceof Node) {
Node node = (Node) obj;
Node parentNode = node.getParent();
+ log.debug("Node ids : node :" + node.getIdentifier()
+ + " - pNode : " + parentNode.getIdentifier());
node.remove();
- view.nodeRemoved(parentNode);
+
+ // Postpone the refresh after the session.save
+ // view.nodeRemoved(parentNode);
+
node.getSession().save();
+ if (log.isDebugEnabled())
+ log.debug("session saved");
+ view.nodeRemoved(parentNode);
}
}
} catch (Exception e) {
}
return null;
}
-
}