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"));


Reply via email to