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


Reply via email to