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
});