Author: tveronezi
Date: Tue Mar 27 10:29:27 2012
New Revision: 1305804

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

(in progress task)

-removing unnecessary dto
-moving the business logic out of the servlet code (ServletsService)

Added:
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java
      - copied, changed from r1304244, 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServletsService.java
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceException.java
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/
    
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/main/java/org/apache/tomee/loader/service/helper/TestHelper.java
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java
Removed:
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/TestDTO.java
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServletsService.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/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=1305804&r1=1305803&r2=1305804&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
 Tue Mar 27 10:29:27 2012
@@ -17,26 +17,32 @@
 
 package org.apache.tomee.loader.listener;
 
-import org.apache.tomee.loader.service.ServletsService;
+import org.apache.tomee.loader.service.ServiceContext;
 
+import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpSessionEvent;
 import javax.servlet.http.HttpSessionListener;
 
 public class UserSessionListener implements HttpSessionListener {
-    public static final String USER_CONTEXT = 
"UserSessionListener_USER_CONTEXT";
+    private static final String USER_CONTEXT = 
"UserSessionListener_USER_CONTEXT";
 
     @Override
     public void sessionCreated(HttpSessionEvent httpSessionEvent) {
-        final ServletsService servletsService = new ServletsService();
+        final ServiceContext servletsService = new ServiceContext();
         httpSessionEvent.getSession().setAttribute(USER_CONTEXT, 
servletsService);
     }
 
     @Override
     public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
-        final ServletsService servletsService = (ServletsService) 
httpSessionEvent.getSession().getAttribute(USER_CONTEXT);
+        final ServiceContext servletsService = (ServiceContext) 
httpSessionEvent.getSession().getAttribute(USER_CONTEXT);
         if (servletsService == null) {
             return; //do nothing
         }
         servletsService.close();
     }
+
+    public static ServiceContext getServiceContext(HttpSession session) {
+        final ServiceContext service = (ServiceContext) 
session.getAttribute(USER_CONTEXT);
+        return service;
+    }
 }

Copied: 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java
 (from r1304244, 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServletsService.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java?p2=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java&p1=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServletsService.java&r1=1304244&r2=1305804&rev=1305804&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServletsService.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceContext.java
 Tue Mar 27 10:29:27 2012
@@ -17,26 +17,22 @@
 
 package org.apache.tomee.loader.service;
 
-import org.apache.openejb.BeanContext;
-import org.apache.openejb.core.ivm.BaseEjbProxyHandler;
-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.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.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;
 import java.util.Properties;
 
-public class ServletsService {
+public class ServiceContext {
     private final Context ctx;
+    private final JndiHelper jndiHelper;
+    private final TestHelper testHelper;
 
     public void close() {
         if (this.ctx == null) {
@@ -46,11 +42,11 @@ public class ServletsService {
         try {
             this.ctx.close();
         } catch (NamingException e) {
-            //do nothing
+            throw new ServiceException(e);
         }
     }
 
-    public ServletsService() {
+    public ServiceContext() {
         Context ctx = null;
         {
             final Properties properties = new Properties();
@@ -59,79 +55,20 @@ public class ServletsService {
             try {
                 ctx = new InitialContext(properties);
             } catch (NamingException e) {
-                //do nothing
+                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) throws 
NamingException {
-        final List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
-
-        if (this.ctx == null) {
-            return Collections.emptyList(); //do nothing
-        }
-        mountJndiList(result, this.ctx, path);
-        return result;
-    }
-
-    private void mountJndiList(List<Map<String, Object>> jndi, Context 
context, String root) throws NamingException {
-        final NamingEnumeration namingEnumeration;
-        try {
-            namingEnumeration = context.list(root);
-        } catch (NamingException e) {
-            //not found?
-            return;
-        }
-        while (namingEnumeration.hasMoreElements()) {
-            final NameClassPair pair = (NameClassPair) 
namingEnumeration.next();
-            final String key = root + "/" + pair.getName();
-            final Object obj;
-            try {
-                obj = context.lookup(key);
-            } catch (NamingException e) {
-                //not found?
-                continue;
-            }
-
-            if (Context.class.isInstance(obj)) {
-                mountJndiList(jndi, Context.class.cast(obj), key);
-            } else {
-                final Map<String, Object> dto = new HashMap<String, Object>();
-                dto.put("path", key);
-                dto.put("name", pair.getName());
-                dto.put("value", getStr(obj));
-
-                jndi.add(dto);
-            }
-        }
-    }
-
-    private void populateClassList(List<String> list, List<Class> classes) {
-        if (classes == null) {
-            return;
-        }
-        for (Class<?> cls : classes) {
-            list.add(getStr(cls));
-        }
-    }
-
-    private BeanContext getDeployment(String deploymentID) {
-        ContainerSystem containerSystem = 
SystemInstance.get().getComponent(ContainerSystem.class);
-        BeanContext ejb = containerSystem.getBeanContext(deploymentID);
-        return ejb;
+    public List<Map<String, Object>> getJndi(String path) {
+        return this.jndiHelper.getJndi(path);
     }
 
-    private String getDeploymentId(Object ejbObj) throws NamingException {
-        final BaseEjbProxyHandler handler = (BaseEjbProxyHandler) 
ProxyManager.getInvocationHandler(ejbObj);
-        return getStr(handler.deploymentID);
-    }
-
-    private String getStr(Object value) {
-        if (value == null) {
-            return null;
-        }
-        return String.valueOf(value);
+    public List<Map<String, Object>> getTest() {
+        return this.testHelper.getTestResults();
     }
 }

Added: 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceException.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceException.java?rev=1305804&view=auto
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceException.java
 (added)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/ServiceException.java
 Tue Mar 27 10:29:27 2012
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tomee.loader.service;
+
+public class ServiceException extends RuntimeException {
+
+    public ServiceException(Throwable cause) {
+        super(cause);
+    }
+
+}

Added: 
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=1305804&view=auto
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java
 (added)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelper.java
 Tue Mar 27 10:29:27 2012
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tomee.loader.service.helper;
+
+import java.util.List;
+import java.util.Map;
+
+public interface JndiHelper {
+
+    List<Map<String, Object>> getJndi(String path);
+
+}

Added: 
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=1305804&view=auto
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
 (added)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
 Tue Mar 27 10:29:27 2012
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tomee.loader.service.helper;
+
+import org.apache.openejb.BeanContext;
+import org.apache.openejb.core.ivm.BaseEjbProxyHandler;
+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.ServiceException;
+
+import javax.naming.Context;
+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;
+
+
+    public JndiHelperImpl(Context ctx) {
+        this.ctx = ctx;
+    }
+
+    @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);
+        } catch (NamingException e) {
+            //Throwing a runtimeexception instead.
+            throw new ServiceException(e);
+        }
+
+        return result;
+    }
+
+    private void mountJndiList(List<Map<String, Object>> jndi, Context 
context, String root) throws NamingException {
+        final NamingEnumeration namingEnumeration;
+        try {
+            namingEnumeration = context.list(root);
+        } catch (NamingException e) {
+            //not found?
+            return;
+        }
+        while (namingEnumeration.hasMoreElements()) {
+            final NameClassPair pair = (NameClassPair) 
namingEnumeration.next();
+            final String key = pair.getName();
+
+            System.out.println("(A)");
+
+            final Object obj;
+            try {
+                obj = context.lookup(key);
+            } catch (NamingException e) {
+                //not found?
+                continue;
+            }
+
+            if (Context.class.isInstance(obj)) {
+                mountJndiList(jndi, Context.class.cast(obj), key);
+            } else {
+                final Map<String, Object> dto = new HashMap<String, Object>();
+                dto.put("path", key);
+                dto.put("name", pair.getName());
+                dto.put("value", getStr(obj));
+
+                jndi.add(dto);
+            }
+        }
+    }
+
+    private void populateClassList(List<String> list, List<Class> classes) {
+        if (classes == null) {
+            return;
+        }
+        for (Class<?> cls : classes) {
+            list.add(getStr(cls));
+        }
+    }
+
+    private BeanContext getDeployment(String deploymentID) {
+        ContainerSystem containerSystem = 
SystemInstance.get().getComponent(ContainerSystem.class);
+        BeanContext ejb = containerSystem.getBeanContext(deploymentID);
+        return ejb;
+    }
+
+    private String getDeploymentId(Object ejbObj) throws NamingException {
+        final BaseEjbProxyHandler handler = (BaseEjbProxyHandler) 
ProxyManager.getInvocationHandler(ejbObj);
+        return getStr(handler.deploymentID);
+    }
+
+    private String getStr(Object value) {
+        if (value == null) {
+            return null;
+        }
+        return String.valueOf(value);
+    }
+}

Added: 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelper.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelper.java?rev=1305804&view=auto
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelper.java
 (added)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelper.java
 Tue Mar 27 10:29:27 2012
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tomee.loader.service.helper;
+
+import java.util.List;
+import java.util.Map;
+
+public interface TestHelper {
+
+    List<Map<String, Object>> getTestResults();
+
+}

Added: 
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=1305804&view=auto
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java
 (added)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/TestHelperImpl.java
 Tue Mar 27 10:29:27 2012
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tomee.loader.service.helper;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+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;
+    }
+
+    @Override
+    public List<Map<String, Object>> getTestResults() {
+        final List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
+
+        {
+            final String homePath = System.getProperty("openejb.home");
+            result.add(createDTO("homeSet", !(homePath == null)));
+
+            final File openejbHome = new File(homePath);
+            result.add(createDTO("homeExists", openejbHome.exists()));
+
+            result.add(createDTO("homeDirectory", openejbHome.isDirectory()));
+
+            final File openejbHomeLib;
+            if (org.apache.tomee.common.TomcatVersion.v6.isTheVersion()
+                    || 
org.apache.tomee.common.TomcatVersion.v7.isTheVersion()) {
+                openejbHomeLib = new File(openejbHome, "lib");
+            } else {
+                final File common = new File(openejbHome, "common");
+                openejbHomeLib = new File(common, "lib");
+            }
+            result.add(createDTO("libDirectory", openejbHomeLib.exists()));
+        }
+
+        {
+            ClassLoader myLoader = this.getClass().getClassLoader();
+
+            try {
+                Class openejb = Class.forName("org.apache.openejb.OpenEJB", 
true, myLoader);
+                result.add(createDTO("openEjbInstalled", true));
+
+                try {
+                    Method isInitialized = 
openejb.getDeclaredMethod("isInitialized");
+                    Boolean running = (Boolean) isInitialized.invoke(openejb);
+                    result.add(createDTO("openEjbStarted", running));
+                } catch (Exception e) {
+                    result.add(createDTO("openEjbStarted", false));
+                }
+            } catch (Exception e) {
+                result.add(createDTO("openEjbInstalled", false));
+            }
+
+            try {
+                Class.forName("javax.ejb.EJBHome", true, myLoader);
+                result.add(createDTO("ejbsInstalled", true));
+            } catch (Exception e) {
+                result.add(createDTO("ejbsInstalled", false));
+            }
+
+            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("");
+
+                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;
+    }
+
+    private Map<String, Object> createDTO(String key, boolean success) {
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("key", key);
+        result.put("success", success);
+        return result;
+    }
+}

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=1305804&r1=1305803&r2=1305804&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
 Tue Mar 27 10:29:27 2012
@@ -18,17 +18,9 @@
 package org.apache.tomee.loader.servlet;
 
 import com.google.gson.Gson;
-import org.apache.openejb.BeanContext;
-import org.apache.openejb.core.ivm.BaseEjbProxyHandler;
-import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.spi.ContainerSystem;
-import org.apache.openejb.util.proxy.ProxyManager;
 import org.apache.tomee.loader.listener.UserSessionListener;
-import org.apache.tomee.loader.service.ServletsService;
+import org.apache.tomee.loader.service.ServiceContext;
 
-import javax.naming.Context;
-import javax.naming.NameClassPair;
-import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -62,7 +54,7 @@ public class JndiServlet extends HttpSer
     public List<Map<String, Object>> get(HttpSession session) throws 
NamingException {
         final List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
 
-        final ServletsService service = (ServletsService) 
session.getAttribute(UserSessionListener.USER_CONTEXT);
+        final ServiceContext service = UserSessionListener.getServiceContext 
(session);
         if (service == null) {
             return Collections.emptyList(); //do nothing
         }

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=1305804&r1=1305803&r2=1305804&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
 Tue Mar 27 10:29:27 2012
@@ -18,23 +18,20 @@
 package org.apache.tomee.loader.servlet;
 
 import com.google.gson.Gson;
-import org.apache.tomee.loader.dto.TestDTO;
+import org.apache.tomee.loader.listener.UserSessionListener;
+import org.apache.tomee.loader.service.ServiceContext;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.File;
+import javax.servlet.http.HttpSession;
 import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 public class TestServlet extends HttpServlet {
 
@@ -43,7 +40,7 @@ public class TestServlet extends HttpSer
         final String json;
         try {
             final Map<String, Object> result = new HashMap<String, Object>();
-            result.put("test", get());
+            result.put("test", get(req.getSession()));
             json = new Gson().toJson(result);
         } catch (NamingException e) {
             throw new ServletException(e);
@@ -53,81 +50,14 @@ public class TestServlet extends HttpSer
         resp.getWriter().write(json);
     }
 
-    private List<TestDTO> get() throws NamingException {
-        final List<TestDTO> result = new ArrayList<TestDTO>();
-
-        {
-            final String homePath = System.getProperty("openejb.home");
-            result.add(createDTO("homeSet", !(homePath == null)));
-
-            final File openejbHome = new File(homePath);
-            result.add(createDTO("homeExists", openejbHome.exists()));
-
-            result.add(createDTO("homeDirectory", openejbHome.isDirectory()));
-
-            final File openejbHomeLib;
-            if (org.apache.tomee.common.TomcatVersion.v6.isTheVersion()
-                    || 
org.apache.tomee.common.TomcatVersion.v7.isTheVersion()) {
-                openejbHomeLib = new File(openejbHome, "lib");
-            } else {
-                final File common = new File(openejbHome, "common");
-                openejbHomeLib = new File(common, "lib");
-            }
-            result.add(createDTO("libDirectory", openejbHomeLib.exists()));
-        }
-
-        {
-            ClassLoader myLoader = this.getClass().getClassLoader();
-
-            try {
-                Class openejb = Class.forName("org.apache.openejb.OpenEJB", 
true, myLoader);
-                result.add(createDTO("openEjbInstalled", true));
-
-                try {
-                    Method isInitialized = 
openejb.getDeclaredMethod("isInitialized");
-                    Boolean running = (Boolean) isInitialized.invoke(openejb);
-                    result.add(createDTO("openEjbStarted", running));
-                } catch (Exception e) {
-                    result.add(createDTO("openEjbStarted", false));
-                }
-            } catch (Exception e) {
-                result.add(createDTO("openEjbInstalled", false));
-            }
-
-            try {
-                Class.forName("javax.ejb.EJBHome", true, myLoader);
-                result.add(createDTO("ejbsInstalled", true));
-            } catch (Exception e) {
-                result.add(createDTO("ejbsInstalled", false));
-            }
-
-            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("");
-
-                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));
-            }
+    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();
 
-
-        return result;
     }
 
-    private TestDTO createDTO(String key, boolean success) {
-        TestDTO result = new TestDTO();
-        result.key = key;
-        result.success = success;
-        return result;
-    }
+
 }

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=1305804&r1=1305803&r2=1305804&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
 Tue Mar 27 10:29:27 2012
@@ -16,19 +16,24 @@
  */
 package org.apache.tomee.loader.test;
 
-import org.apache.tomee.loader.service.ServletsService;
+import org.apache.tomee.loader.service.ServiceContext;
 import org.junit.Test;
 
 import java.util.List;
+import java.util.Map;
 
 public class UserSessionTest {
 
     @Test()
     public void test() throws Exception {
 
-        final ServletsService service = new ServletsService();
-        final List<?> result = service.getJndi("");
+        final ServiceContext service = new ServiceContext();
+        final List<Map<String, Object>> result = service.getJndi("");
         org.junit.Assert.assertNotNull(result);
         org.junit.Assert.assertFalse(result.isEmpty());
+
+        for(Map<String, Object> bean : result) {
+            System.out.println("BEAN -> " + bean);
+        }
     }
 }


Reply via email to