]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - eclipse/plugins/runtime/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/commands/ProcessDetailsDisplayHandler.java
+ refactor to separate runtime and module project under eclipse plugin.
[gpl/argeo-slc.git] / eclipse / plugins / runtime / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / commands / ProcessDetailsDisplayHandler.java
diff --git a/eclipse/plugins/runtime/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/commands/ProcessDetailsDisplayHandler.java b/eclipse/plugins/runtime/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/commands/ProcessDetailsDisplayHandler.java
new file mode 100644 (file)
index 0000000..cdc2881
--- /dev/null
@@ -0,0 +1,43 @@
+package org.argeo.slc.client.ui.commands;
+
+import org.argeo.slc.client.ui.views.ProcessDetailView;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+/**
+ * Command handler to set visible or create a ProcessDetailView. UUID of the
+ * process is passed via command parameters.
+ * 
+ * @author bsinou
+ * 
+ */
+
+public class ProcessDetailsDisplayHandler extends AbstractHandler {
+       // private static final Log log = LogFactory
+       // .getLog(ProcessDetailsDisplayHandler.class);
+
+       public Object execute(ExecutionEvent event) throws ExecutionException {
+
+               // We pass the UUID of the process we want to display via command
+               // parameters.
+               String uuid = event
+                               .getParameter("org.argeo.slc.client.commands.processUuid");
+
+               // mode = 1 : VIEW_ACTIVATE, Show view mode that indicates the view
+               // should be made visible and activated. Use of this mode has the same
+               // effect as calling showView.
+               try {
+                       ProcessDetailView pView = (ProcessDetailView) HandlerUtil
+                                       .getActiveWorkbenchWindow(event).getActivePage()
+                                       .showView(ProcessDetailView.ID, "UUID-" + uuid, 1);
+                       pView.setUuid(uuid);
+                       pView.retrieveResults();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+
+               return null;
+       }
+}