]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/BatchEntrySpec.js
Remove service, fake getRealizedFlow service
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc / class / org / argeo / slc / ria / execution / BatchEntrySpec.js
index 91231a8b89e558d7ed5e749a9da01d8369a2d551..dffc98e4f2aa7b64d97485455201ce3b7c81350d 100644 (file)
@@ -24,12 +24,16 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", {
         * @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
@@ -49,7 +53,7 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", {
                        var valuesXml = '';\r
                        var values = this.getValues();\r
                        for(var key in values){\r
-                               if(values[key].getValue() == null){\r
+                               if(values[key].getValue() == null && !values[key].isFrozen() && !values[key].isHidden()){\r
                                        throw new Error("Cannot send empty values! (Parameter "+key+")");\r
                                }\r
                                valuesXml += values[key].toValueXml();\r
@@ -68,6 +72,24 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", {
                        \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
@@ -87,8 +109,7 @@ qx.Class.define("org.argeo.slc.ria.execution.BatchEntrySpec", {
                                }\r
                                instanceValues[key] = instValue;\r
                        }\r
-                       this.setValues(instanceValues);\r
-                       this.debug(instanceValues);\r
+                       this.setValues(instanceValues);                 \r
                }\r
        }\r
 });
\ No newline at end of file