vgritsenko    2004/05/17 11:39:58

  Modified:    src/java/org/apache/cocoon/components/flow/javascript/fom
                        FOM_JavaScriptInterpreter.java
  Log:
  Replace check for session with try/catch block
  
  Revision  Changes    Path
  1.30      +8 -3      
cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java
  
  Index: FOM_JavaScriptInterpreter.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- FOM_JavaScriptInterpreter.java    5 May 2004 17:08:05 -0000       1.29
  +++ FOM_JavaScriptInterpreter.java    17 May 2004 18:39:58 -0000      1.30
  @@ -377,8 +377,8 @@
       private Scriptable setSessionScope(Scriptable scope) throws Exception {
           Request request = ContextHelper.getRequest(this.avalonContext);
   
  -        // Check that session is available (avoids IllegalStateException)
  -        if (request.isRequestedSessionIdValid()) {
  +        // FIXME: Where "session scope" should go when session is 
invalidated?
  +        try {
               Session session = request.getSession(true);
   
               HashMap userScopes = 
(HashMap)session.getAttribute(USER_GLOBAL_SCOPE);
  @@ -389,6 +389,11 @@
   
               // Attach the scope to the current context
               userScopes.put(getSitemapPath(), scope);
  +        } catch (IllegalStateException e) {
  +            // Session might be invalidated already.
  +            if (getLogger().isDebugEnabled()) {
  +                getLogger().debug("Got '" + e + "' while trying to set 
session scope.", e);
  +            }
           }
           return scope;
       }
  
  
  

Reply via email to