Author: tveronezi
Date: Sat Jun 9 19:20:19 2012
New Revision: 1348488
URL: http://svn.apache.org/viewvc?rev=1348488&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* almost loading the rest of the loading first jndi names - work in progress
Modified:
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/JndiServlet.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
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
Modified:
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml?rev=1348488&r1=1348487&r2=1348488&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
(original)
+++
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
Sat Jun 9 19:20:19 2012
@@ -194,57 +194,13 @@
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin Installer</web-resource-name>
- <url-pattern>/installer</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Webservices</web-resource-name>
- <url-pattern>/ws/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Interface</web-resource-name>
- <url-pattern>*.jsp</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Style</web-resource-name>
- <url-pattern>/css/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Images</web-resource-name>
- <url-pattern>/images/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Javascript</web-resource-name>
- <url-pattern>/js/*</url-pattern>
+ <url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tomee-admin</role-name>
</auth-constraint>
</security-constraint>
+
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>TomEE Webapp</realm-name>
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/JndiServlet.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/JndiServlet.java?rev=1348488&r1=1348487&r2=1348488&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/JndiServlet.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/JndiServlet.java
Sat Jun 9 19:20:19 2012
@@ -55,6 +55,22 @@ public class JndiServlet extends HttpSer
return node;
}
+ private Context getContext(Context ctx, List<String> path) throws
NamingException {
+ if (path.isEmpty()) {
+ return ctx;
+ }
+
+ String name = path.remove(0);
+ final Object obj = ctx.lookup(name);
+
+ if (obj instanceof Context) {
+ return getContext((Context) obj, path);
+
+ } else {
+ throw new IllegalStateException("obj should be an instance of
Context");
+ }
+ }
+
@Override
protected void doGet(final HttpServletRequest req, final
HttpServletResponse resp) throws ServletException, IOException {
JsonExecutor.execute(resp, new JsonExecutor.Executor() {
@@ -67,9 +83,19 @@ public class JndiServlet extends HttpSer
final Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.core.LocalInitialContextFactory");
p.put("openejb.loader", "embed");
+ final Context initCtx = new InitialContext(p);
+
+ final Context ctx;
+ final String strPath = req.getParameter("path");
+ if (strPath == null || "".equals(strPath.trim())) {
+ ctx = initCtx;
+ } else {
+ final List<String> path = new ArrayList<String>();
+
path.addAll(Arrays.asList(req.getParameter("path").split(",")));
+ ctx = getContext(initCtx, path);
+ }
- final Context ctx = new InitialContext(p);
- final NamingEnumeration<NameClassPair> namingEnumeration =
ctx.list(req.getParameter("root"));
+ final NamingEnumeration<NameClassPair> namingEnumeration =
ctx.list("");
if (namingEnumeration != null) {
while (namingEnumeration.hasMoreElements()) {
objs.add(buildNode(namingEnumeration.next(), ctx));
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml?rev=1348488&r1=1348487&r2=1348488&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
(original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
Sat Jun 9 19:20:19 2012
@@ -194,57 +194,13 @@
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin Installer</web-resource-name>
- <url-pattern>/installer</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Webservices</web-resource-name>
- <url-pattern>/ws/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Interface</web-resource-name>
- <url-pattern>*.jsp</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Style</web-resource-name>
- <url-pattern>/css/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Images</web-resource-name>
- <url-pattern>/images/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Admin Javascript</web-resource-name>
- <url-pattern>/js/*</url-pattern>
+ <url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tomee-admin</role-name>
</auth-constraint>
</security-constraint>
+
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>TomEE Webapp</realm-name>
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=1348488&r1=1348487&r2=1348488&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
Sat Jun 9 19:20:19 2012
@@ -43,73 +43,109 @@ TOMEE.ApplicationController = function (
channel:channel
});
- channel.bind('application.name.click', function (params) {
- window.open('http://openejb.apache.org/', 'OpenEJB');
- });
-
- channel.bind('application.logout', function (params) {
- model.logout();
- });
- channel.bind('tree_leaf_click', function (params) {
- //params.panelKey, params.bean
- if (params.panelKey === 'jndi') {
+ (function () {
+ channel.bind('application.name.click', function (params) {
+ window.open('http://openejb.apache.org/', 'OpenEJB');
+ });
+
+ channel.bind('application.logout', function (params) {
+ model.logout();
+ });
+
+ channel.bind('app.logout.bye', function (params) {
+ window.location.reload();
+ });
+ })();
+
+ //JNDI tree
+ (function () {
+ channel.bind('tree_leaf_click', function (params) {
+ //params.panelKey, params.bean
+ if (params.panelKey === 'jndi') {
+
+ }
+ });
+
+ channel.bind('tree_load_children', function (params) {
+ var path = [];
+ var buildPathArray = function (bean) {
+ if (bean.parent) {
+ path.push(bean.parent);
+
+ }
+ path.push(bean.name);
+ };
+ buildPathArray(params.bean);
+
+ //params.panelKey, params.bean, params.parentEl
+ if (params.panelKey === 'jndi') {
+ model.loadJndi({
+ path:path,
+ bean:params.bean,
+ parentEl:params.parentEl
+ });
+ }
+ });
+
+ channel.bind('app.new.jndi.data', function (params) {
+ //params.path, params.bean, params.parentEl
+ homeView.loadJndi(params);
+ });
+ })();
+
+
+ (function () {
+ channel.bind('deploy.file.uploaded', function (params) {
+ model.deployApp(params.file);
+ });
+
+ channel.bind('app.deployment.result', function (params) {
+ //TODO Implement me
+ throw "app.deployment.result not implemented";
+ });
+ })();
- }
- });
-
- channel.bind('tree_load_children', function (params) {
- //params.panelKey, params.bean, params.parentEl
- if (params.panelKey === 'jndi') {
-
- }
- });
-
- channel.bind('deploy.file.uploaded', function (params) {
- model.deployApp(params.file);
- });
-
- channel.bind('app.deployment.result', function (params) {
- alert('appId: ' + params.appId + '; path: ' + params.path + ';');
- });
-
- channel.bind('app.logout.bye', function (params) {
- window.location.reload();
- });
channel.bind('app.system.info', function (params) {
view.setLoggedUser(params.user);
homeView.setSupportedScriptLanguages(params.supportedScriptLanguages);
});
- channel.bind('trigger.console.exec', function (params) {
- model.execute(params.codeType, params.codeText);
- });
-
- channel.bind('app.console.executed', function (params) {
- //TODO Implement me
- throw "app.console.executed not implemented";
- });
-
- channel.bind('app.new.log.data', function (params) {
- logView.loadData(params);
- });
-
- channel.bind('trigger.log.load', function (params) {
- model.loadLog(params.file, params.tail);
- });
-
- channel.bind('app.new.session.data', function (params) {
- homeView.loadSavedObjects(params);
- });
- channel.bind('app.new.jndi.data', function (params) {
- homeView.loadJndi(params);
- });
+ (function () {
+ channel.bind('trigger.console.exec', function (params) {
+ model.execute(params.codeType, params.codeText);
+ });
+
+ channel.bind('app.console.executed', function (params) {
+ //TODO Implement me
+ throw "app.console.executed not implemented";
+ });
+ })();
+
+
+ (function () {
+ channel.bind('app.new.log.data', function (params) {
+ logView.loadData(params);
+ });
+
+ channel.bind('trigger.log.load', function (params) {
+ model.loadLog(params.file, params.tail);
+ });
+ })();
+
+
+ (function () {
+ channel.bind('app.new.session.data', function (params) {
+ homeView.loadSavedObjects(params);
+ });
+
+ channel.bind('application.saved.objects.load', function (params) {
+ model.loadSessionData();
+ });
+ })();
- channel.bind('application.saved.objects.load', function (params) {
- model.loadSessionData();
- });
var view = TOMEE.ApplicationView({
channel:channel,
@@ -128,7 +164,9 @@ TOMEE.ApplicationController = function (
});
model.loadLog(null, null);
- model.loadJndi("");
+ model.loadJndi({
+ path:['']
+ });
return {
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=1348488&r1=1348487&r2=1348488&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
Sat Jun 9 19:20:19 2012
@@ -132,15 +132,22 @@ TOMEE.ApplicationModel = function (cfg)
}
});
},
- loadJndi:function (root) {
+ loadJndi:function (params) {
+ //params.path, params.bean, params.parentEl
request({
method:'GET',
url:TOMEE.baseURL('jndi'),
data:{
- root:root
+ test:params.test,
+ path:TOMEE.utils.getSafe(params.path, []).join(',')
},
success:function (data) {
- channel.send('app.new.jndi.data', data);
+ channel.send('app.new.jndi.data', {
+ names:data.names,
+ path:params.path,
+ bean:params.bean,
+ parentEl:params.parentEl
+ });
}
});
}