*/\r
qx.Class.define("org.argeo.slc.ria.SlcExecutionMessage", {\r
extend : qx.core.Object,\r
+ /**\r
+ * New instance\r
+ * @param uuid {String} The Uuid of the message. If none is passed, one is generated.\r
+ */\r
construct : function(uuid){\r
this.base(arguments);\r
- this.setUuid(uuid);\r
+ if(uuid){\r
+ this.setUuid(uuid);\r
+ }else{\r
+ var s = [];\r
+ var itoh = '0123456789ABCDEF';\r
+ for (var i = 0; i <36; i++) s[i] = Math.floor(Math.random()*0x10);\r
+ s[14] = 4; // Set 4 high bits of time_high field to version\r
+ s[19] = (s[19] & 0x3) | 0x8; // Specify 2 high bits of clock sequence\r
+ for (var i = 0; i <36; i++) s[i] = itoh[s[i]];\r
+ s[8] = s[13] = s[18] = s[23] = '-';\r
+ this.setUuid(s.join('').toLowerCase()); \r
+ }\r
+ this.setAttributes({});\r
},\r
properties : {\r
/**\r
check : "String",\r
init : "user"\r
},\r
+ /**\r
+ * Date of the message. now() by default.\r
+ */\r
date : {\r
check : "String", \r
init : new Date().toString()\r
* Additionnal attributes as map of key/values\r
*/\r
attributes : {\r
- check : "Map",\r
- init : {}\r
+ check : "Map"\r
}\r
},\r
members : {\r
\r
+ /**\r
+ * Add a free attribute to the message\r
+ * @param attName {String} Name\r
+ * @param attValue {String} Value\r
+ */\r
addAttribute: function(attName, attValue){\r
var attr = this.getAttributes();\r
attr[attName] = attValue;\r
return builder.get();\r
},\r
\r
+ /**\r
+ * Parse an XML answer and fill the object with it.\r
+ * @param slcExecXml {String} An slcExecMessage mapped in XML.\r
+ */\r
fromXml : function(slcExecXml){\r
var NSMap = {slc:"http://argeo.org/projects/slc/schemas"}; \r
this.setStatus(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:status", NSMap));\r