1
2
3
4
5
6 package net.kwfgrid.gworkflowdl.protocol.calls;
7
8 import net.kwfgrid.gworkflowdl.protocol.structure.*;
9 import net.kwfgrid.gworkflowdl.structure.WorkflowFormatException;
10 import net.kwfgrid.gworkflowdl.structure.CapacityException;
11
12 import java.io.IOException;
13
14 import org.xmlpull.v1.XmlSerializer;
15
16 /***
17 Modification that rebuilds a workflow from an xml representation.
18 */
19 public class WorkflowFromXML extends AbstractMethodCall {
20 protected String _xml;
21 protected ProtocolWorkflow _workflow;
22
23 public WorkflowFromXML(ProtocolWorkflow workflow, String xml) {
24 super(workflow.getRoot());
25 _xml = xml;
26 _workflow = workflow;
27 }
28
29 public void marshal(IMethodCallMarshaller encoder, XmlSerializer serializer) throws IOException {
30 encoder.marshalWorkflowFromXML(serializer, _workflow, _xml);
31 }
32
33 public Object execute() throws WorkflowFormatException, CapacityException {
34 _workflow.__fromXML(_xml);
35 setExecuted();
36 return null;
37 }
38 }