Author: tveronezi
Date: Wed Jun 13 03:04:17 2012
New Revision: 1349621
URL: http://svn.apache.org/viewvc?rev=1349621&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* lookup the bean and save it as a "saved object".
Added:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/application/
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/application/ApplicationData.java
- copied, changed from r1349563,
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/ApplicationListener.java
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/UserSessionListener.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java
Copied:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/application/ApplicationData.java
(from r1349563,
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java)
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/application/ApplicationData.java?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/application/ApplicationData.java&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java&r1=1349563&r2=1349621&rev=1349621&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/application/ApplicationData.java
Wed Jun 13 03:04:17 2012
@@ -15,41 +15,9 @@
* limitations under the License.
*/
-package org.apache.tomee.webapp;
+package org.apache.tomee.webapp.application;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
+public class ApplicationData {
-public class SessionData {
- private final Map<String, Object> saved = Collections.synchronizedMap(new
HashMap<String, Object>());
- private final Context initCtx;
-
- public SessionData() {
- final Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.core.LocalInitialContextFactory");
- p.put("openejb.loader", "embed");
-
- final Context initCtx;
- try {
- initCtx = new InitialContext(p);
- } catch (NamingException e) {
- throw new TomeeException(e);
- }
- this.initCtx = initCtx;
- }
-
- public Map<String, Object> getSaved() {
- return this.saved;
- }
-
- public Context getUserContext() {
- return this.initCtx;
-
- }
}
Added:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/ApplicationListener.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/ApplicationListener.java?rev=1349621&view=auto
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/ApplicationListener.java
(added)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/ApplicationListener.java
Wed Jun 13 03:04:17 2012
@@ -0,0 +1,42 @@
+/*
+ * 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.webapp.listener;
+
+import org.apache.tomee.webapp.application.ApplicationData;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.http.HttpSession;
+
+public class ApplicationListener implements ServletContextListener {
+ private static final String CONTEXT_KEY =
"ApplicationListener_APP_CONTEXT";
+
+ @Override
+ public void contextInitialized(ServletContextEvent servletContextEvent) {
+ servletContextEvent.getServletContext().setAttribute(CONTEXT_KEY, new
ApplicationData());
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent servletContextEvent) {
+ //nothing
+ }
+
+ public static ApplicationData getServiceContext(HttpSession session) {
+ return (ApplicationData)
session.getServletContext().getAttribute(CONTEXT_KEY);
+ }
+}
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/UserSessionListener.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/UserSessionListener.java?rev=1349621&r1=1349620&r2=1349621&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/UserSessionListener.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listener/UserSessionListener.java
Wed Jun 13 03:04:17 2012
@@ -25,11 +25,11 @@ import javax.servlet.http.HttpSessionLis
import java.util.HashMap;
public class UserSessionListener implements HttpSessionListener {
- private static final String USER_CONTEXT =
"UserSessionListener_USER_CONTEXT";
+ private static final String CONTEXT_KEY =
"UserSessionListener_USER_CONTEXT";
@Override
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
- httpSessionEvent.getSession().setAttribute(USER_CONTEXT, new
SessionData());
+ httpSessionEvent.getSession().setAttribute(CONTEXT_KEY, new
SessionData());
//this i used by the old tomee gui
//TODO: remove me once the new gui is ready
@@ -42,6 +42,6 @@ public class UserSessionListener impleme
}
public static SessionData getServiceContext(HttpSession session) {
- return (SessionData) session.getAttribute(USER_CONTEXT);
+ return (SessionData) session.getAttribute(CONTEXT_KEY);
}
}
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java?rev=1349621&r1=1349620&r2=1349621&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java
Wed Jun 13 03:04:17 2012
@@ -37,7 +37,7 @@ public class SessionDataServlet extends
final Map<String, Object> savedObjs =
UserSessionListener.getServiceContext(req.getSession()).getSaved();
for (String key : savedObjs.keySet()) {
- json.put(key, savedObjs.get(key));
+ json.put(key, String.valueOf(savedObjs.get(key)));
}
}
});