ExecutionModulesContentProvider.FlowNode flowNode = (ExecutionModulesContentProvider.FlowNode) selection
.getFirstElement();
- // we still use property because the marshaller bean does
- // not know the FlowNode Class
Properties props = new Properties();
flowNodeAsProperties(props, flowNode);
props.setProperty("agentId", flowNode
.getExecutionModuleNode().getAgentNode().getAgent()
.getAgentUuid());
+ props.setProperty("host", flowNode.getExecutionModuleNode().getAgentNode()
+ .getAgent().toString());
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
System.out.println("Finished Drag");
}
- private void flowNodeAsProperties(Properties props, FlowNode fn) {
- props.setProperty("moduleName", fn.getExecutionModuleNode()
+ protected void flowNodeAsProperties(Properties props, FlowNode fn) {
+
+ RealizedFlow realizedFlow = new RealizedFlow();
+ realizedFlow.setModuleName(fn.getExecutionModuleNode()
.getDescriptor().getName());
- props.setProperty("moduleVersion", fn.getExecutionModuleNode()
+ realizedFlow.setModuleVersion(fn.getExecutionModuleNode()
.getDescriptor().getVersion());
- props.setProperty("flowName", fn.getFlowName());
+ realizedFlow.setFlowDescriptor(fn.getExecutionFlowDescriptor());
- System.out.println("Execution Spec avant marshalling ??? ");
- System.out.println(fn.getExecutionFlowDescriptor());
- System.out.println(fn.getExecutionFlowDescriptor()
+ // As we want to have the effective ExecutionSpec and not a
+ // reference; we store it at the RealizeFlow level : thus the
+ // marshaller will store the object and not only a reference.
+ realizedFlow.setExecutionSpec(fn.getExecutionFlowDescriptor()
.getExecutionSpec());
- props.setProperty("FlowDescriptorAsXml",
- oxmBean.marshal(fn.getExecutionFlowDescriptor()));
+ props.setProperty("RealizedFlowAsXml",
+ oxmBean.marshal(realizedFlow));
System.out
.println(oxmBean.marshal(fn.getExecutionFlowDescriptor()));