+1 good carma if you share points 2 and 3. ;-)

Cheers,
bob

2008/3/5, David Marko <[EMAIL PROTECTED]>:
>
>
> Can you share some code example of the integration?
>
> Thanks,
> David
>
>
>
>
> Robert Zeigler wrote:
> >
> > Hi Andreas,
> >
> > I'm using T5 + cayenne (2.x) right now.
> >
> > 1:
> > There are a variety of ways you could go about obtaining a data
> > context in your services.
> > 1) You could use the Cayenne-supplied servlet filter and obtain the
> > thread-local copy of the context
> > 2) You could use a RequestFilter to duplicate the functionality of the
> > Cayenne's servlet filter
> > 3) You could write a ContextProvider service, which provides the
> > context.
> >
> > In my case, I did a combination of 2 & 3.  I use a request filter to
> > check associate a data context with a request + current thread,
> > (either on a session-by-session basis or on a request-by-request
> > basis). I also have a ContextProvider service which I inject into
> > other services (by specifying it as a parameter in the service's
> > constructor).  Ultimately, my context provider grabs the (thread
> > local) context set by the request filter.
> >
> > 2:
> >    I would advocate having a method like: getReadonlyContext() in your
> > context provider service, which would contain your single, app-wide
> > context. Then in your pages and components, you can @Inject your
> > ContextProvider and grab the context.
> >
> > 3: You can contribute ValueEncoders, PrimaryKeyEncoders, etc. into
> > tapestry to handle your data objects.
> >
> > 4: Cayenne handles transactions for you transparently, unless you
> > explicitly handle them yourself.
> > So, in general, you have your form; your form submits; you perform
> > your object manipulations, and then you dataContext.commitChanges();
> > and all of those object manipulations will be wrapped in a db
> > transaction.
> >
> > Robert
> >
> > On Mar 5, 2008, at 3/56:05 AM , Andreas Pardeike wrote:
> >
> >> Hi,
> >>
> >> I have several T4 projects that use Cayenne successfully but now I
> >> would
> >> like to start a new project in T5. Though I think I got my head
> >> wrapped
> >> around the new IoC concept in T5, I still don't see the big picture.
> >>
> >> Maybe someone can provide me with pointers to examples or simply
> >> explain
> >> how I would set up the following:
> >>
> >> - My application *mostly* does data mining, that is, read-only
> >> access to
> >>  a couple of databases
> >>
> >> - At a few places, I would need to have write access but it's simple
> >> and
> >>  probably does not need transaction management (i.e. allow customers
> >> to
> >>  update their email address)
> >>
> >> - In my old projects, I have a shopping basket that builds temporary
> >> dao
> >>  objects until the user logs in. At that time, I merge those with the
> >>  actual dao's from the database
> >>
> >> - At a single point in the app (submitting the order), I actually need
> >>  transaction management
> >>
> >> - I would also love to go with Cayenne 3 and pojo dao's.
> >>
> >> My questions:
> >>
> >> 1) How do I provide an DataContext/ObjectContext to my services? Is it
> >>   as simple as injecting a ContextProvider into the service
> >> constructors?
> >>
> >> 2) Since I don't need transaction management most of the time, can I
> >> simply
> >>   use a global ASO that has a DataContext/ObjectContext which I then
> >> use
> >>   in my page classes if necessary?
> >>
> >> 3) How do I solve the serialization problem that arises when I
> >> submit forms
> >>   that contain dao's?
> >>
> >> 4) How do I handle my submit order where I *do* need transaction
> >> management?
> >>
> >> Any help appreciated,
> >> Andreas Pardeike
> >>
> >> ---------------------------------------------------------------------
> >> 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]
> >
> >
> >
>
>
> --
> View this message in context:
> http://www.nabble.com/T5%3A-Examples-for-Cayenne-integration--tp15848762p15860055.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to