cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cypher !" <cyphe...@hotmail.com>
Subject RE: accessing cayenne sessions
Date Tue, 04 Apr 2006 22:41:43 GMT
Or is this a better method, using the Listener in Servlet 2.4 rather than 
the filter in Servlet 2.3

<listener>
   
<listener-class>org.objectstyle.cayenne.conf.WebApplicationContextProvider</listener-class>
</listener>

Sample DataContext retrieval code:

import org.objectstyle.cayenne.access.DataContext;
...
// get session DataContext bound to the current request thread
DataContext context = DataContext.getThreadDataContext();

What are the advantages.


From: "Cypher her" <cypher6x@hotmail.com>
Reply-To: cayenne-user@incubator.apache.org
To: cayenne-user@incubator.apache.org
Subject: RE: accessing cayenne sessions
Date: Tue, 04 Apr 2006 22:36:53 +0000

Hi

I am using Tapestry 4, Java 1.5, JBoss 4 and Cayenne 1.2.

So if I undrstand you correctly I can create a subclass of BasePage which 
will have a getSession() method. But in that page, to get the session I 
would need to use the WebApplicationContextFilter and do something like

add his to my web.xml

<filter>
    <filter-name>CayenneFilter</filter-name>
    
<filter-class>org.objectstyle.cayenne.conf.WebApplicationContextFilter</filter-class>
</filter>
...
<filter-mapping>
    <filter-name>CayenneFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

and create a class like this

import org.objectstyle.cayenne.access.DataContext;

public class MyBasePage extends BasePage
{

    public DataContext getDataContext()
    {
        return DataContext.getThreadDataContext();
    }
}

and all of  my pages should subclass MyBasePage. And I am assuming Tapestry 
and the servlet container will take care of making sure the Session is 
consistent throughout the workflow i.e. each user gets a unique DataContext 
and they maintain the same DataContext from page to page until the session 
times out..

Thanks again for your help.

Lawrence


From: "Gentry, Michael (Contractor)" <michael_gentry@fanniemae.com>
Reply-To: cayenne-user@incubator.apache.org
To: <cayenne-user@incubator.apache.org>
Subject: RE: accessing cayenne sessions
Date: Tue, 4 Apr 2006 10:45:29 -0400

Yes, but using Tapestry you can have a common superclass for your pages
that provides a getSession() method and it works transparently.  You
don't need to think about Http*.

/dev/mrg


-----Original Message-----
From: Mike Kienenberger [mailto:mkienenb@gmail.com]
Sent: Tuesday, April 04, 2006 10:26 AM
To: cayenne-user@incubator.apache.org
Subject: Re: accessing cayenne sessions


On 4/4/06, Cyp her <cypher6x@hotmail.com> wrote:
 > * Are there any convenient methods for accessing the Session like in
 > WebObjects where there is a session class in the application?

In servlets, there's an HttpSession object that you can pull out of
the HttpServletRequest.   Instead of being a subclassable object, it
instead holds references to a Map (think NSDictionary) where you can
store objects the entire session.  How you get a reference to your
HttpSession object depends on the framework.

http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/http/Http
Session.html

_________________________________________________________________
Be the first to hear what's new at MSN - sign up to our free newsletters! 
http://www.msn.co.uk/newsletters

_________________________________________________________________
The new MSN Search Toolbar now includes Desktop search! 
http://join.msn.com/toolbar/overview


Mime
View raw message