X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fplugins%2Forg.argeo.slc.client.ui%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fviews%2FExecutionModulesView.java;h=c6ba27b138688cbc09ee89a0db51d5330a0d2897;hb=5d91de89b70a4ba96cd4d37c4fcc991118faf685;hp=0adc32835e2fe8edceca63185445b7952bc9133e;hpb=105ef03465f17d92b8c1171fe4c50eea7c225eca;p=gpl%2Fargeo-slc.git diff --git a/eclipse/plugins/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/ExecutionModulesView.java b/eclipse/plugins/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/ExecutionModulesView.java index 0adc32835..c6ba27b13 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/ExecutionModulesView.java +++ b/eclipse/plugins/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/ExecutionModulesView.java @@ -8,12 +8,12 @@ import java.util.Properties; import java.util.UUID; import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.slc.SlcException; +import org.argeo.slc.client.oxm.OxmInterface; import org.argeo.slc.client.ui.ClientUiPlugin; import org.argeo.slc.client.ui.controllers.ProcessController; -import org.argeo.slc.execution.ExecutionFlowDescriptor; +import org.argeo.slc.client.ui.providers.ExecutionModulesContentProvider; +import org.argeo.slc.client.ui.providers.ExecutionModulesContentProvider.FlowNode; import org.argeo.slc.execution.ExecutionModuleDescriptor; import org.argeo.slc.process.RealizedFlow; import org.argeo.slc.process.SlcExecution; @@ -37,15 +37,16 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; public class ExecutionModulesView extends ViewPart { - private final static Log log = LogFactory - .getLog(ExecutionModulesView.class); + // private final static Log log = LogFactory + // .getLog(ExecutionModulesView.class); public static final String ID = "org.argeo.slc.client.ui.executionModulesView"; private TreeViewer viewer; + // Ioc private IContentProvider contentProvider; - + private OxmInterface oxmBean; private ProcessController processController; public void createPartControl(Composite parent) { @@ -67,14 +68,6 @@ public class ExecutionModulesView extends ViewPart { return viewer; } - public void setContentProvider(IContentProvider contentProvider) { - this.contentProvider = contentProvider; - } - - public void setProcessController(ProcessController processController) { - this.processController = processController; - } - class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { public String getColumnText(Object obj, int index) { @@ -142,21 +135,27 @@ public class ExecutionModulesView extends ViewPart { } class ViewDragListener implements DragSourceListener { - public void dragFinished(DragSourceEvent event) { - System.out.println("Finished Drag"); + + public void dragStart(DragSourceEvent event) { + System.out.println("Start Drag"); } public void dragSetData(DragSourceEvent event) { System.out.println("dragSetData: " + event); + // System.out.println("dataType: " + event.dataType); + IStructuredSelection selection = (IStructuredSelection) viewer .getSelection(); if (selection.getFirstElement() instanceof ExecutionModulesContentProvider.FlowNode) { + if (TextTransfer.getInstance().isSupportedType(event.dataType)) { ExecutionModulesContentProvider.FlowNode flowNode = (ExecutionModulesContentProvider.FlowNode) selection .getFirstElement(); - RealizedFlow rf = nodeAsRealizedFlow(flowNode); + + // we still use property because the marshaller bean does + // not know the FlowNode Class Properties props = new Properties(); - realizedFlowAsProperties(props, rf); + flowNodeAsProperties(props, flowNode); props.setProperty("agentId", flowNode .getExecutionModuleNode().getAgentNode().getAgent() .getAgentUuid()); @@ -166,8 +165,8 @@ public class ExecutionModulesView extends ViewPart { props.store(out, ""); event.data = new String(out.toByteArray()); } catch (IOException e) { - throw new SlcException("Cannot transfor realized flow", - e); + throw new SlcException( + "Cannot transform realized flow", e); } finally { IOUtils.closeQuietly(out); } @@ -175,29 +174,42 @@ public class ExecutionModulesView extends ViewPart { } } - public void dragStart(DragSourceEvent event) { - System.out.println("Start Drag"); + public void dragFinished(DragSourceEvent event) { + System.out.println("Finished Drag"); } - private RealizedFlow nodeAsRealizedFlow( - ExecutionModulesContentProvider.FlowNode flowNode) { - RealizedFlow rf = new RealizedFlow(); - rf.setModuleName(flowNode.getExecutionModuleNode().getDescriptor() - .getName()); - rf.setModuleVersion(flowNode.getExecutionModuleNode() + private void flowNodeAsProperties(Properties props, FlowNode fn) { + props.setProperty("moduleName", fn.getExecutionModuleNode() + .getDescriptor().getName()); + props.setProperty("moduleVersion", fn.getExecutionModuleNode() .getDescriptor().getVersion()); - ExecutionFlowDescriptor efd = new ExecutionFlowDescriptor(); - efd.setName(flowNode.getFlowName()); - rf.setFlowDescriptor(efd); - return rf; - } + props.setProperty("flowName", fn.getFlowName()); + + System.out.println("Execution Spec avant marshalling ??? "); + System.out.println(fn.getExecutionFlowDescriptor()); + System.out.println(fn.getExecutionFlowDescriptor() + .getExecutionSpec()); + + props.setProperty("FlowDescriptorAsXml", + oxmBean.marshal(fn.getExecutionFlowDescriptor())); + System.out + .println(oxmBean.marshal(fn.getExecutionFlowDescriptor())); - private void realizedFlowAsProperties(Properties props, RealizedFlow rf) { - props.setProperty("moduleName", rf.getModuleName()); - props.setProperty("moduleVersion", rf.getModuleVersion()); - props.setProperty("flowName", rf.getFlowDescriptor().getName()); } } + // IoC + public void setContentProvider(IContentProvider contentProvider) { + this.contentProvider = contentProvider; + } + + public void setProcessController(ProcessController processController) { + this.processController = processController; + } + + public void setOxmBean(OxmInterface oxmBean) { + this.oxmBean = oxmBean; + } + } \ No newline at end of file