Jonas,
We always use Maven to load dependencies.  We never use GPL dependencies.
 If you have a question about the license of a dependency and its use in
Lift, please ping me privately.

What does Configgy have that Lift's Props and Logger doesn't?  I'm all for
enhancing Lift to be as good as Configgy (and Robey didn't have the
bandwidth to integrate Configgy into Lift, thus our own config management).

Thanks,

David

On Tue, Jun 9, 2009 at 9:34 AM, Jonas Bonér <jbo...@gmail.com> wrote:

>
> I am only depending on Lift through the Lift logger (switched from
> Configgy, which I actually like better).
> I am only depending on ScalaJPA through one single 'with
> ScalaEntityManager'.
> I could move it.
> What do the rest of you guys think?
>
> 2009/6/9 Derek Chen-Becker <dchenbec...@gmail.com>:
> > Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
> > would it be preferable to add the functionality there, or is there
> anything
> > Lift-specific?
> >
> > Derek
> >
> >
> > On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér <jbo...@gmail.com> wrote:
> >>
> >> Hey guys.
> >>
> >> I have hacked together an early draft of the JTA transaction stuff.
> >>
> >> I have wrapped it up in a monad. Here  are some examples of usage:
> >>
> >>  for {
> >>   ctx <- TransactionContext.Required
> >>   entity <- updatedEntities
> >>   if !ctx.isRollbackOnly
> >>  } {
> >>   // transactional stuff
> >>   ctx.getEntityManager.merge(entity)
> >>  }
> >>
> >> val users = for {
> >>   ctx <- TransactionContext.Required
> >>   name <- userNames
> >>  } yield {
> >>   // transactional stuff
> >>   val query = ctx.getEntityManager.createNamedQuery("findUserByName")
> >>   query.setParameter("userName", name)
> >>   query.getSingleResult
> >>  }
> >>
> >> If you don't like the monadic approach you can just use the high-order
> >> functions:
> >>
> >> TransactionContext.withTxRequired {
> >>    ... // REQUIRED semantics
> >>
> >>  TransactionContext.withTxRequiresNew {
> >>    ... // REQUIRES_NEW semantics
> >>  }
> >> }
> >>
> >> I have implemented the same semantics as used in the EJB spec.
> >> Required, RequiresNew, Mandatory, Supports, Never. All these are
> >> monadic objects in the TransactionContext object.
> >> I don't have a webapp to try this out, so I would be happy to get all
> >> kinds of feedback, but API wise and bug reports or fixes.
> >>
> >> This API is hooked into Derek's Scala-JPA stuff. I had my own impl of
> >> this but replaced it with Derek's work.
> >>
> >> Derek,
> >> please go through the integration to see if I have done it correctly,
> >> and where things code be improved.
> >>
> >> All committers,
> >> feel free to hack and change this code anyway you want.
> >>
> >> The code is in a branch (wip-jta-jonas), you can find it here:
> >>
> >>
> http://github.com/dpp/liftweb/tree/3783b9e2200cc57dd72baa1bd8cabdb1365ee923/lift-jta
> >>
> >> Check the ScalaDoc (or the source) for the documentation on usage,
> >> semantics etc.
> >> Also see the README for configuration in persistence.xml etc.
> >>
> >> Currently it is hard-coded to use the Atomikos Transaction library and
> >> Hibernate JPA, that would have to be configurable + some other options
> >> as well. See the TODOs in the code.
> >>
> >> As I said, this needs feedback and testing. Thanks.
> >>
> >> --
> >> Jonas Bonér
> >>
> >> twitter: @jboner
> >> blog:    http://jonasboner.com
> >> work:   http://crisp.se
> >> work:   http://scalablesolutions.se
> >> code:   http://github.com/jboner
> >>
> >>
> >
> >
> > >
> >
>
>
>
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:    http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>
> >
>


-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to