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