You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2012/12/18 18:54:55 UTC
Fwd: svn commit: r1423544 - /openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java
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: <tv...@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: commits@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);
- }
- }
- }
-
}
Re: svn commit: r1423544 - /openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java
Posted by Thiago Veronezi <th...@veronezi.org>.
Cool... tkx!
I will try that.
[]s,
Thiago.
On Tue, Dec 18, 2012 at 2:01 PM, Romain Manni-Bucau
<rm...@gmail.com> wrote:
> hmm they are in
> SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext()
> context
>
> don't think you can get they without reproducing the logic used for
> the log (and that's not a solution ;)
>
> BTW listing SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext().lookup(java:global)
> should be fine as a first step
>
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2012/12/18 Thiago Veronezi <th...@veronezi.org>:
>> Hi Romain,
>>
>> It is still wrong... working on that.
>> btw, do you know a good way to get the JNDI names? I just want to list
>> the same jndi strings shown in the log file.
>>
>> []s,
>> Thiago.
>>
>>
>>
>> On Tue, Dec 18, 2012 at 12:54 PM, Romain Manni-Bucau
>> <rm...@gmail.com> wrote:
>>> 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: <tv...@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: commits@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);
>>> - }
>>> - }
>>> - }
>>> -
>>> }
Re: svn commit: r1423544 - /openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java
Posted by Romain Manni-Bucau <rm...@gmail.com>.
hmm they are in
SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext()
context
don't think you can get they without reproducing the logic used for
the log (and that's not a solution ;)
BTW listing SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext().lookup(java:global)
should be fine as a first step
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2012/12/18 Thiago Veronezi <th...@veronezi.org>:
> Hi Romain,
>
> It is still wrong... working on that.
> btw, do you know a good way to get the JNDI names? I just want to list
> the same jndi strings shown in the log file.
>
> []s,
> Thiago.
>
>
>
> On Tue, Dec 18, 2012 at 12:54 PM, Romain Manni-Bucau
> <rm...@gmail.com> wrote:
>> 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: <tv...@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: commits@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);
>> - }
>> - }
>> - }
>> -
>> }
Re: svn commit: r1423544 - /openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java
Posted by Thiago Veronezi <th...@veronezi.org>.
Hi Romain,
It is still wrong... working on that.
btw, do you know a good way to get the JNDI names? I just want to list
the same jndi strings shown in the log file.
[]s,
Thiago.
On Tue, Dec 18, 2012 at 12:54 PM, Romain Manni-Bucau
<rm...@gmail.com> wrote:
> 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: <tv...@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: commits@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);
> - }
> - }
> - }
> -
> }