/**
* A generic JMS slcExecution message encapsulator.
*/
qx.Class.define("org.argeo.slc.ria.SlcExecutionMessage", {
extend : qx.core.Object,
construct : function(uuid){
this.base(arguments);
this.setUuid(uuid);
},
properties : {
/**
* The unique id identifying the message
*/
uuid : {
check : "String"
},
/**
* Execution status
*/
status : {
check : "String",
init : "STARTED"
},
/**
* Execution type
*/
type : {
check : "String",
init : "slcAnt"
},
/**
* Execution Host
*/
host : {
check : "String",
init : "localhost"
},
/**
* Execution User
*/
user : {
check : "String",
init : "user"
},
date : {
check : "String",
init : new Date().toString()
},
/**
* Additionnal attributes as map of key/values
*/
attributes : {
check : "Map",
init : {}
}
},
members : {
addAttribute: function(attName, attValue){
var attr = this.getAttributes();
attr[attName] = attValue;
this.setAttributes(attr);
},
/**
* Build the xml formatted message body to send
*
* @return {String} The message content as Xml
*/
toXml : function (){
var builder = new qx.util.StringBuilder();
builder.add('');
builder.add(''+this.getStatus()+'');
builder.add(''+this.getType()+'');
builder.add(''+this.getHost()+'');
builder.add(''+this.getUser()+'');
var attr = this.getAttributes();
if(qx.lang.Object.getLength(attr)){
builder.add('');
for(var key in attr){
builder.add(''+attr[key]+'');
}
builder.add('');
}
builder.add('');
return builder.get();
},
fromXml : function(slcExecXml){
var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};
this.setStatus(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:status", NSMap));
this.setType(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:type", NSMap));
this.setHost(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:host", NSMap));
this.setUser(org.argeo.ria.util.Element.getSingleNodeText(slcExecXml, "slc:user", NSMap));
var attributes = org.argeo.ria.util.Element.selectNodes(slcExecXml, "slc:attribute", NSMap);
for(var i=0;i