From f523352d0b92b038aa340838bb8ba07ac28a252e Mon Sep 17 00:00:00 2001 From: Patrick Tasse Date: Mon, 9 Jan 2012 11:51:31 -0500 Subject: [PATCH] Fix for bug 368181. --- .../ui/project/model/TmfProjectElement.java | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java index 532b950506..c109e98da7 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java @@ -12,13 +12,16 @@ package org.eclipse.linuxtools.tmf.ui.project.model; -import java.lang.reflect.InvocationTargetException; - import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.ui.actions.WorkspaceModifyOperation; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IViewReference; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.navigator.CommonNavigator; +import org.eclipse.ui.navigator.CommonViewer; /** * TmfProjectElement @@ -81,18 +84,19 @@ public class TmfProjectElement extends TmfProjectModelElement { @Override public void refresh() { - try { - new WorkspaceModifyOperation() { - @Override - protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException { - IProject project = getResource(); - project.touch(null); + Display.getDefault().asyncExec(new Runnable(){ + @Override + public void run() { + IWorkbench wb = PlatformUI.getWorkbench(); + IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage(); + for (IViewReference viewReference : activePage.getViewReferences()) { + IViewPart viewPart = viewReference.getView(false); + if (viewPart instanceof CommonNavigator) { + CommonViewer commonViewer = ((CommonNavigator) viewPart).getCommonViewer(); + commonViewer.refresh(); + } } - }.run(null); - } catch (InvocationTargetException e) { - } catch (InterruptedException e) { - } catch (RuntimeException e) { - } + }}); } @Override -- 2.34.1