[Bedework-commit] r338 - in trunk/calendar3:
common/src/edu/rpi/sss/util/jsp webcommon/src/org/bedework/webcommon
svnadmin at bedework.org
svnadmin at bedework.org
Thu Apr 6 13:09:02 EDT 2006
Author: douglm
Date: 2006-04-06 13:09:01 -0400 (Thu, 06 Apr 2006)
New Revision: 338
Modified:
trunk/calendar3/common/src/edu/rpi/sss/util/jsp/UtilAbstractAction.java
trunk/calendar3/webcommon/src/org/bedework/webcommon/BwAbstractAction.java
Log:
Clean up and close on logout
Modified: trunk/calendar3/common/src/edu/rpi/sss/util/jsp/UtilAbstractAction.java
===================================================================
--- trunk/calendar3/common/src/edu/rpi/sss/util/jsp/UtilAbstractAction.java 2006-04-06 15:55:33 UTC (rev 337)
+++ trunk/calendar3/common/src/edu/rpi/sss/util/jsp/UtilAbstractAction.java 2006-04-06 17:09:01 UTC (rev 338)
@@ -312,7 +312,7 @@
Everything is set up and ready to go. Execute something
---------------------------------------------------------------- */
- forward = checkLogOut(request);
+ forward = checkLogOut(request, form);
if (forward != null) {
// Disable xslt filters
response.setContentType("text/html");
@@ -655,18 +655,29 @@
* Check logout
* ==================================================================== */
+ /** Clean up - we're about to logout
+ *
+ * @param request HttpServletRequest
+ * @return boolean true for OK to log out. False - not allowed - ignore it.
+ */
+ protected boolean logOutCleanup(HttpServletRequest request,
+ UtilActionForm form) {
+ return true;
+ }
+
/** Check for logout request.
*
* @param request HttpServletRequest
* @return null for continue, forwardLoggedOut to end session.
*/
- protected String checkLogOut(HttpServletRequest request)
+ protected String checkLogOut(HttpServletRequest request,
+ UtilActionForm form)
throws Throwable {
String temp = request.getParameter(requestLogout);
if (temp != null) {
HttpSession sess = request.getSession(false);
- if (sess != null) {
+ if ((sess != null) && logOutCleanup(request, form)) {
sess.invalidate();
}
return forwardLoggedOut;
Modified: trunk/calendar3/webcommon/src/org/bedework/webcommon/BwAbstractAction.java
===================================================================
--- trunk/calendar3/webcommon/src/org/bedework/webcommon/BwAbstractAction.java 2006-04-06 15:55:33 UTC (rev 337)
+++ trunk/calendar3/webcommon/src/org/bedework/webcommon/BwAbstractAction.java 2006-04-06 17:09:01 UTC (rev 338)
@@ -788,6 +788,35 @@
return appname;
}
+ /* We should probably return false for a portlet
+ * (non-Javadoc)
+ * @see edu.rpi.sss.util.jsp.UtilAbstractAction#logOutCleanup(javax.servlet.http.HttpServletRequest)
+ */
+ protected boolean logOutCleanup(HttpServletRequest request,
+ UtilActionForm form) {
+ HttpSession hsess = request.getSession();
+ BwCallback cb = (BwCallback)hsess.getAttribute(BwCallback.cbAttrName);
+
+ if (cb == null) {
+ if (form.getDebug()) {
+ debugMsg("No cb object for logout");
+ }
+ } else {
+ if (form.getDebug()) {
+ debugMsg("cb object found for logout");
+ }
+ try {
+ cb.out();
+ } catch (Throwable t) {}
+
+ try {
+ cb.close();
+ } catch (Throwable t) {}
+ }
+
+ return true;
+ }
+
/** Ensure we have a CalAdminSvcI object for the given user.
*
* <p>For an admin client with a super user we may switch to a different
More information about the Bedework-commit
mailing list