View Javadoc

1   /*
2    * Copyright (c) 2005, The K-Wf Grid Consortium
3    * Fraunhofer Institute for Computer Architecture and Software Technology
4    * See http://www.kwfgrid.eu and http://www.first.fraunhofer.de for more details.
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  }