Author: tveronezi
Date: Fri Jun 15 13:14:49 2012
New Revision: 1350608

URL: http://svn.apache.org/viewvc?rev=1350608&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-228
* save the execution data (the user will be able to execute previous commands)
* wrap the callback method in order to avoid the standard jquery behaviour for 
callbacks exceptions (http://bugs.jquery.com/ticket/11193)

Modified:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationChannel.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationChannel.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationChannel.js?rev=1350608&r1=1350607&r2=1350608&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationChannel.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationChannel.js
 Fri Jun 15 13:14:49 2012
@@ -45,7 +45,17 @@ TOMEE.ApplicationChannel = function (cfg
 
         var myListeners = listeners[messageKey];
         if (!myListeners.has(callback)) {
-            myListeners.add(callback);
+            var callbackWrapper = function (paramsObj) {
+                try {
+                    return callback(paramsObj);
+
+                } catch (e) {
+                    TOMEE.log.error('Cannot execute callback "' + messageKey + 
'"');
+                }
+
+            };
+
+            myListeners.add(callbackWrapper);
         }
     };
 
@@ -88,8 +98,8 @@ TOMEE.ApplicationChannel = function (cfg
     };
 
     return {
-        bind: bind,
-        unbind: unbind,
-        send: send
+        bind:bind,
+        unbind:unbind,
+        send:send
     };
 };
\ No newline at end of file

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js?rev=1350608&r1=1350607&r2=1350608&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
 Fri Jun 15 13:14:49 2012
@@ -29,6 +29,7 @@ TOMEE.ApplicationModel = function (cfg) 
     var systemInfo = {};
     var logInfo = {};
     var sessionData = {};
+    var executions = [];
 
     var request = function (params) {
         var errorHandler = params.error;
@@ -114,6 +115,13 @@ TOMEE.ApplicationModel = function (cfg) 
             return systemInfo;
         },
         execute:function (codeType, codeText) {
+            var executionBean = {
+                codeType:codeType,
+                codeText:codeText,
+                start:(new Date())
+            };
+            executions.push(executionBean);
+
             request({
                 method:'POST',
                 url:TOMEE.baseURL('console'),
@@ -122,11 +130,18 @@ TOMEE.ApplicationModel = function (cfg) 
                     scriptCode:codeText
                 },
                 success:function (data) {
-                    systemInfo = data;
-                    channel.send('app.console.executed', data);
+                    executionBean.success = true;
+                    executionBean.data = data;
+                    executionBean.end = (new Date());
+
+                    channel.send('app.console.executed', executionBean);
                 },
                 error:function (data) {
-                    channel.send('app.console.executed.error', data);
+                    executionBean.success = false;
+                    executionBean.data = data;
+                    executionBean.end = (new Date());
+
+                    channel.send('app.console.executed.error', executionBean);
                 }
             });
 


Reply via email to