Update internal packages export in LTTng 2.0 control + update java doc
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui / src / org / eclipse / linuxtools / internal / lttng2 / ui / views / control / handlers / BaseControlViewHandler.java
index 80782b04802da410c6abef24f7b73e5bf458068b..99ff75b15dbbfe1352e24d328515f47d7d40eca9 100644 (file)
@@ -14,17 +14,25 @@ package org.eclipse.linuxtools.internal.lttng2.ui.views.control.handlers;
 import java.util.concurrent.locks.ReentrantLock;
 
 import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.linuxtools.internal.lttng2.ui.Activator;
 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.ControlView;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PlatformUI;
 
 /**
- * <b><u>BaseControlViewHandler</u></b>
  * <p>
  * Abstract Command handler implementation for all control view handlers.
  * </p>
+ * 
+ * @author Bernd Hufmann
  */
 abstract public class BaseControlViewHandler extends AbstractHandler {
 
@@ -34,7 +42,7 @@ abstract public class BaseControlViewHandler extends AbstractHandler {
     /**
      * The synchronization lock.
      */
-    protected ReentrantLock fLock = new ReentrantLock();
+    final protected ReentrantLock fLock = new ReentrantLock();
     
     // ------------------------------------------------------------------------
     // Operations
@@ -61,4 +69,26 @@ abstract public class BaseControlViewHandler extends AbstractHandler {
         }
         return page;
     }
+
+    /**
+     * Refreshes the session information based on given session (in CommandParameter)
+     * @param param - command parameter containing the session to refresh
+     */
+    protected void refresh(final CommandParameter param) {
+        Job job = new Job(Messages.TraceControl_RetrieveNodeConfigurationJob) {
+            
+            @Override
+            protected IStatus run(IProgressMonitor monitor) {
+                try {
+                    param.getSession().getConfigurationFromNode(monitor);
+                } catch (ExecutionException e) {
+                    return new Status(Status.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ListSessionFailure, e);
+                } 
+                return Status.OK_STATUS;
+            }
+        };
+        job.setUser(true);
+        job.schedule();
+    }
+
 }
\ No newline at end of file
This page took 0.024375 seconds and 5 git commands to generate.