You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by rm...@apache.org on 2012/07/05 20:14:36 UTC
svn commit: r1357781 - in
/incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet:
DispatcherServlet.java ServletRequestContext.java
Author: rmatthews
Date: Thu Jul 5 18:14:36 2012
New Revision: 1357781
URL: http://svn.apache.org/viewvc?rev=1357781&view=rev
Log:
ISIS-162 - Changed session set up so that session variables are stored from request to request, even when user is not logged in.
Modified:
incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/DispatcherServlet.java
incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/ServletRequestContext.java
Modified: incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/DispatcherServlet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/DispatcherServlet.java?rev=1357781&r1=1357780&r2=1357781&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/DispatcherServlet.java (original)
+++ incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/DispatcherServlet.java Thu Jul 5 18:14:36 2012
@@ -21,20 +21,17 @@ package org.apache.isis.viewer.scimpi.se
import java.io.IOException;
import java.util.Enumeration;
-import java.util.HashMap;
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 org.apache.log4j.Logger;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.viewer.scimpi.dispatcher.Dispatcher;
import org.apache.isis.viewer.scimpi.dispatcher.UserManager;
import org.apache.isis.viewer.scimpi.dispatcher.debug.DebugUsers;
+import org.apache.log4j.Logger;
public class DispatcherServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@@ -57,16 +54,6 @@ public class DispatcherServlet extends H
private void process(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
try {
final ServletRequestContext context = new ServletRequestContext(debugUsers);
- final HttpSession httpSession = request.getSession(false);
- // TODO when using version 3.0 of Servlet API use the HttpOnly
- // setting for improved security
- if (httpSession != null) {
- @SuppressWarnings("unchecked")
- final HashMap<String, Object> data = (HashMap<String, Object>) httpSession.getAttribute("scimpi-context");
- if (data != null) {
- context.setSessionData(data);
- }
- }
context.startRequest(request, response, getServletContext());
dispatcher.process(context, request.getServletPath());
} catch (final RuntimeException e) {
Modified: incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/ServletRequestContext.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/ServletRequestContext.java?rev=1357781&r1=1357780&r2=1357781&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/ServletRequestContext.java (original)
+++ incubator/isis/trunk/framework/viewer/scimpi/scimpi-servlet/src/main/java/org/apache/isis/viewer/scimpi/servlet/ServletRequestContext.java Thu Jul 5 18:14:36 2012
@@ -24,6 +24,7 @@ import java.io.InputStream;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.util.Enumeration;
+import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletContext;
@@ -151,6 +152,7 @@ public class ServletRequestContext exten
final String name = (String) parameterNames.nextElement();
addParameter(name, request.getParameter(name));
}
+ initSession();
}
public HttpServletRequest getRequest() {
@@ -221,11 +223,20 @@ public class ServletRequestContext exten
@Override
public void startHttpSession() {
+ addVariable("_auth_session", getSession(), Scope.SESSION);
+ }
+
+ private void initSession(){
final HttpSession httpSession = request.getSession(true);
+ // TODO when using version 3.0 of Servlet API use the HttpOnly setting for improved security
if (httpSession.getAttribute("scimpi-context") == null) {
final Map<String, Object> sessionData = getSessionData();
httpSession.setAttribute("scimpi-context", sessionData);
- addVariable("_authenticated", false, Scope.SESSION);
+ } else {
+ final HashMap<String, Object> data = (HashMap<String, Object>) httpSession.getAttribute("scimpi-context");
+ if (data != null) {
+ setSessionData(data);
+ }
}
}