]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js
Make parsing more robust, better error handling.
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc / class / org / argeo / slc / ria / NewLauncherApplet.js
index eef945439d27d82c25f72ea6c8cead2cc8c7def6..e72bdf37e5382527b3e38730943a7ca365e628e0 100644 (file)
@@ -290,14 +290,19 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
         * @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);
@@ -306,7 +311,7 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
                                //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, 
@@ -399,8 +404,6 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
        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();
        },
                
@@ -643,7 +646,7 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
                this._amqClient.sendMessage(
                        "topic://agent.newExecution", 
                        slcExecMessage.toXml(), 
-                       {"slc-agentId":agentUuid}
+                       {"slc_agentId":agentUuid}
                );
                // Force logs refresh right now!
                qx.event.Timer.once(function(){