X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Forg.argeo.slc.ria%2Fsrc%2Fargeo-ria-lib%2Fslc%2Fclass%2Forg%2Fargeo%2Fslc%2Fria%2Fexecution%2FBatchEntrySpec.js;h=dffc98e4f2aa7b64d97485455201ce3b7c81350d;hb=ac1edd931feb89d91bc726d4df2157988074c3d6;hp=b21749b105b0731eea65e226d75fa1a4aa551ce7;hpb=e0be1cede09ad3163fd389e327191cac8ccea575;p=gpl%2Fargeo-slc.git diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/BatchEntrySpec.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/BatchEntrySpec.js index b21749b10..dffc98e4f 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/BatchEntrySpec.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/BatchEntrySpec.js @@ -24,12 +24,16 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", { * @param module {org.argeo.slc.ria.execution.Module} Reference module * @param flow {org.argeo.slc.ria.execution.Flow} Reference flow */ - construct : function(module, flow){ + construct : function(module, flow, xmlElement){ this.base(arguments); - this.setModule(module); - this.setFlow(flow); - this.setOriginalSpec(flow.getExecutionSpec()); - this.setName(flow.getExecutionSpec().getName()); + if(xmlElement){ + this.fromXml(xmlElement); + }else{ + this.setModule(module); + this.setFlow(flow); + this.setOriginalSpec(flow.getExecutionSpec()); + this.setName(flow.getExecutionSpec().getName()); + } this.fetchInstanceValues(); }, @@ -49,7 +53,7 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", { var valuesXml = ''; var values = this.getValues(); for(var key in values){ - if(values[key].getValue() == null){ + if(values[key].getValue() == null && !values[key].isFrozen() && !values[key].isHidden()){ throw new Error("Cannot send empty values! (Parameter "+key+")"); } valuesXml += values[key].toValueXml(); @@ -68,6 +72,24 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", { }, + fromXml : function(xmlElement){ + var parser = org.argeo.ria.util.Element; + var simpleModule = new org.argeo.slc.ria.execution.Module(); + simpleModule.setName(parser.getSingleNodeText(xmlElement, "slc:module-name")); + simpleModule.setVersion(parser.getSingleNodeText(xmlElement, "slc:module-version")); + this.setModule(simpleModule); + + var spec = new org.argeo.slc.ria.execution.Spec(); + var flow = new org.argeo.slc.ria.execution.Flow(); + spec.setXmlNode(parser.selectSingleNode(xmlElement, "slc:default-execution-spec")); + flow.setXmlNode(parser.selectSingleNode(xmlElement, "slc:execution-flow-descriptor")); + flow.setExecutionSpec(spec); + this.setOriginalSpec(spec); + this.setFlow(flow); + this.setName(spec.getName()); + + }, + /** * Fetch the Spec Values with the Flow Values to make the current instance value */