You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2012/06/12 02:34:51 UTC

svn commit: r1349078 - in /openejb/trunk/openejb/tomee/tomee-webapp/src/main: java/org/apache/tomee/webapp/ webapp/application/js/ webapp/application/js/util/ webapp/application/js/view/ webapp/application/js/view/components/ webapp/application/js/view...

Author: tveronezi
Date: Tue Jun 12 00:34:51 2012
New Revision: 1349078

URL: http://svn.apache.org/viewvc?rev=1349078&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* load class/ejb info

Modified:
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/ErrorServlet.java
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/Obj.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Jndi.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/ErrorServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/ErrorServlet.java?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/ErrorServlet.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/ErrorServlet.java Tue Jun 12 00:34:51 2012
@@ -51,7 +51,10 @@ public class ErrorServlet extends HttpSe
         result.put("message", String.valueOf(req.getAttribute("javax.servlet.error.message")));
 
         {
-            final Throwable throwable = (Throwable) req.getAttribute("javax.servlet.error.exception");
+            Throwable throwable = (Throwable) req.getAttribute("javax.servlet.error.exception");
+            if(TomeeException.class.isInstance(throwable)) {
+                throwable =  throwable.getCause();
+            }
 
             final Writer writer = new StringWriter();
             final PrintWriter printWriter = new PrintWriter(writer);

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js Tue Jun 12 00:34:51 2012
@@ -67,21 +67,36 @@ TOMEE.ApplicationController = function (
             }
         });
 
-        channel.bind('tree_load_children', function (params) {
+        var pathArrayBuilder = (function () {
             var path = [];
             var buildPathArray = function (bean) {
+                if (!bean) {
+                    return;
+                }
+
                 if (bean.parent) {
-                    path.push(bean.parent);
+                    buildPathArray(bean.parent);
 
+                    path.push(bean.parent.name);
                 }
                 path.push(bean.name);
             };
-            buildPathArray(params.bean);
+
+            return {
+                build:function (bean) {
+                    path = [];
+                    buildPathArray(bean);
+                    return path;
+                }
+            }
+        })();
+
+        channel.bind('tree_load_children', function (params) {
 
             //params.panelKey, params.bean, params.parentEl
             if (params.panelKey === 'jndi') {
                 model.loadJndi({
-                    path:path,
+                    path:pathArrayBuilder.build(params.bean),
                     bean:params.bean,
                     parentEl:params.parentEl
                 });
@@ -93,6 +108,10 @@ TOMEE.ApplicationController = function (
             homeView.loadJndi(params);
         });
 
+        channel.bind('app.new.jndi.class.data', function (params) {
+            homeView.showJndiClassWin(params);
+        });
+
         channel.bind('element.right.click', function (params) {
             //params.data, params.left, params.top
             if (params.panelKey === 'jndi') {
@@ -100,6 +119,14 @@ TOMEE.ApplicationController = function (
             }
         });
 
+        channel.bind('show.class.panel', function (params) {
+            var data = params.data;
+            model.loadJndiClass({
+                name:data.name,
+                path:pathArrayBuilder.build(data.parent)
+            });
+        });
+
     })();
 
 

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=1349078&r1=1349077&r2=1349078&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 Tue Jun 12 00:34:51 2012
@@ -138,10 +138,19 @@ TOMEE.ApplicationModel = function (cfg) 
                 method:'GET',
                 url:TOMEE.baseURL('jndi'),
                 data:{
-                    test:params.test,
                     path:TOMEE.utils.getSafe(params.path, []).join(',')
                 },
                 success:function (data) {
+                    var namesArr = TOMEE.utils.getArray(data.names);
+
+                    (function () {
+                        var current = null;
+                        for (var i = 0; i < namesArr.length; i++) {
+                            current = namesArr[i];
+                            current.parent = params.bean;
+                        }
+                    })();
+
                     channel.send('app.new.jndi.data', {
                         names:data.names,
                         path:params.path,
@@ -150,6 +159,22 @@ TOMEE.ApplicationModel = function (cfg) 
                     });
                 }
             });
+        },
+        loadJndiClass:function (params) {
+            //params.path, params.bean, params.parentEl
+            request({
+                method:'GET',
+                url:TOMEE.baseURL('jndi'),
+                data:{
+                    name:params.name,
+                    path:TOMEE.utils.getSafe(params.path, []).join(',')
+                },
+                success:function (data) {
+                    channel.send('app.new.jndi.class.data', {
+                        cls: data.cls
+                    });
+                }
+            });
         }
     };
 }
\ No newline at end of file

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/Obj.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/Obj.js?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/Obj.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/Obj.js Tue Jun 12 00:34:51 2012
@@ -18,17 +18,33 @@
  */
 
 TOMEE.utils = {
+    isPrimitive:function (value) {
+        if ('number' === (typeof value)) {
+            return true;
+        }
+
+        if ('string' === (typeof value)) {
+            return true;
+        }
+
+        if ('boolean' === (typeof value)) {
+            return true;
+        }
+
+        return false;
+    },
+
     getSafe:function (obj, defaultValue) {
-        if(obj instanceof Function) {
+        if (obj instanceof Function) {
             try {
                 return obj();
 
-            } catch(ex) {
+            } catch (ex) {
                 return defaultValue;
             }
         }
 
-        if(obj) {
+        if (obj) {
             return obj;
         }
         return defaultValue;
@@ -44,7 +60,7 @@ TOMEE.utils = {
         }
 
         var result = [];
-        for(var key in obj) {
+        for (var key in obj) {
             result.push(objBuilder(key, obj[key]));
         }
 

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js Tue Jun 12 00:34:51 2012
@@ -127,6 +127,9 @@ TOMEE.ApplicationViewHome = function (cf
         },
         jndiContextMenu:function (opts) {
             jndiPanel.jndiContextMenu(opts);
+        },
+        showJndiClassWin:function (opts) {
+            jndiPanel.showClassPanel(opts);
         }
     };
 }

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js Tue Jun 12 00:34:51 2012
@@ -67,11 +67,6 @@ TOMEE.components.Tree = function (cfg) {
             tag:'li',
             attributes:{
                 style:'padding-left: 0px;'
-            },
-            listeners:{
-                'click':function (event) {
-
-                }
             }
         }).el;
         li.append(span);

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Jndi.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Jndi.js?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Jndi.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Jndi.js Tue Jun 12 00:34:51 2012
@@ -44,10 +44,9 @@ TOMEE.Jndi = function (cfg) {
             {
                 text:TOMEE.I18N.get('application.jdni.lookup'),
                 callback:function (data) {
-                    TOMEE.JndiClass({
-                        parent:parentEl,
-                        channel:channel
-                    }).show({});
+                    channel.send('show.class.panel', {
+                        data:data
+                    });
                 }
             }
         ]
@@ -66,6 +65,14 @@ TOMEE.Jndi = function (cfg) {
                 top:opts.top,
                 data:opts.data
             });
+        },
+        showClassPanel:function (opts) {
+            TOMEE.JndiClass({
+                parent:parentEl,
+                channel:channel
+            }).show({
+                    data:opts
+                });
         }
     };
 };
\ No newline at end of file

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js?rev=1349078&r1=1349077&r2=1349078&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js Tue Jun 12 00:34:51 2012
@@ -30,8 +30,49 @@ TOMEE.JndiClass = function (cfg) {
         }
     });
 
+    var buildList = function(parent, obj) {
+        var li = $('<li></li>');
+        for(var prop in obj) {
+            (function(key, value) {
+                if(TOMEE.utils.isPrimitive(value)) {
+                    li.append(key + ': ' + value);
+
+                } else if(value instanceof Array) {
+                    li.append(key);
+                    var ul = $('<ul></ul>');
+
+                    for(var i = 0; i < value.length; i++) {
+                        buildList(ul, value[i]);
+                    }
+
+                    li.append(ul);
+                } else {
+
+                    li.append(key);
+                    var ul = $('<ul></ul>');
+
+                    for(var inner in value) {
+                        buildList(ul, value[inner]);
+                    }
+
+                    li.append(ul);
+                }
+            })(prop, obj[prop]);
+        }
+        parent.append(li);
+    };
+
     return {
         show:function (params) {
+            var el = panel.getContentEl();
+            el.empty();
+
+            var innerDiv = $('<ul></ul>');
+            var cls = params.data.cls;
+            buildList(innerDiv, cls);
+
+            panel.getContentEl().append(innerDiv);
+
             panel.showAt({
                 modal:true
             });