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=285e61362f12b9500e7956b5b552068420fb0b8c;hp=596b0d765e0f31c3d57bd19e4f1f3d76652919f3;hpb=1d5afdce3e91054f07ddd3c98309c363b4cf1d46;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 596b0d765..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 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2012 Mathieu Baudier + * Copyright (C) 2007-2012 Argeo GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -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; } }