On 02.02.2004 23:20, Phil Blake wrote:
How do I access the javax.servlet.http.HttpSession from within XSP?
I know I have xsp-session but it is a org.apache.cocoon.environment.Session
And request.getSession() also returns a org.apache.cocoon.environment.Session
I've seen that the org.apache.cocoon.environment.http.HttpSession is created from the javax.servlet.http.HttpSession but I can't see how to access it from there.


I don't know exactly as I do not have written the code, but I think hiding the HttpSession was intended. You only shall access the Cocoon specific Session.

What exactly do you want to do?


I am using the database framework Cayenne. Like most web based client/server frameworks, it requires that you pass it an HttpSession to retrieve a context for that HttpSession.

As there is no option here, I must supply the HttpSession, the question is - does cocoon provide access to it?

I guess I could re-create a standard HttpSession from the cocoon HttpSession, but usually when I'm backed into such an ugly hack, it's because I haven't found the "proper" way. I'm assuming that cocoon would not completely obscure the standard HttpSession - even if it's wrapped it. Does anyone know the real story?

Cocoon's HttpSession is just a wrapper around standard servlet HttpSession, but does not really give access to it. Have a look into the source code:
http://cvs.apache.org/viewcvs.cgi/*checkout*/cocoon-2.1/src/java/org/apache/cocoon/environment/http/HttpSession.java?content-type=text%2Fplain&rev=1.2
As the wrappedSession field has only default access and the class is even final there remains only the way of adding an additional class in the same package to get the unwrapped HttpSession - that's obviously the "ugly hack".
I cc Carsten as he wrote the Cocoon HttpSession, maybe he knows of a more standard way to get the unwrapped HttpSession.


Joerg

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



Reply via email to