]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Add action for seeing log details (execution steps)
authorCharles du Jeu <charles.dujeu@gmail.com>
Tue, 12 Jan 2010 17:58:00 +0000 (17:58 +0000)
committerCharles du Jeu <charles.dujeu@gmail.com>
Tue, 12 Jan 2010 17:58:00 +0000 (17:58 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@3277 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/SlcExecLoggerApplet.js

index fa4c3e1725f104dfb5dbeeb91087435e7957a432..539d4cc601a27b71381438ae48eb2f6e31cf3351 100644 (file)
@@ -43,13 +43,31 @@ qx.Class.define("org.argeo.slc.ria.SlcExecLoggerApplet",
                                },\r
                                command         : null\r
                        },\r
-                       "openrealized" : {\r
+                       "opendetail" : {\r
+                               label           : "Logs Detail",\r
+                               icon            : "org.argeo.slc.ria/mime-xls.png",\r
+                               shortcut        : null,\r
+                               enabled         : false,\r
+                               menu            : null,\r
+                               toolbar         : "slc_logs",\r
+                               callback        : function(e){\r
+                                       var selection = this.getViewSelection();\r
+                                       var rowData = selection.getNodes()[0];\r
+                                       this.openDetail(rowData);\r
+                               },\r
+                               selectionChange : function(viewId, selection){\r
+                                       if(viewId != "logger") return;\r
+                                       this.setEnabled((selection!=null && selection.length==1));\r
+                               },\r
+                               command         : null                                  \r
+                       },\r
+                       "reopenrealized" : {\r
                                label           : "Re-open",\r
                                icon            : "org.argeo.slc.ria/document-open.png",\r
                                shortcut        : "Control+o",\r
                                enabled         : false,\r
                                menu            : null,\r
-                               toolbar         : "realized",\r
+                               toolbar         : "slc_logs",\r
                                callback        : function(e){\r
                                        var selection = this.getViewSelection();\r
                                        var rowData = selection.getNodes()[0];\r
@@ -159,6 +177,67 @@ qx.Class.define("org.argeo.slc.ria.SlcExecLoggerApplet",
                req.send();\r
        },\r
        \r
+       openDetail : function(logData){\r
+                               \r
+               var uuid = logData[2];\r
+               var window = new qx.ui.window.Window("Logs Detail", "org.argeo.slc.ria/mime-xls.png");\r
+               window.setLayout(new qx.ui.layout.VBox(0));\r
+               window.setContentPadding(0);            \r
+               window.open();\r
+               org.argeo.ria.components.ViewsManager.getInstance().getApplicationRoot().add(window, {\r
+                       top : '20%',\r
+                       left : '20%',\r
+                       width: '60%',\r
+                       height: '60%'\r
+               });\r
+               \r
+               var tBar = new qx.ui.toolbar.ToolBar();\r
+               window.add(tBar);\r
+               var menuButton = new qx.ui.toolbar.Button("Close", "org.argeo.slc.ria/window-close.png");\r
+               tBar.add(menuButton);\r
+               menuButton.addListener("execute", function(e){\r
+                       window.close();\r
+               });\r
+               \r
+               var tableModel = new qx.ui.table.model.Simple();\r
+               var table = new org.argeo.ria.components.ui.Table(tableModel, {\r
+                       "date":{NAME : "Date", WIDTH:180}, \r
+                       "type":{NAME : "Type", WIDTH:90, ALIGN:"CENTER"}, \r
+                       "log":"Log"\r
+               });\r
+               table.setStatusBarVisible(true);\r
+               window.add(table, {flex:1});\r
+               window.setAllowMinimize(false);\r
+               \r
+               // Call service to load execution message\r
+               var req = org.argeo.slc.ria.SlcApi.getSlcExecutionService(uuid);\r
+               req.addListener("completed", function(response){                        \r
+                       var xmlDoc = response.getContent();\r
+                       var tableLines = [];\r
+                       var parser = org.argeo.ria.util.Element;\r
+                       var slcSteps = parser.selectNodes(xmlDoc, "slc:slc-execution/slc:steps/slc:slc-execution-step");\r
+                       for(var i=0;i<slcSteps.length;i++){                             \r
+                               var step = slcSteps[i];\r
+                               var date = parser.getSingleNodeText(step, "slc:begin");\r
+                               var type = parser.getSingleNodeText(step, "slc:type");\r
+                               var logLines = parser.selectNodes(step, "slc:log-lines/slc:log-line");\r
+                               if(logLines.length > 0){\r
+                                       tableLines.push([date, type, parser.getSingleNodeText(logLines[0], ".")]);\r
+                                       if(logLines.length>1){\r
+                                               for(var j=1;j<logLines.length;j++){\r
+                                                       tableLines.push(["", "", parser.getSingleNodeText(logLines[j], ".")]);  \r
+                                               }\r
+                                       }\r
+                               }else{\r
+                                       tableLines.push([date, type, ""]);\r
+                               }\r
+                       }\r
+                       tableModel.setData(tableLines);\r
+               });\r
+               req.send();\r
+               \r
+       },      \r
+       \r
        /**\r
         * Creates the applet layout\r
         */\r
@@ -170,6 +249,10 @@ qx.Class.define("org.argeo.slc.ria.SlcExecLoggerApplet",
                                return new qx.ui.table.columnmodel.Resize(obj)\r
                        }\r
                });\r
+               this.logPane.addListener("cellDblclick", function(e){\r
+                       this.getCommands()["opendetail"].command.execute();\r
+               }, this);\r
+               \r
                var selectionModel = this.logPane.getSelectionModel();\r
                selectionModel.addListener("changeSelection", function(e){                      \r
                        var viewSelection = this.getViewSelection();                    \r