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=6e162ed05016679a19bf4da38b835d15684cb232;hp=91231a8b89e558d7ed5e749a9da01d8369a2d551;hpb=0d3e11ceb470772cd6bc7218d23bc6985ad6f56b;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 91231a8b8..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 */ @@ -87,8 +109,7 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", { } instanceValues[key] = instValue; } - this.setValues(instanceValues); - this.debug(instanceValues); + this.setValues(instanceValues); } } }); \ No newline at end of file