Hi Thiago, if i understand here jndi = ejbs?
it doesn't really match, there is not the resources and all the user could have bound. Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau ---------- Forwarded message ---------- From: <tveron...@apache.org> Date: 2012/12/18 Subject: svn commit: r1423544 - /openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java To: comm...@openejb.apache.org Author: tveronezi Date: Tue Dec 18 17:32:42 2012 New Revision: 1423544 URL: http://svn.apache.org/viewvc?rev=1423544&view=rev Log: Better way to list the JNDI values. Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java?rev=1423544&r1=1423543&r2=1423544&view=diff ============================================================================== --- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java (original) +++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java Tue Dec 18 17:32:42 2012 @@ -17,14 +17,12 @@ package org.apache.tomee.webapp.command.impl; -import org.apache.tomee.webapp.Application; +import org.apache.openejb.BeanContext; +import org.apache.openejb.loader.SystemInstance; +import org.apache.openejb.spi.ContainerSystem; import org.apache.tomee.webapp.command.Command; import org.apache.tomee.webapp.command.IsProtected; -import javax.naming.Context; -import javax.naming.NameClassPair; -import javax.naming.NamingEnumeration; -import javax.naming.NamingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -36,32 +34,18 @@ public class GetJndi implements Command @Override public Object execute(final Map<String, Object> params) throws Exception { final String sessionId = (String) params.get("sessionId"); - final Application.Session session = Application.getInstance().getSession(sessionId); final List<String> jndi = new ArrayList<String>(); - list(session.getContext(), jndi, ""); + ContainerSystem container = SystemInstance.get().getComponent(ContainerSystem.class); + BeanContext[] deployments = container.deployments(); + if (deployments != null) { + for (BeanContext beanContext : deployments) { + jndi.add(String.valueOf(beanContext.getDeploymentID())); + } + } + final Map<String, Object> json = new HashMap<String, Object>(); json.put("jndi", jndi); - return json; } - - private void list(final Context context, final List<String> jndi, String path) throws NamingException { - final NamingEnumeration<NameClassPair> namingEnum = context.list(""); - while (namingEnum.hasMore()) { - final NameClassPair pair = namingEnum.next(); - - String namePath = (path + "/" + pair.getName()).trim(); - if (namePath.startsWith("/")) { - namePath = namePath.substring(1); - } - jndi.add(namePath); - - final Object obj = context.lookup(pair.getName()); - if (Context.class.isInstance(obj)) { - list((Context) obj, jndi, namePath); - } - } - } - }