* @param module {org.argeo.slc.ria.execution.Module} Reference module\r
* @param flow {org.argeo.slc.ria.execution.Flow} Reference flow\r
*/\r
- construct : function(module, flow){\r
+ construct : function(module, flow, xmlElement){\r
this.base(arguments);\r
- this.setModule(module);\r
- this.setFlow(flow);\r
- this.setOriginalSpec(flow.getExecutionSpec());\r
- this.setName(flow.getExecutionSpec().getName());\r
+ if(xmlElement){\r
+ this.fromXml(xmlElement);\r
+ }else{\r
+ this.setModule(module);\r
+ this.setFlow(flow);\r
+ this.setOriginalSpec(flow.getExecutionSpec());\r
+ this.setName(flow.getExecutionSpec().getName());\r
+ }\r
this.fetchInstanceValues();\r
},\r
\r
\r
},\r
\r
+ fromXml : function(xmlElement){\r
+ var parser = org.argeo.ria.util.Element;\r
+ var simpleModule = new org.argeo.slc.ria.execution.Module();\r
+ simpleModule.setName(parser.getSingleNodeText(xmlElement, "slc:module-name"));\r
+ simpleModule.setVersion(parser.getSingleNodeText(xmlElement, "slc:module-version"));\r
+ this.setModule(simpleModule);\r
+ \r
+ var spec = new org.argeo.slc.ria.execution.Spec();\r
+ var flow = new org.argeo.slc.ria.execution.Flow();\r
+ spec.setXmlNode(parser.selectSingleNode(xmlElement, "slc:default-execution-spec"));\r
+ flow.setXmlNode(parser.selectSingleNode(xmlElement, "slc:execution-flow-descriptor"));\r
+ flow.setExecutionSpec(spec);\r
+ this.setOriginalSpec(spec);\r
+ this.setFlow(flow);\r
+ this.setName(spec.getName());\r
+ \r
+ },\r
+ \r
/**\r
* Fetch the Spec Values with the Flow Values to make the current instance value\r
*/\r