]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/SlcExecutionMessage.js
Splitted the LauncherApplet into two different applets. The first one is a generic...
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / argeo-ria-lib / slc / class / org / argeo / slc / ria / SlcExecutionMessage.js
index 1ef1b5ae9af87218d202be7bbdb58ffe383c048f..b81d86bc66d9f906b78d883c905313d3eb3aeda0 100644 (file)
@@ -42,6 +42,10 @@ qx.Class.define("org.argeo.slc.ria.SlcExecutionMessage", {
                        check : "String",\r
                        init : "user"\r
                },\r
+               date : {\r
+                       check : "String", \r
+                       init : new Date().toString()\r
+               },\r
                /**\r
                 * Additionnal attributes as map of key/values\r
                 */\r
@@ -64,21 +68,37 @@ qx.Class.define("org.argeo.slc.ria.SlcExecutionMessage", {
                 */\r
                toXml : function (){\r
                        var builder = new qx.util.StringBuilder();\r
-                       builder.add('<slc-execution uuid="'+this.getUuid()+'">');\r
-                       builder.add('<slc-status>'+this.getStatus()+'</slc-status>');\r
-                       builder.add('<slc-type>'+this.getType()+'</slc-type>');\r
-                       builder.add('<slc-host>'+this.getHost()+'</slc-host>');\r
-                       builder.add('<slc-user>'+this.getUser()+'</slc-user>');\r
+                       builder.add('<slc:slc-execution  xmlns:slc="http://argeo.org/projects/slc/schemas" uuid="'+this.getUuid()+'">');\r
+                       builder.add('<slc:status>'+this.getStatus()+'</slc:status>');\r
+                       builder.add('<slc:type>'+this.getType()+'</slc:type>');\r
+                       builder.add('<slc:host>'+this.getHost()+'</slc:host>');\r
+                       builder.add('<slc:user>'+this.getUser()+'</slc:user>');\r
                        var attr = this.getAttributes();\r
                        if(qx.lang.Object.getLength(attr)){\r
-                               builder.add('<slc-attributes>');\r
+                               builder.add('<slc:attributes>');\r
                                for(var key in attr){\r
-                                       builder.add('<slc-attribute name="'+key+'">'+attr[key]+'</slc-attribute>');\r
+                                       builder.add('<slc:attribute name="'+key+'">'+attr[key]+'</slc:attribute>');\r
                                }\r
-                               builder.add('</slc-attributes>');\r
+                               builder.add('</slc:attributes>');\r
                        }\r
-                       builder.add('</slc-execution>');\r
+                       builder.add('</slc:slc-execution>');\r
                        return builder.get();\r
+               },\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
+                       this.setType(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:type", NSMap));\r
+                       this.setHost(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:host", NSMap));\r
+                       this.setUser(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:user", NSMap));\r
+                       var attributes = org.argeo.ria.util.Element.selectNodes(slcExecXml, "slc:attribute", NSMap);\r
+                       for(var i=0;i<attributes.length;i++){\r
+                               this.addAttribute(attribute.getAttribute("name"), attribute.firstChild);\r
+                       }\r
+                       var stepsDates = org.argeo.ria.util.Element.selectNodes(slcExecXml, "slc:steps/slc:slc-execution-step/slc:begin", NSMap);\r
+                       if(stepsDates.length){\r
+                               this.setDate(org.argeo.ria.util.Element.getSingleNodeText(stepsDates[stepsDates.length-1], ".", NSMap));\r
+                       }\r
                }\r
        }       \r
 });
\ No newline at end of file