X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.webapp%2Fsrc%2Fmain%2Fwebapp%2Fargeo-ria-lib%2Fslc%2Fclass%2Forg%2Fargeo%2Fslc%2Fria%2FLauncherApplet.js;h=162453861e6d23dc6c3d20f685ff65d9f2d5aff6;hb=491094a0f29847d649a3168eca18eca38e3ee7ff;hp=572544b508c8060fdd3fad629e19b2b58da63270;hpb=9c183fa833f59ac2c3a49fb1744485d04151876d;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/LauncherApplet.js b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/LauncherApplet.js index 572544b50..162453861 100644 --- a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/LauncherApplet.js +++ b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/LauncherApplet.js @@ -51,6 +51,11 @@ qx.Class.define("org.argeo.slc.ria.LauncherApplet", command : null } } + }, + registeredTopics : { + init : {}, + check : "Map", + event : "changeRegisteredTopics" } }, @@ -64,20 +69,40 @@ qx.Class.define("org.argeo.slc.ria.LauncherApplet", this.setView(viewPane); this._createLayout(); this._createForm(); + this._amqClient = org.argeo.ria.remote.JmsClient.getInstance(); + this._amqClient.startPolling(); }, /** - * Load a given row : the data passed must be a simple data array. - * @param data {Element} The text xml description. + * */ load : function(){ - this.getView().setViewTitle("Slc Execution Launcher"); - org.argeo.ria.event.CommandsManager.getInstance().getCommandById("reloadagents").execute(); + this.getView().setViewTitle("Execution Launcher"); + this.addListener("changeRegisteredTopics", function(event){ + this._refreshTopicsSubscriptions(event); + this._feedSelector(event); + }, this); + var reloadHandler = function(message){ + org.argeo.ria.event.CommandsManager.getInstance().getCommandById("reloadagents").execute(); + } + this._amqClient.addListener("agentregister", "topic://agent.register", reloadHandler, this); + //qx.event.Timer.once(function(){ + this._amqClient.addListener("agentunregister", "topic://agent.unregister", reloadHandler, this); + //}, this, 500); + reloadHandler(); }, addScroll : function(){ return false; }, + + close : function(){ + this._amqClient.removeListener("agentregister", "topic://agent.register"); + this._amqClient.removeListener("agentunregister", "topic://agent.unregister"); + + this.setRegisteredTopics({}); + this._amqClient.stopPolling(); + }, _createLayout : function(){ this.formPane = new qx.ui.container.Composite(new qx.ui.layout.VBox(5)); @@ -87,7 +112,7 @@ qx.Class.define("org.argeo.slc.ria.LauncherApplet", this.add(this.scroll, {edge:'west'}); this.logModel = new qx.ui.table.model.Simple(); - this.logModel.setColumns(["Date", "Agent Uuid", "Status", "Type"]); + this.logModel.setColumns(["Date", "Agent Uuid", "Status"]); this.logPane = new qx.ui.table.Table(this.logModel, { tableColumnModel: function(obj){ return new qx.ui.table.columnmodel.Resize(obj) @@ -104,7 +129,6 @@ qx.Class.define("org.argeo.slc.ria.LauncherApplet", }); var columnModel = this.logPane.getTableColumnModel(); columnModel.getBehavior().setWidth(2, "12%"); - columnModel.getBehavior().setWidth(3, "12%"); }, _createForm : function(){ @@ -127,14 +151,21 @@ qx.Class.define("org.argeo.slc.ria.LauncherApplet", var serviceManager = org.argeo.ria.remote.RequestManager.getInstance(); serviceManager.addListener("reload", function(reloadEvent){ if(reloadEvent.getDataType()!= "agents") return ; - this._xmlListToSelector(reloadEvent.getContent(), this.agentSelector); + var xmlDoc = reloadEvent.getContent(); + var nodes = org.argeo.ria.util.Element.selectNodes(xmlDoc, "//slc:slc-agent-descriptor"); + var newTopics = {}; + for(var i=0;i