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;
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) {
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);
viewer.setInput(getViewSite());
viewer.addDoubleClickListener(new IDoubleClickListener() {
- @Override
public void doubleClick(DoubleClickEvent evt) {
Object obj = ((IStructuredSelection) evt.getSelection())
.getFirstElement();
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);
}
}
});
this.contentProvider = contentProvider;
}
+ public void setProcessController(ProcessController processController) {
+ this.processController = processController;
+ }
+
}
\ No newline at end of file