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);
+ }
}
}