* @param folder {qx.ui.tree.TreeFolder} A Tree folder containing in the key "moduleData" of its user data a map containing the keys {name,version}
*/
flowLoader : function(folder){
- var moduleData = folder.getUserData("moduleData");
+ var moduleData = folder.getUserData("moduleData");
+ var agentUuid = folder.getUserData("agentUuid");
//var pathStub = ["", "/test/toto/zobi", "loop"];
//var indexStub = 0;
- var req = org.argeo.slc.ria.SlcApi.getLoadExecutionDescriptorService(moduleData.name, moduleData.version);
+ var req = org.argeo.slc.ria.SlcApi.getLoadExecutionDescriptorService(agentUuid,moduleData.name, moduleData.version);
req.addListener("completed", function(response){
- var executionModule = new org.argeo.slc.ria.execution.Module();
- executionModule.setXmlNode(response.getContent());
+ var executionModule = new org.argeo.slc.ria.execution.Module();
+ try{
+ executionModule.setXmlNode(response.getContent());
+ }catch(e){
+ this.error(e);
+ }
var execFlows = executionModule.getExecutionFlows();
for(var key in execFlows){
var file = new qx.ui.tree.TreeFile(key);
//indexStub ++;
file.setUserData("executionModule", executionModule);
file.setUserData("executionFlow", execFlows[key]);
- file.setUserData("agentUuid", folder.getUserData("agentUuid"));
+ file.setUserData("agentUuid", agentUuid);
org.argeo.slc.ria.NewLauncherApplet.attachNodeByPath(
folder,
path,
init : function(viewPane){
this.setView(viewPane);
this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId()));
- this._amqClient = org.argeo.ria.remote.JmsClient.getInstance();
- this._amqClient.uri = "/org.argeo.slc.webapp/amq";
- this._amqClient.startPolling();
+ this.remoteNotifier = new org.argeo.ria.remote.RemoteNotifier(
+ "/org.argeo.slc.webapp/",
+ "pollEvent.service",
+ "addEventListener.service",
+ "removeEventListener.service"
+ );
+ this.remoteNotifier.setEventParamName("slc_eventType");
+ this.remoteNotifier.setEventXPath("/slc:slc-event");
+ this.remoteNotifier.setEventTypeXPath('slc:headers/slc:header[@name="slc_eventType"]');
+ this.remoteNotifier.setEventDataXPath('slc:headers/slc:header[@name="slc_agentId"]');
+ this.remoteNotifier.startPolling();
+ this.UIBus = org.argeo.ria.event.UIBus.getInstance();
+ this.UIBus.registerNotifier(this.remoteNotifier);
+
this._emptyAgentString = "Empty Batch";
this._crtAgentString = "Target Agent : ";
},
load : function(){
this._createLayout();
this.getView().setViewTitle("Execution Launcher");
- var reloadHandler = function(message){
+ this.reloadHandler = function(message){
this.rootNode.reload();
}
- this._amqClient.addListener("agentregister", "topic://agent.register", reloadHandler, this);
- this._amqClient.addListener("agentunregister", "topic://agent.unregister", reloadHandler, this);
- //reloadHandler();
+ this.UIBus.addListener("agentRegistered", this.reloadHandler, this);
+ this.UIBus.addListener("agentUnregistered", this.reloadHandler, this);
},
addScroll : function(){
},
close : function(){
- this._amqClient.removeListener("agentregister", "topic://agent.register");
- this._amqClient.removeListener("agentunregister", "topic://agent.unregister");
- this._amqClient.removeListener("modulesResponse", "topic://modulesManager.response");
- this.setRegisteredAgents({});
- this._amqClient.stopPolling();
+ this.UIBus.removeListener("agentRegistered", this.reloadHandler, this);
+ this.UIBus.removeListener("agentUnregistered", this.reloadHandler, this);
+ this.remoteNotifier.stopPolling();
},
/**
for(var i=0;i<selection.length;i++){
var batchEntrySpec = selection[i].getUserData("batchEntrySpec");
slcExecMessage.addBatchEntrySpec(batchEntrySpec);
- }
- this._amqClient.sendMessage(
- "topic://agent.newExecution",
- slcExecMessage.toXml(),
- {"slc-agentId":agentUuid}
- );
+ }
+ var req = org.argeo.slc.ria.SlcApi.getNewSlcExecutionService(agentUuid, slcExecMessage.toXml());
+ req.send();
// Force logs refresh right now!
qx.event.Timer.once(function(){
var command = org.argeo.ria.event.CommandsManager.getInstance().getCommandById("reloadlogs");