Author: tveronezi
Date: Thu Mar 29 12:27:03 2012
New Revision: 1306808
URL: http://svn.apache.org/viewvc?rev=1306808&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-142
(in progress task)
-preparing code for the "ejb invoker" feature
Modified:
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
Modified:
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java?rev=1306808&r1=1306807&r2=1306808&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java
Thu Mar 29 12:27:03 2012
@@ -17,10 +17,13 @@
package org.apache.tomee.loader.service.helper;
+import java.lang.reflect.Method;
+import java.util.List;
import java.util.Map;
public interface JndiHelper {
Map<String, Object> getJndi();
+ List<Method> getJndiMethods(String path);
}
Modified:
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java?rev=1306808&r1=1306807&r2=1306808&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
Thu Mar 29 12:27:03 2012
@@ -24,7 +24,10 @@ import org.apache.tomee.loader.service.S
import javax.naming.Context;
import javax.naming.NamingException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -43,9 +46,19 @@ public class JndiHelperImpl implements J
this.srvCtx = srvCtx;
}
-// public List<Method> getJndiMethods(String path) {
-//
-// }
+ @Override
+ public List<Method> getJndiMethods(String path) {
+ Object srv = null;
+ try {
+ srv = srvCtx.getOpenEJBHelper().lookup(path);
+ } catch (NamingException e) {
+ //not found
+ return Collections.emptyList();
+ }
+
+ final Class<?> srvCls = srv.getClass();
+ return new ArrayList<Method>(Arrays.asList(srvCls.getMethods()));
+ }
@Override
public Map<String, Object> getJndi() {
@@ -91,10 +104,10 @@ public class JndiHelperImpl implements J
final Map<String, Object> result = new HashMap<String, Object>();
result.put("type", type);
result.put("path", path);
-
- if(parent != null) {
+
+ if (parent != null) {
List<Map<String, Object>> children = (List<Map<String, Object>>)
parent.get("children");
- if(children == null) {
+ if (children == null) {
children = new ArrayList<Map<String, Object>>();
parent.put("children", children);
}
Modified:
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java?rev=1306808&r1=1306807&r2=1306808&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
Thu Mar 29 12:27:03 2012
@@ -23,6 +23,7 @@ import org.junit.Test;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -58,24 +59,34 @@ public class UserSessionTest {
Object srv = null;
try {
srv = service.getOpenEJBHelper().lookup(name);
+
} catch (NamingException e) {
//not found
}
if (DummyEjb.class.isInstance(srv)) {
final DummyEjb dummyEjb = DummyEjb.class.cast(srv);
-
System.out.println(name + " -> dummyEjb.sayHi() -> " +
dummyEjb.sayHi());
+ showMethods(service, name);
} else {
if (srv == null) {
System.out.println(name + " (NOT FOUND) ");
} else {
System.out.println(name);
+ showMethods(service, name);
}
}
}
System.out.println("*******************************************");
}
+
+ private void showMethods(final ServiceContext service, String name) {
+ //show methods
+ final List<Method> methods =
service.getJndiHelper().getJndiMethods(name);
+ for(Method method : methods) {
+ System.out.println(" METHOD -> " + method);
+ }
+ }
private void mountPathsList(final List<String> names, final Map<String,
Object> jndiEntry) {
names.add((String) jndiEntry.get("path"));