X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.webapp%2Fsrc%2Fmain%2Fwebapp%2Fargeo-ria-lib%2Fslc%2Fclass%2Forg%2Fargeo%2Fslc%2Fria%2Fexecution%2FFlow.js;h=fae03fe39e6fb74587a972d8df3ce1b089772a32;hb=ec2898121c88966ac4d49d549d55107f26ccbb4b;hp=75da046ca4fa4f14d6baea06a1034e26130375c8;hpb=51d1c842e4e92cc65708b8bb88152d7344d43d04;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js index 75da046ca..fae03fe39 100644 --- a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js +++ b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js @@ -25,6 +25,12 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { executionSpec : { check : "org.argeo.slc.ria.execution.Spec" }, + /** + * The values to init the ExecutionSpec + */ + values : { + check : "Node" + }, /** * Castor representation of the object */ @@ -34,8 +40,17 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { }, statics : { + /** + * Xpath to the name + */ XPATH_NAME : "@name", + /** + * XPath to the ExecutionSpec name + */ XPATH_EXEC_SPEC_NAME : "@executionSpec", + /** + * XPath to the values + */ XPATH_VALUES : "slc:values" }, @@ -53,7 +68,25 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { name : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_NAME), executionSpecName : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_EXEC_SPEC_NAME) }); - } + var values = org.argeo.ria.util.Element.selectNodes(xmlNode, this.self(arguments).XPATH_VALUES); + this.setValues(values[0]); + }, + /** + * Get a given value inside the values map + * @param key {String} The key of the value + * @param specType {String} Expected type (currently "primitive" and "ref" are supported) + * @param specSubType {String} Expected subtype (depends on the type) + * @return {String} Value if it is set. + */ + getValue: function(key, specType, specSubType){ + var xpath; + if(specType == "primitive"){ + xpath = 'slc:value[@key="'+key+'"]/slc:primitive-value[@type="'+specSubType+'"]'; + }else if(specType == "ref"){ + xpath = 'slc:value[@key="'+key+'"]/slc:ref-value/slc:label'; + } + return org.argeo.ria.util.Element.getSingleNodeText(this.getValues(), xpath); + } } }); \ No newline at end of file