I have updated the code based on Johan's suggestion. Still no luck.

public Session newSession(Request request, Response response) {
  ......
  Session session = new Session(request);
  return session;
}


public RequestCycle newRequestCycle(Request request, Response response) {
   return new WebRequestCycle(this, request, response) {
   if(Session.exists() && <certain condiition is met>) {   <----- The
method Session.exists() still returns false
        Session  mySession = Session.get();
        mySession.invalidateNow();
   }

   };
}


On Tue, Mar 11, 2008 at 12:02 PM, Johan Compagner <[EMAIL PROTECTED]> wrote:
> RequestCycle is first made and the the Session is being resolved.
>  Because the session creation code needs the request cycle first.
>  So thats why your code doesn't work
>
>  that test that you want should be done in Requestcycle.onBeginRequest
>
>
>
>  On Tue, Mar 11, 2008 at 4:47 PM, Rajiv Jivan <[EMAIL PROTECTED]> wrote:
>
>  > Yes I did. I was assuming that once newSession is called, on
>  > subsequent calls, the session will be set on a thread local variable.
>  > If that is not the case, what would be the right way to check if a
>  > session has been created.
>  >
>  > On Tue, Mar 11, 2008 at 10:32 AM, Martijn Dashorst
>  > <[EMAIL PROTECTED]> wrote:
>  > > Did you read the javadoc for Session#exists() ?
>  > >
>  > >  http://wicket.sourceforge.net/apidocs/wicket/Session.html#exists()
>  > >
>  > >  "Checks if the Session threadlocal is set in this thread"
>  > >
>  > >  So not if the session was created or not.
>  > >
>  > >  Martijn
>  > >
>  > >
>  > >
>  > >
>  > >  On 3/11/08, Rajiv Jivan <[EMAIL PROTECTED]> wrote:
>  > >  > I am having a tough time understanding how sessions are
>  > >  >  created/managed specifically related to the calls
>  > >  >
>  > >  >  public RequestCycle newRequestCycle(Request request, Response
>  > response)
>  > >  >
>  > >  >  and
>  > >  >
>  > >  >  public Session newSession(Request request, Response response)
>  > >  >
>  > >  >  I am creating a new session by overriding the method newSession and
>  > >  >  doing something like
>  > >  >
>  > >  >  public Session newSession(Request request, Response response) {
>  > >  >    ......
>  > >  >    Session session = new Session(request);
>  > >  >    return session;
>  > >  >  }
>  > >  >
>  > >  >  This works fine. On subsequent calls, newSession isn't called as a
>  > >  >  session is already in place. This is working as expected.
>  > >  >
>  > >  >  What isn't working is the call
>  > >  >  to Session.exists(), this is always returning false when its invoked
>  > >  >  in the method newRequestCycle which I override.
>  > >  >
>  > >  >  public RequestCycle newRequestCycle(Request request, Response
>  > response) {
>  > >  >     if(Session.exists() && <certain condiition is met>) {   <-----
>  > The
>  > >  >  method Session.exists() is always returning false
>  > >  >          Session  mySession = Session.get();
>  > >  >          mySession.invalidateNow();
>  > >  >     }
>  > >  >  }
>  > >  >  }
>  > >  >
>  > >  >  Can someone explain why Session.exists() always returns false, and
>  > if
>  > >  >  the session truly doesn't exist why newSession isn't called after
>  > the
>  > >  >  first invocation
>  > >  >
>  > >  >
>  >  ---------------------------------------------------------------------
>  > >  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  > >  >  For additional commands, e-mail: [EMAIL PROTECTED]
>  > >  >
>  > >  >
>  > >
>  > >
>  > >  --
>  > >  Buy Wicket in Action: http://manning.com/dashorst
>  > >  Apache Wicket 1.3.1 is released
>  > >  Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.1
>  > >
>  > >  ---------------------------------------------------------------------
>  > >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  > >  For additional commands, e-mail: [EMAIL PROTECTED]
>  > >
>  > >
>  >
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: [EMAIL PROTECTED]
>  > For additional commands, e-mail: [EMAIL PROTECTED]
>  >
>  >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to