]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - eclipse/plugins/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/ExecutionModulesView.java
Adapt SlcExecution for RCP
[gpl/argeo-slc.git] / eclipse / plugins / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / views / ExecutionModulesView.java
index 0f358c36a2b908ae62219c5ed632b9a68d6f34a1..a4d040314f9d6cf8c2d83abe54478d6fbcaa81a8 100644 (file)
@@ -2,8 +2,11 @@ package org.argeo.slc.client.ui.views;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 
 import org.argeo.slc.client.ui.ClientUiPlugin;
+import org.argeo.slc.client.ui.controllers.ProcessController;
+import org.argeo.slc.execution.ExecutionModuleDescriptor;
 import org.argeo.slc.process.RealizedFlow;
 import org.argeo.slc.process.SlcExecution;
 import org.eclipse.jface.viewers.DoubleClickEvent;
@@ -27,10 +30,20 @@ public class ExecutionModulesView extends ViewPart {
 
        private IContentProvider contentProvider;
 
+       private ProcessController processController;
+
        class ViewLabelProvider extends LabelProvider implements
                        ITableLabelProvider {
                public String getColumnText(Object obj, int index) {
-                       return getText(obj);
+                       if (obj instanceof ExecutionModulesContentProvider.ExecutionModuleNode) {
+                               ExecutionModuleDescriptor emd = ((ExecutionModulesContentProvider.ExecutionModuleNode) obj)
+                                               .getDescriptor();
+                               if (emd.getLabel() != null)
+                                       return emd.getLabel();
+                               else
+                                       return getText(emd);
+                       } else
+                               return getText(obj);
                }
 
                public Image getColumnImage(Object obj, int index) {
@@ -39,14 +52,17 @@ public class ExecutionModulesView extends ViewPart {
 
                public Image getImage(Object obj) {
                        if (obj instanceof ExecutionModulesContentProvider.AgentNode)
-                               return ClientUiPlugin.getDefault().getImageRegistry().get("agent");
+                               return ClientUiPlugin.getDefault().getImageRegistry().get(
+                                               "agent");
                        else if (obj instanceof ExecutionModulesContentProvider.ExecutionModuleNode)
                                return ClientUiPlugin.getDefault().getImageRegistry().get(
                                                "executionModule");
                        else if (obj instanceof ExecutionModulesContentProvider.FolderNode)
-                               return ClientUiPlugin.getDefault().getImageRegistry().get("folder");
+                               return ClientUiPlugin.getDefault().getImageRegistry().get(
+                                               "folder");
                        else if (obj instanceof ExecutionModulesContentProvider.FlowNode)
-                               return ClientUiPlugin.getDefault().getImageRegistry().get("flow");
+                               return ClientUiPlugin.getDefault().getImageRegistry().get(
+                                               "flow");
                        else
                                return PlatformUI.getWorkbench().getSharedImages().getImage(
                                                ISharedImages.IMG_OBJ_ELEMENT);
@@ -60,7 +76,6 @@ public class ExecutionModulesView extends ViewPart {
                viewer.setInput(getViewSite());
                viewer.addDoubleClickListener(new IDoubleClickListener() {
 
-                       @Override
                        public void doubleClick(DoubleClickEvent evt) {
                                Object obj = ((IStructuredSelection) evt.getSelection())
                                                .getFirstElement();
@@ -78,9 +93,10 @@ public class ExecutionModulesView extends ViewPart {
                                        realizedFlows.add(realizedFlow);
 
                                        SlcExecution slcExecution = new SlcExecution();
+                                       slcExecution.setUuid(UUID.randomUUID().toString());
                                        slcExecution.setRealizedFlows(realizedFlows);
-                                       fn.getExecutionModuleNode().getAgentNode().getAgent()
-                                                       .runSlcExecution(slcExecution);
+                                       processController.execute(fn.getExecutionModuleNode()
+                                                       .getAgentNode().getAgent(), slcExecution);
                                }
                        }
                });
@@ -101,4 +117,8 @@ public class ExecutionModulesView extends ViewPart {
                this.contentProvider = contentProvider;
        }
 
+       public void setProcessController(ProcessController processController) {
+               this.processController = processController;
+       }
+
 }
\ No newline at end of file