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%2FRefresh.java;h=21ce256581b2d63eb7549dcf92d32c63554e262e;hb=3a3d316af102ba410d1d9e6de349d0c8f7ac044f;hp=4d5e57761caf97eb69f476a44ee51c505c13deb4;hpb=cd50e3711d3b86921f11d9e021fc6a43bef0d400;p=lgpl%2Fargeo-commons.git diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/Refresh.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/Refresh.java index 4d5e57761..21ce25658 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/Refresh.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/Refresh.java @@ -19,13 +19,14 @@ import java.util.Iterator; import org.argeo.eclipse.ui.TreeParent; import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser; +import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; import org.argeo.jcr.ui.explorer.utils.JcrUiUtils; +import org.argeo.jcr.ui.explorer.views.GenericJcrBrowser; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.handlers.HandlerUtil; /** * Force the selected objects of the active view to be refreshed doing the @@ -37,13 +38,19 @@ import org.eclipse.ui.handlers.HandlerUtil; */ public class Refresh extends AbstractHandler { + public final static String ID = JcrExplorerPlugin.ID + ".refresh"; + public Object execute(ExecutionEvent event) throws ExecutionException { - ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event) - .getActivePage().getSelection(); - AbstractJcrBrowser view = (AbstractJcrBrowser) HandlerUtil - .getActiveWorkbenchWindow(event).getActivePage() - .findView(HandlerUtil.getActivePartId(event)); - if (selection != null && selection instanceof IStructuredSelection) { + + AbstractJcrBrowser view = (AbstractJcrBrowser) JcrExplorerPlugin + .getDefault().getWorkbench().getActiveWorkbenchWindow() + .getActivePage().getActivePart();// + + ISelection selection = JcrExplorerPlugin.getDefault().getWorkbench() + .getActiveWorkbenchWindow().getActivePage().getSelection(); + + if (selection != null && selection instanceof IStructuredSelection + && !selection.isEmpty()) { Iterator it = ((IStructuredSelection) selection).iterator(); while (it.hasNext()) { Object obj = it.next(); @@ -53,7 +60,9 @@ public class Refresh extends AbstractHandler { view.refresh(obj); } } - } + } else if (view instanceof GenericJcrBrowser) + ((GenericJcrBrowser) view).refresh(null); // force full refresh + return null; } }