You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2012/03/28 12:21:21 UTC

svn commit: r1306241 - in /openejb/trunk/openejb/tomee/tomee-loader/src: main/java/org/apache/tomee/loader/listener/ main/java/org/apache/tomee/loader/service/ main/java/org/apache/tomee/loader/service/helper/ main/java/org/apache/tomee/loader/servlet/...

Author: tveronezi
Date: Wed Mar 28 10:21:20 2012
New Revision: 1306241

URL: http://svn.apache.org/viewvc?rev=1306241&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-142

(in progress task)

-cosmetic

Added:
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContextImpl.java
      - copied, changed from r1305806, openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java
Modified:
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/listener/UserSessionListener.java
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.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/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/JndiServlet.java
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/TestServlet.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/listener/UserSessionListener.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/listener/UserSessionListener.java?rev=1306241&r1=1306240&r2=1306241&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/listener/UserSessionListener.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/listener/UserSessionListener.java Wed Mar 28 10:21:20 2012
@@ -18,6 +18,7 @@
 package org.apache.tomee.loader.listener;
 
 import org.apache.tomee.loader.service.ServiceContext;
+import org.apache.tomee.loader.service.ServiceContextImpl;
 
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpSessionEvent;
@@ -28,8 +29,8 @@ public class UserSessionListener impleme
 
     @Override
     public void sessionCreated(HttpSessionEvent httpSessionEvent) {
-        final ServiceContext servletsService = new ServiceContext();
-        httpSessionEvent.getSession().setAttribute(USER_CONTEXT, servletsService);
+        final ServiceContext cxt = new ServiceContextImpl();
+        httpSessionEvent.getSession().setAttribute(USER_CONTEXT, cxt);
     }
 
     @Override
@@ -42,7 +43,7 @@ public class UserSessionListener impleme
     }
 
     public static ServiceContext getServiceContext(HttpSession session) {
-        final ServiceContext service = (ServiceContext) session.getAttribute(USER_CONTEXT);
-        return service;
+        final ServiceContext cxt = (ServiceContext) session.getAttribute(USER_CONTEXT);
+        return cxt;
     }
 }

Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java?rev=1306241&r1=1306240&r2=1306241&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java Wed Mar 28 10:21:20 2012
@@ -17,58 +17,18 @@
 
 package org.apache.tomee.loader.service;
 
-import org.apache.tomee.loader.service.helper.JndiHelper;
-import org.apache.tomee.loader.service.helper.JndiHelperImpl;
-import org.apache.tomee.loader.service.helper.TestHelper;
-import org.apache.tomee.loader.service.helper.TestHelperImpl;
-
 import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
-public class ServiceContext {
-    private final Context ctx;
-    private final JndiHelper jndiHelper;
-    private final TestHelper testHelper;
-
-    public void close() {
-        if (this.ctx == null) {
-            return; //do nothing
-        }
-
-        try {
-            this.ctx.close();
-        } catch (NamingException e) {
-            throw new ServiceException(e);
-        }
-    }
-
-    public ServiceContext() {
-        Context ctx = null;
-        {
-            final Properties properties = new Properties();
-            properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-            properties.put("openejb.loader", "embed");
-            try {
-                ctx = new InitialContext(properties);
-            } catch (NamingException e) {
-                throw new ServiceException(e);
-            }
-        }
-        this.ctx = ctx;
-        this.jndiHelper = new JndiHelperImpl(ctx);
-        this.testHelper = new TestHelperImpl(ctx);
-    }
-
-
-    public List<Map<String, Object>> getJndi(String path) {
-        return this.jndiHelper.getJndi(path);
-    }
-
-    public List<Map<String, Object>> getTest() {
-        return this.testHelper.getTestResults();
-    }
+public interface ServiceContext {
+
+    void close();
+
+    List<Map<String, Object>> getJndi(String path);
+
+    List<Map<String, Object>> getTest();
+
+    Context getContext();
+
 }

Copied: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContextImpl.java (from r1305806, openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContextImpl.java?p2=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContextImpl.java&p1=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java&r1=1305806&r2=1306241&rev=1306241&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContextImpl.java Wed Mar 28 10:21:20 2012
@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
-public class ServiceContext {
+public class ServiceContextImpl implements ServiceContext {
     private final Context ctx;
     private final JndiHelper jndiHelper;
     private final TestHelper testHelper;
@@ -46,7 +46,7 @@ public class ServiceContext {
         }
     }
 
-    public ServiceContext() {
+    public ServiceContextImpl() {
         Context ctx = null;
         {
             final Properties properties = new Properties();
@@ -59,8 +59,8 @@ public class ServiceContext {
             }
         }
         this.ctx = ctx;
-        this.jndiHelper = new JndiHelperImpl(ctx);
-        this.testHelper = new TestHelperImpl(ctx);
+        this.jndiHelper = new JndiHelperImpl(this);
+        this.testHelper = new TestHelperImpl(this);
     }
 
 
@@ -71,4 +71,8 @@ public class ServiceContext {
     public List<Map<String, Object>> getTest() {
         return this.testHelper.getTestResults();
     }
+
+    public Context getContext() {
+        return this.ctx;
+    }
 }

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=1306241&r1=1306240&r2=1306241&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 Wed Mar 28 10:21:20 2012
@@ -22,6 +22,7 @@ import org.apache.openejb.core.ivm.BaseE
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.util.proxy.ProxyManager;
+import org.apache.tomee.loader.service.ServiceContext;
 import org.apache.tomee.loader.service.ServiceException;
 
 import javax.naming.Context;
@@ -29,29 +30,24 @@ import javax.naming.NameClassPair;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public class JndiHelperImpl implements JndiHelper {
-    private final Context ctx;
 
+    private final ServiceContext srvCtx;
 
-    public JndiHelperImpl(Context ctx) {
-        this.ctx = ctx;
+    public JndiHelperImpl(ServiceContext srvCtx) {
+        this.srvCtx = srvCtx;
     }
 
     @Override
     public List<Map<String, Object>> getJndi(String path) {
         final List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
 
-        if (this.ctx == null) {
-            return Collections.emptyList(); //do nothing
-        }
-
         try {
-            mountJndiList(result, this.ctx, path);
+            mountJndiList(result, this.srvCtx.getContext(), path);
         } catch (NamingException e) {
             //Throwing a runtimeexception instead.
             throw new ServiceException(e);

Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java?rev=1306241&r1=1306240&r2=1306241&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java Wed Mar 28 10:21:20 2012
@@ -17,21 +17,24 @@
 
 package org.apache.tomee.loader.service.helper;
 
+import org.apache.tomee.loader.service.ServiceContext;
+import org.apache.tomee.loader.service.ServiceException;
+
 import javax.naming.Context;
-import javax.naming.InitialContext;
+import javax.naming.NamingException;
 import java.io.File;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 public class TestHelperImpl implements TestHelper {
-    private final Context ctx;
 
-    public TestHelperImpl(Context ctx) {
-        this.ctx = ctx;
+    private final ServiceContext srvCtx;
+
+    public TestHelperImpl(ServiceContext srvCtx) {
+        this.srvCtx = srvCtx;
     }
 
     @Override
@@ -84,28 +87,29 @@ public class TestHelperImpl implements T
             }
 
             try {
-                final Properties properties = new Properties();
-                properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-                properties.put("openejb.loader", "embed");
-
-                final InitialContext ctx = new InitialContext(properties);
-                Object obj = ctx.lookup("");
-
+                final Object obj = lookup(this.srvCtx.getContext(), Object.class, "");
                 if (obj.getClass().getName().equals("org.apache.openejb.core.ivm.naming.IvmContext")) {
                     result.add(createDTO("testLookup", true));
                 } else {
                     result.add(createDTO("testLookup", false));
                 }
-
             } catch (Exception e) {
                 result.add(createDTO("testLookup", false));
             }
         }
-
-
         return result;
     }
 
+    public <T> T lookup(Context ctx, Class<T> cls, String path) {
+        final Object obj;
+        try {
+            obj = ctx.lookup(path);
+        } catch (NamingException e) {
+            throw new ServiceException(e);
+        }
+        return cls.cast(obj);
+    }
+
     private Map<String, Object> createDTO(String key, boolean success) {
         Map<String, Object> result = new HashMap<String, Object>();
         result.put("key", key);

Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/JndiServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/JndiServlet.java?rev=1306241&r1=1306240&r2=1306241&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/JndiServlet.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/JndiServlet.java Wed Mar 28 10:21:20 2012
@@ -19,17 +19,13 @@ package org.apache.tomee.loader.servlet;
 
 import com.google.gson.Gson;
 import org.apache.tomee.loader.listener.UserSessionListener;
-import org.apache.tomee.loader.service.ServiceContext;
 
 import javax.naming.NamingException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -41,7 +37,7 @@ public class JndiServlet extends HttpSer
         final String json;
         try {
             final Map<String, Object> result = new HashMap<String, Object>();
-            result.put("jndi", get(req.getSession()));
+            result.put("jndi", get(req));
             json = new Gson().toJson(result);
         } catch (NamingException e) {
             throw new ServletException(e);
@@ -51,14 +47,8 @@ public class JndiServlet extends HttpSer
         resp.getWriter().write(json);
     }
 
-    public List<Map<String, Object>> get(HttpSession session) throws NamingException {
-        final List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
-
-        final ServiceContext service = UserSessionListener.getServiceContext (session);
-        if (service == null) {
-            return Collections.emptyList(); //do nothing
-        }
-        return service.getJndi("");
+    public List<Map<String, Object>> get(HttpServletRequest req) throws NamingException {
+        return UserSessionListener.getServiceContext(req.getSession()).getJndi("");
     }
 
 }

Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/TestServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/TestServlet.java?rev=1306241&r1=1306240&r2=1306241&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/TestServlet.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/servlet/TestServlet.java Wed Mar 28 10:21:20 2012
@@ -19,16 +19,13 @@ package org.apache.tomee.loader.servlet;
 
 import com.google.gson.Gson;
 import org.apache.tomee.loader.listener.UserSessionListener;
-import org.apache.tomee.loader.service.ServiceContext;
 
 import javax.naming.NamingException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import java.io.IOException;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -40,7 +37,7 @@ public class TestServlet extends HttpSer
         final String json;
         try {
             final Map<String, Object> result = new HashMap<String, Object>();
-            result.put("test", get(req.getSession()));
+            result.put("test", get(req));
             json = new Gson().toJson(result);
         } catch (NamingException e) {
             throw new ServletException(e);
@@ -50,14 +47,9 @@ public class TestServlet extends HttpSer
         resp.getWriter().write(json);
     }
 
-    private List<Map<String, Object>> get(HttpSession session) throws NamingException {
-        final ServiceContext service = UserSessionListener.getServiceContext(session);
-        if (service == null) {
-            return Collections.emptyList(); //do nothing
-        }
-        return service.getTest();
+    private List<Map<String, Object>> get(HttpServletRequest req) throws NamingException {
+        return UserSessionListener.getServiceContext(req.getSession()).getTest();
 
     }
 
-
 }

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=1306241&r1=1306240&r2=1306241&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 Wed Mar 28 10:21:20 2012
@@ -17,6 +17,7 @@
 package org.apache.tomee.loader.test;
 
 import org.apache.tomee.loader.service.ServiceContext;
+import org.apache.tomee.loader.service.ServiceContextImpl;
 import org.junit.Test;
 
 import java.util.List;
@@ -27,7 +28,7 @@ public class UserSessionTest {
     @Test()
     public void test() throws Exception {
 
-        final ServiceContext service = new ServiceContext();
+        final ServiceContext service = new ServiceContextImpl();
         final List<Map<String, Object>> result = service.getJndi("");
         org.junit.Assert.assertNotNull(result);
         org.junit.Assert.assertFalse(result.isEmpty());