]>
git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/SlcExecutionMessage.js
b81d86bc66d9f906b78d883c905313d3eb3aeda0
2 * A generic JMS slcExecution message encapsulator.
4 qx
.Class
.define("org.argeo.slc.ria.SlcExecutionMessage", {
5 extend
: qx
.core
.Object
,
6 construct : function(uuid
){
12 * The unique id identifying the message
47 init
: new Date().toString()
50 * Additionnal attributes as map of key/values
59 addAttribute: function(attName
, attValue
){
60 var attr
= this.getAttributes();
61 attr
[attName
] = attValue
;
62 this.setAttributes(attr
);
65 * Build the xml formatted message body to send
67 * @return {String} The message content as Xml
70 var builder
= new qx
.util
.StringBuilder();
71 builder
.add('<slc:slc-execution xmlns:slc="http://argeo.org/projects/slc/schemas" uuid="'+this.getUuid()+'">');
72 builder
.add('<slc:status>'+this.getStatus()+'</slc:status>');
73 builder
.add('<slc:type>'+this.getType()+'</slc:type>');
74 builder
.add('<slc:host>'+this.getHost()+'</slc:host>');
75 builder
.add('<slc:user>'+this.getUser()+'</slc:user>');
76 var attr
= this.getAttributes();
77 if(qx
.lang
.Object
.getLength(attr
)){
78 builder
.add('<slc:attributes>');
80 builder
.add('<slc:attribute name="'+key
+'">'+attr
[key
]+'</slc:attribute>');
82 builder
.add('</slc:attributes>');
84 builder
.add('</slc:slc-execution>');
88 fromXml : function(slcExecXml
){
89 var NSMap
= {slc
:"http://argeo.org/projects/slc/schemas"};
90 this.setStatus(org
.argeo
.ria
.util
.Element
.getSingleNodeText(slcExecXml
, "slc:status", NSMap
));
91 this.setType(org
.argeo
.ria
.util
.Element
.getSingleNodeText(slcExecXml
, "slc:type", NSMap
));
92 this.setHost(org
.argeo
.ria
.util
.Element
.getSingleNodeText(slcExecXml
, "slc:host", NSMap
));
93 this.setUser(org
.argeo
.ria
.util
.Element
.getSingleNodeText(slcExecXml
, "slc:user", NSMap
));
94 var attributes
= org
.argeo
.ria
.util
.Element
.selectNodes(slcExecXml
, "slc:attribute", NSMap
);
95 for(var i
=0;i
<attributes
.length
;i
++){
96 this.addAttribute(attribute
.getAttribute("name"), attribute
.firstChild
);
98 var stepsDates
= org
.argeo
.ria
.util
.Element
.selectNodes(slcExecXml
, "slc:steps/slc:slc-execution-step/slc:begin", NSMap
);
99 if(stepsDates
.length
){
100 this.setDate(org
.argeo
.ria
.util
.Element
.getSingleNodeText(stepsDates
[stepsDates
.length
-1], ".", NSMap
));