/** * 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