]> git.argeo.org Git - lgpl/argeo-commons.git/blob - RemoveRemoteRepository.java
cb3a62976bf09feb78a9328e149920622c8cd30f
[lgpl/argeo-commons.git] / RemoveRemoteRepository.java
1 package org.argeo.jcr.ui.explorer.commands;
2
3 import org.argeo.jcr.ui.explorer.model.RemoteRepositoryNode;
4 import org.argeo.jcr.ui.explorer.views.GenericJcrBrowser;
5 import org.eclipse.core.commands.AbstractHandler;
6 import org.eclipse.core.commands.ExecutionEvent;
7 import org.eclipse.core.commands.ExecutionException;
8 import org.eclipse.jface.viewers.ISelection;
9 import org.eclipse.jface.viewers.IStructuredSelection;
10 import org.eclipse.ui.handlers.HandlerUtil;
11
12 /** Remove a registered remote repository */
13 public class RemoveRemoteRepository extends AbstractHandler {
14
15 public Object execute(ExecutionEvent event) throws ExecutionException {
16
17 ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
18 .getActivePage().getSelection();
19
20 GenericJcrBrowser view = (GenericJcrBrowser) HandlerUtil
21 .getActiveWorkbenchWindow(event).getActivePage()
22 .findView(HandlerUtil.getActivePartId(event));
23
24 if (selection != null && !selection.isEmpty()
25 && selection instanceof IStructuredSelection) {
26 Object obj = ((IStructuredSelection) selection).getFirstElement();
27
28 if (obj instanceof RemoteRepositoryNode) {
29 ((RemoteRepositoryNode) obj).remove();
30 view.refresh(null);
31 }
32 }
33 return null;
34 }
35
36 }