]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Implement real services
authorCharles du Jeu <charles.dujeu@gmail.com>
Wed, 4 Mar 2009 19:28:05 +0000 (19:28 +0000)
committerCharles du Jeu <charles.dujeu@gmail.com>
Wed, 4 Mar 2009 19:28:05 +0000 (19:28 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2227 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js
org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/SlcApi.js

index d91a4a98d2b8be68c8070190adb048ba6ddff018..c0ff0223e41e298b1ac5b0e957deb4567dcab6cb 100644 (file)
@@ -185,15 +185,14 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
   statics : {
        flowLoader : function(folder){
                var moduleData = folder.getUserData("moduleData");
-               var req = org.argeo.ria.remote.RequestManager.getInstance().getRequest("../argeo-ria-src/stub.xml", "GET", "application/xml");
+               //var req = org.argeo.ria.remote.RequestManager.getInstance().getRequest("../argeo-ria-src/stub.xml", "GET", "application/xml");
+               var req = org.argeo.slc.ria.SlcApi.getLoadExecutionDescriptorService(moduleData.name, moduleData.version);
                req.addListener("completed", function(response){
                        var executionModule = new org.argeo.slc.ria.execution.Module();                                         
                        executionModule.setXmlNode(response.getContent());
-                       //
-                       // ARTIFIALLY REPLACE MODULE NAME / VERSION, FOR TESTS PURPOSES
-                       //
-                       executionModule.setName(moduleData.name);
-                       executionModule.setVersion(moduleData.version);
+                       // STUB
+                       // executionModule.setName(moduleData.name);
+                       // executionModule.setVersion(moduleData.version);
                        // END
                        var execFlows = executionModule.getExecutionFlows();
                        for(var key in execFlows){
@@ -208,28 +207,42 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
        },
        
        modulesLoader : function(folder){
-               // Call service, and parse
-               var mods = {
-                       "Module 1":["ver1.1", "ver1.2", "ver1.3"], 
-                       "Module 2":["ver2.1", "ver2.2", "ver2.3", "ver2.4"], 
-                       "Module 3":["ver3.1", "ver3.2"]
-               };
-               var flowLoader = org.argeo.slc.ria.NewLauncherApplet.flowLoader;
-               for(var key in mods){
-                       var moduleFolder = new qx.ui.tree.TreeFolder(key);
-                       folder.add(moduleFolder);
-                       for(var i=0;i<mods[key].length;i++){
-                               var versionFolder = new org.argeo.ria.components.DynamicTreeFolder(
-                                       mods[key][i],
-                                       flowLoader,
-                                       "Loading Flows",
-                                       folder.getDragData()
-                               );
-                               moduleFolder.add(versionFolder);
-                               versionFolder.setUserData("moduleData", {name:key, version:mods[key][i]});
+               var req = org.argeo.slc.ria.SlcApi.getListModulesService();
+               req.addListener("completed", function(response){
+                       var descriptors = org.argeo.ria.util.Element.selectNodes(response.getContent(), "slc:object-list/slc:execution-module-descriptor");
+                       var mods = {};
+                       // STUB
+                       /*
+                       var mods = {
+                               "Module 1":["ver1.1", "ver1.2", "ver1.3"], 
+                               "Module 2":["ver2.1", "ver2.2", "ver2.3", "ver2.4"], 
+                               "Module 3":["ver3.1", "ver3.2"]
+                       };
+                       */                      
+                       for(var i=0;i<descriptors.length; i++){
+                               var name = org.argeo.ria.util.Element.getSingleNodeText(descriptors[i], "slc:name");
+                               var version = org.argeo.ria.util.Element.getSingleNodeText(descriptors[i], "slc:version");
+                               if(!mods[name]) mods[name] = [];
+                               mods[name].push(version);
                        }
-                       folder.setLoaded(true);
-               }
+                       var flowLoader = org.argeo.slc.ria.NewLauncherApplet.flowLoader;
+                       for(var key in mods){
+                               var moduleFolder = new qx.ui.tree.TreeFolder(key);
+                               folder.add(moduleFolder);
+                               for(var i=0;i<mods[key].length;i++){
+                                       var versionFolder = new org.argeo.ria.components.DynamicTreeFolder(
+                                               mods[key][i],
+                                               flowLoader,
+                                               "Loading Flows",
+                                               folder.getDragData()
+                                       );
+                                       moduleFolder.add(versionFolder);
+                                       versionFolder.setUserData("moduleData", {name:key, version:mods[key][i]});
+                               }
+                               folder.setLoaded(true);
+                       }
+               });
+               req.send();             
        }
   },
   
index 687ae6acd5a5ed56a1f9b1492c0b031512dfff87..3380e4063f91fc8f2f4b3c42a532bed5c5e0b350 100644 (file)
@@ -22,7 +22,9 @@ qx.Class.define("org.argeo.slc.ria.SlcApi",
        GET_RESULT_SERVICE : "getResult.service",\r
        LIST_SLCEXEC_SERVICE : "listSlcExecutions.service",\r
        \r
-       LIST_AGENTS_SERVICE : "listAgents.service",     \r
+       LIST_AGENTS_SERVICE : "listAgents.service",\r
+       LIST_MODULES_SERVICE : "listModulesDescriptors.service",\r
+       GET_EXECUTION_DESC_SERVICE : "getExecutionDescriptor.service",\r
        AMQ_SERVICE : "amq",\r
        \r
        /**\r
@@ -207,6 +209,39 @@ qx.Class.define("org.argeo.slc.ria.SlcApi",
                        iLoadStatusables\r
                );\r
        },\r
+\r
+       /**\r
+        * Load the module descriptors\r
+        * @param fireReloadEventType {String} Event type to trigger (optionnal)\r
+        * @param iLoadStatusables {org.argeo.ria.components.ILoadStatusables[]} Gui parts to update \r
+        * @return {qx.io.remote.Request}\r
+        */\r
+       getListModulesService : function(fireReloadEventType, iLoadStatusables){\r
+               return org.argeo.slc.ria.SlcApi.getServiceRequest(\r
+                       org.argeo.slc.ria.SlcApi.LIST_MODULES_SERVICE,\r
+                       fireReloadEventType,\r
+                       iLoadStatusables\r
+               );\r
+       },\r
+       \r
+       /**\r
+        * Get an execution module descriptor by its name and version\r
+        * @param moduleName {String} The name of the module to get\r
+        * @param moduleVersion {String} Its version, passed directly as a string\r
+        * @param fireReloadEventType {String} Event type to trigger (optionnal)\r
+        * @param iLoadStatusables {org.argeo.ria.components.ILoadStatusables[]} Gui parts to update \r
+        * @return {qx.io.remote.Request}\r
+        */\r
+       getLoadExecutionDescriptorService : function(moduleName, moduleVersion, fireReloadEventType, iLoadStatusables){\r
+               var req = org.argeo.slc.ria.SlcApi.getServiceRequest(\r
+                       org.argeo.slc.ria.SlcApi.GET_EXECUTION_DESC_SERVICE,\r
+                       fireReloadEventType,\r
+                       iLoadStatusables\r
+               ); \r
+               req.setParameter("moduleName", moduleName);\r
+               req.setParameter("version", moduleVersion);\r
+               return req;\r
+       },\r
        \r
        /**\r
         * Send a JMS message to the AMQ_CONTEXT\r