Author: tveronezi
Date: Sat Jun 9 16:07:38 2012
New Revision: 1348442
URL: http://svn.apache.org/viewvc?rev=1348442&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* loading first jndi level
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
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=1348442&r1=1348441&r2=1348442&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 16:07:38 2012
@@ -22,7 +22,7 @@
version="3.0" metadata-complete="true">
<display-name>Tomee Application</display-name>
-
+
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
@@ -77,6 +77,18 @@
<!--
**************************************************************************************
-->
<servlet>
+ <servlet-name>JndiServlet</servlet-name>
+
<servlet-class>org.apache.tomee.webapp.servlet.JndiServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>JndiServlet</servlet-name>
+ <url-pattern>/jndi/*</url-pattern>
+ </servlet-mapping>
+
+ <!--
**************************************************************************************
-->
+
+ <servlet>
<servlet-name>LogServlet</servlet-name>
<servlet-class>org.apache.tomee.webapp.servlet.LogServlet</servlet-class>
</servlet>
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=1348442&r1=1348441&r2=1348442&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 16:07:38 2012
@@ -17,24 +17,63 @@
package org.apache.tomee.webapp.servlet;
+import org.apache.openejb.util.proxy.LocalBeanProxyGeneratorImpl;
import org.apache.tomee.webapp.JsonExecutor;
+import javax.naming.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.util.Map;
+import java.util.*;
public class JndiServlet extends HttpServlet {
+ private Map<String, Object> buildNode(NameClassPair pair, Context ctx)
throws NamingException {
+ final String name = pair.getName();
+ final Object obj = ctx.lookup(name);
+
+ final String beanType;
+ if (obj instanceof Context) {
+ beanType = "CONTEXT";
+
+ } else if (obj instanceof java.rmi.Remote
+ || obj instanceof org.apache.openejb.core.ivm.IntraVmProxy
+ || (obj != null &&
LocalBeanProxyGeneratorImpl.isLocalBean(obj.getClass()))) {
+ beanType = "BEAN";
+ } else {
+ beanType = "OTHER";
+ }
+
+ final Map<String, Object> node = new HashMap<String, Object>();
+ node.put("name", name);
+ node.put("type", beanType);
+ if ("CONTEXT".equals(beanType)) {
+ node.put("children", Collections.emptyList());
+ }
+ return node;
+ }
+
@Override
protected void doGet(final HttpServletRequest req, final
HttpServletResponse resp) throws ServletException, IOException {
JsonExecutor.execute(resp, new JsonExecutor.Executor() {
@Override
public void call(Map<String, Object> json) throws Exception {
+ final List<Map<String, Object>> objs = new
ArrayList<Map<String, Object>>();
+ json.put("objs", objs);
+ final Properties p = new Properties();
+ p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.core.LocalInitialContextFactory");
+ p.put("openejb.loader", "embed");
+
+ final Context ctx = new InitialContext(p);
+ final NamingEnumeration<NameClassPair> namingEnumeration =
ctx.list("");
+
+ 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=1348442&r1=1348441&r2=1348442&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 16:07:38 2012
@@ -22,7 +22,7 @@
version="3.0" metadata-complete="true">
<display-name>Tomee Application</display-name>
-
+
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
@@ -77,6 +77,18 @@
<!--
**************************************************************************************
-->
<servlet>
+ <servlet-name>JndiServlet</servlet-name>
+
<servlet-class>org.apache.tomee.webapp.servlet.JndiServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>JndiServlet</servlet-name>
+ <url-pattern>/jndi/*</url-pattern>
+ </servlet-mapping>
+
+ <!--
**************************************************************************************
-->
+
+ <servlet>
<servlet-name>LogServlet</servlet-name>
<servlet-class>org.apache.tomee.webapp.servlet.LogServlet</servlet-class>
</servlet>