[Lift] Re: Best method to protect most menu items?

2009-06-24 Thread Jeppe Nejsum Madsen

On 23 Jun 2009, David Pollak wrote:

 Jeppe, I just checked in code (it'll take 45 minutes to hit the Maven
 repo) that has global LocParams for each SiteMap.  The SiteMap
 constructor is now:
 
 SiteMap(globalParamFuncs: List[PartialFunction[Box[Req],
 Loc.LocParam]], kids: Menu*)
 
 You can put your Redirect stuff in like:
 
 List({
 case _ if !User.loggedIn_? = ...
 })

Brilliant! Works nicely. I ended up with this

  val menuDispatch:List[PartialFunction[Box[Req], Loc.LocParam]] = List({
   case Full(Req(profile :: login :: Nil , _, _)) = Hidden
   case Full(Req(profile :: lost_password :: Nil , _, _)) = Hidden
   case Full(Req(_, _, _)) if !User.loggedIn_? = Loc.EarlyResponse(() = 
Full(RedirectResponse(/profile/login?returnTo=+S.uri))) 
})

A couple of questions:

1) Why the need for Box[Req]? When will it be Empty?  

2) In the above I had to use Hidden as a dummy value to signal no
Loc. It might be useful with a Box[Loc.LocParam] as return value?

/Jeppe


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Anyone working on the flot widget?

2009-06-24 Thread Jeppe Nejsum Madsen

Hi,

We need to do quite a lot of charting in our app and after evaluating
several libraries we've settled on Flot (for now at least :-)

So I was happy to discover there was already some Flot integrations in
Lift. After having looked a bit at this, it seems there are some things
missing that we would need:

1) Better support for barcharts (ie specifying data series as (label, value))

2) Support for pie charts (patches exists for the JS part)

But before diving into this I thought to ask if anybody is already
working on the flot widget (or has other ideas for the Flot stuff)

/Jeppe

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: [scala] JPA question

2009-06-24 Thread TSP

Derek
Would you distinguish between what is achievable in a specific ORM
such as Hibernate from JPA in this statement or would you think it
applies to all. I've got to go with hibernate in any case because of
widespread use of UserTypes. Unlike Greg, in my case I can hand-craft
all my hibernate xml files if I need.

Tim

On Jun 23, 1:46 am, Derek Chen-Becker dchenbec...@gmail.com wrote:
 For sufficiently complex relationships, JPA is not a good fit. Beyond a
 certain point it's usually simpler to roll your own. I think that this is
 somewhat of a failing of the model, but it's not a simple problem to solve
 in the generic case.

 Derek

 On Mon, Jun 22, 2009 at 6:45 PM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:



  Ah, sorry, I lost track of the thread.

  On Mon, Jun 22, 2009 at 4:55 PM, Meredith Gregory 
  lgreg.mered...@gmail.com wrote:

  Derek,

  You are correct and i noted and reported this on Scala on Friday. However,
  if you have a chain of the form

  AbstractClass - Class -contains- AbstractClass -Class -contains- ...

  The @MappedSuperclass solution fails at level 2.

  Best wishes,

  --greg

  On Mon, Jun 22, 2009 at 3:52 PM, Derek Chen-Becker dchenbec...@gmail.com
   wrote:

  Something I just want to throw out into the discussion: Since you're
  using table-per-class, having a @Table annotation on AbstractContainer
  doesn't do anything since abstract classes can't have instances. Tables 
  are
  only generated for abstract classes if you're using a JOINED inheritance
  strategy. You might want to look at using the MappedSuperclass annotation
  for the abstract base class instead. If I change the AbstractContainer def
  to:

  @MappedSuperclass
  public abstract class AbstractContainer implements java.io.Serializable {

  and then modify MySampleFuContainer to:

  public class MySampleFuContainer extends AbstractContainer {

  then I seem to get the proper schema:

      create table lingo_production.MySampleFuContainer_table (
          id varchar(255) not null,
          uuid varchar(255),
          mysamplingmumble__idSuper varchar(255),
          primary key (id),
          unique (uuid)
      );

  Having said that, I think that the behavior you're currently seeing
  appears to be a bug.

  Derek

  On Mon, Jun 22, 2009 at 3:43 PM, Meredith Gregory 
  lgreg.mered...@gmail.com wrote:

  Kris,

  Herehttp://svn.biosimilarity.com/src/open/codesamples/trunk/hibernate/is
   a link to the self-contained example that now uses just Java. i included
  the target dir in the repo to speed up investigation, but you can just 
  blow
  that away and build from scratch. The example is currently written to
  Java1.6, but also exhibits the same behavior under Java1.5. To run the
  example

   svn co
 http://svn.biosimilarity.com/src/open/codesamples/trunk/hibernate
  ...
   env PATH=path-to-java1.6:$PATH JAVA_HOME=path-to-java1.6 mvn clean
  compile process-classes

  If you switch comment and decl at line 22 in
  src/main/java/maxb/hbex2/MySampleFuContainer.java then you see the error.
  The schema goes from

  create table lingo_production.MySampleFuContainer_table (
          id_AbstractContainer varchar(255) not null,
          varchar(255) not null,
          uuid varchar(255),
          mysamplingmumble__idSuper varchar(255),
          primary key (id),
          unique (uuid)
      );

  to

  create table lingo_production.MySampleFuContainer_table (
          id_AbstractContainer varchar(255) not null,
          id varchar(255),
          mysamplingmumble_ tinyblob,
          uuid varchar(255),
          primary key (id_AbstractContainer),
          unique (id_AbstractContainer)
      );

  Best wishes,

  --greg

  On Mon, Jun 22, 2009 at 1:38 PM, Meredith Gregory 
  lgreg.mered...@gmail.com wrote:

  Kris,

  Thanks for the suggestion. i've now got a tiny little example that
  compiles on its own that illustrates the problem. Changing the 
  inheritance
  strategy to JOINED makes no difference. Hibernate still does the wrong
  thing.

  Best wishes,

  --greg

  On Mon, Jun 22, 2009 at 8:55 AM, Kris Nuttycombe 
  kris.nuttyco...@gmail.com wrote:

  This may be off the mark, but I'm wondering if the reason that you're
  having difficulty with the parallel inheritance hierarchy problem is
  not your use of TABLE_PER_CLASS inheritance. In my application, I have
  a similar construct, but I am using JOINED_TABLE inheritance. This
  allows for a normal foreign key relationship to be created in the
  database between C2_table and the base table for CThing, with the
  result that Hibernate will generate the query for CThing member as a
  union. Using table per class inheritance, I would expect Hibernate to
  need to synthesize an additional dtype field in C2_table along with
  the key column in order to enforce the uniqueness of the keys to the
  joined entities, and I don't believe that it does this.

  I'm not sure how the fact that the code is generated is particularly
  relevant; 

[Lift] Re: Anyone working on the flot widget?

2009-06-24 Thread Timothy Perrett


I've not spoken with Francois for some time, but I'll ask him next time he's
online if he's able to make changes to the flot stuff. He's based in Chilli
so should be online later on.

Cheers, Tim

On 24/06/2009 09:15, Jeppe Nejsum Madsen je...@ingolfs.dk wrote:

 
 Hi,
 
 We need to do quite a lot of charting in our app and after evaluating
 several libraries we've settled on Flot (for now at least :-)
 
 So I was happy to discover there was already some Flot integrations in
 Lift. After having looked a bit at this, it seems there are some things
 missing that we would need:
 
 1) Better support for barcharts (ie specifying data series as (label, value))
 
 2) Support for pie charts (patches exists for the JS part)
 
 But before diving into this I thought to ask if anybody is already
 working on the flot widget (or has other ideas for the Flot stuff)
 
 /Jeppe
 
  
 



--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Thead safe part and transaction management in Lift

2009-06-24 Thread fan...@gmail.com

Hello guys,

I'm following my path through lift, and there is some part that are 
still not really clear for me.

First question: what parts of lift are thread safe ? In particular, does 
the request/response handling cycle is thread safe ? I thing so, but I 
didn't found any doc that assert that.

Second question: how transaction are handled with Lift default ORM 
layout ? I'm didn't see how we declare a transaction, and especially how 
one can handle rollbacks.

Any inputs or links toward resources answering these two points would be 
much appreciated !

Thanks in advance,

-- 
Francois Armand
http://fanf42.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Thead safe part and transaction management in Lift

2009-06-24 Thread marius d.



On Jun 24, 12:10 pm, fan...@gmail.com fan...@gmail.com wrote:
 Hello guys,

 I'm following my path through lift, and there is some part that are
 still not really clear for me.

 First question: what parts of lift are thread safe ? In particular, does
 the request/response handling cycle is thread safe ? I thing so, but I
 didn't found any doc that assert that.

Yes it is thread safe. It is one of the most fundamental design scopes
of lift. Do you have any specifics in mind that you need answers?


 Second question: how transaction are handled with Lift default ORM
 layout ? I'm didn't see how we declare a transaction, and especially how
 one can handle rollbacks.

Please see DB.scala commit/rollback semantics are there.


 Any inputs or links toward resources answering these two points would be
 much appreciated !

 Thanks in advance,

 --
 Francois Armandhttp://fanf42.blogspot.com
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Thead safe part and transaction management in Lift

2009-06-24 Thread fan...@gmail.com

marius d. a écrit :
 Yes it is thread safe. It is one of the most fundamental design scopes
 of lift. Do you have any specifics in mind that you need answers?

No, in fact I took as an assumption the thread-safety of 
request/response (and I saw some thread local call in the lift code), 
but it was to be sure :)


 Second question: how transaction are handled with Lift default ORM
 layout ? I'm didn't see how we declare a transaction, and especially how
 one can handle rollbacks.
 
 Please see DB.scala commit/rollback semantics are there.

OK, I see the code, and I discover a buildLoanWrapper that perhaps I 
could call in Boot class, to have default behaviour for transaction.

Thank you very much for your answers !

-- 
Francois Armand
http://fanf42.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Thead safe part and transaction management in Lift

2009-06-24 Thread marius d.



On Jun 24, 2:18 pm, fan...@gmail.com fan...@gmail.com wrote:
 marius d. a écrit :

  Yes it is thread safe. It is one of the most fundamental design scopes
  of lift. Do you have any specifics in mind that you need answers?

 No, in fact I took as an assumption the thread-safety of
 request/response (and I saw some thread local call in the lift code),
 but it was to be sure :)

We use thread locals quite a bit for request life cycle state
management. i.e. in S object, RequestVar etc. It is a concise model of
scoping state.


  Second question: how transaction are handled with Lift default ORM
  layout ? I'm didn't see how we declare a transaction, and especially how
  one can handle rollbacks.

  Please see DB.scala commit/rollback semantics are there.

 OK, I see the code, and I discover a buildLoanWrapper that perhaps I
 could call in Boot class, to have default behaviour for transaction.

 Thank you very much for your answers !

 --
 Francois Armandhttp://fanf42.blogspot.com
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: lift and mysql

2009-06-24 Thread Peter Robinett

People using MySQL might also want to consider putting their database
connection information in a props file. See
http://groups.google.com/group/liftweb/browse_thread/thread/763cbe16259ce3ea.

Perhaps something to add to the wiki?

Peter

On Jun 23, 12:48 pm, David Pollak feeder.of.the.be...@gmail.com
wrote:
 Rog,

 Thanks for pointing to this old wiki page.  I've changed Can - Box.  I've
 updated the wiki.

 And, yes, it should work.

 Thanks,

 David



 On Tue, Jun 23, 2009 at 11:01 AM, Rogelio rogbo...@gmail.com wrote:

  Hi All,

  I'm new to Lift so forgive me if this is old news -- I did not see
  this info in a search of the
  group archive.

  I've been trying to get Lift to work with MySQL following the
  instructions on the
  wiki:  http://wiki.liftweb.net/index.php/HowTo_configure_lift_with_MySQL

  I kept getting an error that  Can was an unresolved symbol in line 2
  of this section of code:

  code
  object DBVendor extends ConnectionManager {
   def newConnection(name: ConnectionIdentifier): Can[Connection] = {
    try {
      Class.forName(com.mysql.jdbc.Driver)
      val dm = DriverManager.getConnection(jdbc:mysql://localhost/name-
  of-your-database?user=rootpassword=mysql-password)
      Full(dm)
    } catch {
      case e : Exception = e.printStackTrace; Empty
    }
   }
   def releaseConnection(conn: Connection) {conn.close}
  }
  /code

  I found that if I replaced the word Can with Box (ie Box
  [Connection]), then I was able to
  get the wiki instructions to work.  I also has to preface the two
  import statement in the
  wiki with _root_.  So far it appears to work, but others with more
  experience may want
  to weigh in.

  Thanks,
  Rog

 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://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
-~--~~~~--~~--~--~---



[Lift] Re: Is there any eclipse setup that actually works for lift?

2009-06-24 Thread Ellis

Hello Everyone,

Thanks for all your suggestions and the version numbers -- I'll give
them a try.

I tried NetBeans 6.7RC3 yesterday, btw, but its maven+scala support
has a major bug with regard to compiler errors, so it's no better than
my experience with Eclipse at this time.  (The plugin versions were
Maven 4.2 and Scala Kit 0.15.0)

Cheers,
Ellis


On Jun 23, 6:30 am, Rudi Engelbrecht rudis...@gmail.com wrote:
 Hi Dano

 I am using the debugger in IntelliJ IDEA and it works seamlessly -  
 stepping through Scala code - I find stepping through code helps  
 learning the Lift framework.

 If you are not committed to using a specific IDE, then trying IntelliJ  
 will be a useful investment - you can download a 30 day trial - it has  
 been my favourite Java IDE for the past 8 years.

 Regards

 Rudi

 Cell: +27 82 551 0582

 On 23 Jun 2009, at 12:20 AM, Dano olearydani...@gmail.com wrote:



  Rudi,

  Thanks for posting your Intellij specifics.  Wondering if you are
  using the debugger and find that it works for your scala/lift
  debugging?

  Dano

  On Jun 22, 2:57 pm, Rudi Engelbrecht rudis...@gmail.com wrote:
  I know you are looking for a working Eclipse configuration, but I  
  have
  had great success and stability with

  IntelliJ IDEA 8.1.2
  Scala 2.7.4
  The Scala plugin for IDEA
  Lift 1.0

  I can do mvn jetty:run from the IDE and what is really cool is that
  I can set breakpoints and debug the mvn jetty:run target from IDEA
  and then explore the scala code.

  Just thought I will post version numbers of a working environment.

  Regards

  Rudi

  On 22 Jun 2009, at 8:35 PM, David Pollak

  feeder.of.the.be...@gmail.com wrote:

  On Mon, Jun 22, 2009 at 11:25 AM, Ellis ellis.whiteh...@gmail.com
  wrote:

  Hello David,

  Thanks for your reply.  Do you know whether lift *should* work with
  scala 2.8 when we pull it from the maven repositories?

  Lift currently only works with Scala 2.7.4.  You can use Eclipse and
  2.7.5 to edit Lift files, but Lift must be deployed against 2.7.4.

  We will have a branch of Lift (Jorge... you got this running yet)
  building against 2.8, but it will be experimental.

  I have experienced a fair number of suboptimalities with Lift and
  Eclipse in the last 3 weeks with the 2.7.5 stable plugin.  I have
  had success recently with NetBeans, IntelliJ, and emacs.

   If so, then
  I'll try deleting my ~/.m2 as Tim suggested.

  Thanks,
  Ellis

  On Jun 22, 8:14 pm, David Pollak feeder.of.the.be...@gmail.com
  wrote:
  Ellis,
  Miles will be back online in a few days, but I suspect that the
  answer is
  that the 2.8 plugin is the new generation and the 2.7.5 stuff is
  going to
  have bugs. :-(

  Sorry.

  David

  On Mon, Jun 22, 2009 at 11:08 AM, Ellis
  ellis.whiteh...@gmail.com wrote:

  Hello everyone,

  Does anyone have a setup for eclipse that works like it should?
  By
  like it should, I mostly mean that the scala plugin doesn't
  crash
  regularly AND it works with lift/maven.  If so, which versions of
  which plugins are you using?

  The nightly build of the scala plugin seems to work better than
  2.7.4/2.7.5 in some ways, but I couldn't get it working with lift/
  maven due to signature differences between the scala libraries.

  Best regards,
  Ellis

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

  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://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
-~--~~~~--~~--~--~---



[Lift] Re: Best method to protect most menu items?

2009-06-24 Thread David Pollak
On Wed, Jun 24, 2009 at 12:58 AM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote:


 On 23 Jun 2009, David Pollak wrote:

  Jeppe, I just checked in code (it'll take 45 minutes to hit the Maven
  repo) that has global LocParams for each SiteMap.  The SiteMap
  constructor is now:
 
  SiteMap(globalParamFuncs: List[PartialFunction[Box[Req],
  Loc.LocParam]], kids: Menu*)
 
  You can put your Redirect stuff in like:
 
  List({
  case _ if !User.loggedIn_? = ...
  })

 Brilliant! Works nicely. I ended up with this

  val menuDispatch:List[PartialFunction[Box[Req], Loc.LocParam]] = List({
   case Full(Req(profile :: login :: Nil , _, _)) = Hidden
   case Full(Req(profile :: lost_password :: Nil , _, _)) = Hidden


I would put these Hidden items on the specific menu items rather than
matching against a path.  Locating Hidden with the items to be hidden will
help you and other developers see what the non-global rules are.



   case Full(Req(_, _, _)) if !User.loggedIn_? = Loc.EarlyResponse(()
 = Full(RedirectResponse(/profile/login?returnTo=+S.uri)))


This could be case _ if User.loggedIn_? = or case Full(_) if
User.loggedIn_? =



})

 A couple of questions:

 1) Why the need for Box[Req]? When will it be Empty?


If the menu building takes place inside the scope of a CometActor.  There
are times when Lift does stuff outside of the scope of a specific request.
 It's unlikely that this will happen in the normal case, but it could happen
(e.g., someone updates menus in a CometActor).



 2) In the above I had to use Hidden as a dummy value to signal no
 Loc. It might be useful with a Box[Loc.LocParam] as return value?


Oh... I get why you did the Hidden thing... I'd do the following:

case Full(Req(path, _, _)) if !User.loggedIn_?  path != List(profile,
login)  path != path != List(profile, lost_password) =
Loc.EarlyResponse(() =
Full(RedirectResponse(/profile/login?returnTo=+S.uri)))

If you prefer to do the pattern matching thing, you can return:
 new Loc.LocParam{}

That's a noop.

Thanks,

David




 /Jeppe


 



-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: Error shutting down Jetty instance

2009-06-24 Thread Nolan Darilek

Works for me. Thanks for the quick fix.


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Another backtrace on reload

2009-06-24 Thread Nolan Darilek

I'm getting this one on server reloads if I have mvn scala:cc running in 
one terminal and mvn jetty:run in another. Happens whenever I make a 
code change that gets redeployed:

ERROR - Failed to Boot
java.lang.NullPointerException: Looking for Connection Identifier 
ConnectionIdentifier(lift) but failed to find either a JNDI data source 
with the name lift or a lift connection manager with the correct name
 at net.liftweb.mapper.DB$$anonfun$3$$anonfun$apply$7.apply(DB.scala:95)
 at net.liftweb.mapper.DB$$anonfun$3$$anonfun$apply$7.apply(DB.scala:95)
 at net.liftweb.util.EmptyBox.openOr(Box.scala:372)
 at net.liftweb.mapper.DB$$anonfun$3.apply(DB.scala:95)
 at net.liftweb.mapper.DB$$anonfun$3.apply(DB.scala:95)
 at net.liftweb.util.EmptyBox.openOr(Box.scala:372)
 at net.liftweb.mapper.DB$.newConnection(DB.scala:89)
 at net.liftweb.mapper.DB$.getConnection(DB.scala:136)
 at net.liftweb.mapper.DB$.use(DB.scala:315)
 at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:53)
 at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:36)
 at bootstrap.liftweb.Boot.boot(Boot.scala:24)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408)
 at 
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406)
 at 
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1041)
 at 
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1041)
 at net.liftweb.util.Full.map(Box.scala:330)
 at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1041)
 at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:561)
 at net.liftweb.http.LiftFilter.init(LiftServlet.scala:529)
 at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
 at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
 at 
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653)
 at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
 at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
 at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
 at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
 at 
org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
 at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
 at 
org.mortbay.jetty.plugin.AbstractJettyRunMojo.restartWebApp(AbstractJettyRunMojo.java:446)
 at 
org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.filesChanged(AbstractJettyRunMojo.java:407)
 at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
 at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
 at org.mortbay.util.Scanner.scan(Scanner.java:280)
 at org.mortbay.util.Scanner$1.run(Scanner.java:232)
 at java.util.TimerThread.mainLoop(Timer.java:512)
 at java.util.TimerThread.run(Timer.java:462)
[INFO] Restart completed at Wed Jun 24 08:43:27 CDT 2009


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Stax

2009-06-24 Thread David Pollak
Folks,
The folks in the ESME project have been hosting demo versions of ESME on
http://stax.net/

I had the pleasure of speaking with the CEO of
Stax yesterday.  I really like his vision of where he wants to take
Stax.  Plus, I think that Stax offers everything that GAE offers plus
a lot more flexibility and potential future growth.

One of the things I'm not so good with is figuring out the details of
what is needed for a given technology to be useful for an audience as
broad as the Lift community... I don't know what kinds of things are
necessary to have on the toolchain.

Could a few of you play with Stax and put together a list of stuff you'd
like to see in Stax with respect to Lift.  Having that list will help guide
the Stax folks to making Lift support even better.

Thanks,

David

-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: Another backtrace on reload

2009-06-24 Thread David Pollak
Are you using JNDI or your own connection manager to connect to the RDBMS?

On Wed, Jun 24, 2009 at 6:50 AM, Nolan Darilek no...@thewordnerd.infowrote:


 I'm getting this one on server reloads if I have mvn scala:cc running in
 one terminal and mvn jetty:run in another. Happens whenever I make a
 code change that gets redeployed:

 ERROR - Failed to Boot
 java.lang.NullPointerException: Looking for Connection Identifier
 ConnectionIdentifier(lift) but failed to find either a JNDI data source
 with the name lift or a lift connection manager with the correct name
 at net.liftweb.mapper.DB$$anonfun$3$$anonfun$apply$7.apply(DB.scala:95)
 at net.liftweb.mapper.DB$$anonfun$3$$anonfun$apply$7.apply(DB.scala:95)
 at net.liftweb.util.EmptyBox.openOr(Box.scala:372)
 at net.liftweb.mapper.DB$$anonfun$3.apply(DB.scala:95)
 at net.liftweb.mapper.DB$$anonfun$3.apply(DB.scala:95)
 at net.liftweb.util.EmptyBox.openOr(Box.scala:372)
 at net.liftweb.mapper.DB$.newConnection(DB.scala:89)
 at net.liftweb.mapper.DB$.getConnection(DB.scala:136)
 at net.liftweb.mapper.DB$.use(DB.scala:315)
 at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:53)
 at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:36)
 at bootstrap.liftweb.Boot.boot(Boot.scala:24)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at

 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at

 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at

 net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408)
 at

 net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406)
 at

 net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1041)
 at

 net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1041)
 at net.liftweb.util.Full.map(Box.scala:330)
 at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1041)
 at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:561)
 at net.liftweb.http.LiftFilter.init(LiftServlet.scala:529)
 at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
 at
 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
 at

 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653)
 at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
 at

 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
 at
 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
 at
 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
 at

 org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
 at
 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
 at

 org.mortbay.jetty.plugin.AbstractJettyRunMojo.restartWebApp(AbstractJettyRunMojo.java:446)
 at

 org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.filesChanged(AbstractJettyRunMojo.java:407)
 at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
 at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
 at org.mortbay.util.Scanner.scan(Scanner.java:280)
 at org.mortbay.util.Scanner$1.run(Scanner.java:232)
 at java.util.TimerThread.mainLoop(Timer.java:512)
 at java.util.TimerThread.run(Timer.java:462)
 [INFO] Restart completed at Wed Jun 24 08:43:27 CDT 2009


 



-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread marius d.

Would be neat to have a Lift application template when creating a new
stax app. And the fact they are using Amazon EC2 is really great.

Br's,
Marius

On Jun 24, 4:53 pm, David Pollak feeder.of.the.be...@gmail.com
wrote:
 Folks,
 The folks in the ESME project have been hosting demo versions of ESME 
 onhttp://stax.net/

 I had the pleasure of speaking with the CEO of
 Stax yesterday.  I really like his vision of where he wants to take
 Stax.  Plus, I think that Stax offers everything that GAE offers plus
 a lot more flexibility and potential future growth.

 One of the things I'm not so good with is figuring out the details of
 what is needed for a given technology to be useful for an audience as
 broad as the Lift community... I don't know what kinds of things are
 necessary to have on the toolchain.

 Could a few of you play with Stax and put together a list of stuff you'd
 like to see in Stax with respect to Lift.  Having that list will help guide
 the Stax folks to making Lift support even better.

 Thanks,

 David

 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://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
-~--~~~~--~~--~--~---



[Lift] Re: Managed child entities

2009-06-24 Thread Derek Chen-Becker
Very nice!

On Mon, Jun 22, 2009 at 10:30 PM, Naftoli Gugenheim naftoli...@gmail.comwrote:

 I was working on something to help make it easier to deal with one to many
 relationships. I'm attaching it (OneToMany.scala) along with a class that
 uses it (partially work in progress), although it's a bit verbose (partially
 because my class names are very long). Advantages include access to the
 children like a collection, and ability to add and remove children but defer
 actually saving it, as well as adding the children before the parent was
 saved and got an id.
 It's not test very thoroughly, and of course any suggestions for
 improvement are more than welcome. I'm planning to try to make something
 similar for many to many soon.


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Submenus for model-generated views

2009-06-24 Thread Derek Chen-Becker
I haven't looked at the CRUDify trait in a while, but I think that what you
want is something like:

val entries =
  Menu(Loc(Home, List(index), Home)) ::
  Menu(Loc(Layous, Layouts.listPath, Layouts, Layouts.menus: _*) ::
  User.sitemap

Using the listPath method makes sure that you match the actual prefix and
path. In your case, the class is Layouts, which by default results in a
Layouts path prefix, but in your code you're using layout. If you're
overriding the table name to layout then your code should be working, I
think. Also, List and Create are the only two links that should be shown,
but I'm not sure that the current CRUDify code makes the delete, edit and
view Menus hidden.

Derek


On Tue, Jun 23, 2009 at 10:42 AM, Nolan Darilek no...@thewordnerd.infowrote:


 This is something I asked in a subthread, but maybe it deserves its own
 thread in case someone might have the answer but chose to stop reading
 the original, whose subject line isn't really accurate for this question
 anyhow. :)

 I have a model that I'm using CRUDify for. I'd like to link the model
 into my sitemap such that it has a single top-level menu item pointing
 to /model/list, at which point the CRUD actions appear. So, basically, I
 want Model.menus to be a series of submenus beneath a menu named for the
 model. Thus far I have:

 val entries =
   Menu(Loc(Home, List(index), Home)) ::
   Menu(Loc(layouts, List(layout, list), Layouts),
 Layout.menus:_*) ::
   User.sitemap

 This gives me the Layouts menu item, but it doesn't work. Specifically,
 I get a 404 when I click on Layouts, but not a message telling me that
 /layout/list isn't in the sitemap. From this I assume that /layout/list
 expects to find a filesystem-based template, and whatever magic the
 Layout.menus injects isn't taking.

 I've tried a number of variations. I'm also reading chapter 5 of
 Mastering Lift. It could be that the answer is there and obvious, but
 this is all a lot to take in for someone coming from five years of Rails
 and 1.5 of Merb. :)


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Deployment questions and little Java web dev experience

2009-06-24 Thread Derek Chen-Becker
The line is blurring. With EJB 3.1 (Java EE 6) there is talk of using
various profiles so that you can essentially deploy a WAR file that
bootstraps a subset of an application server feature set within a servlet
container. OpenEJB already does something like this:

http://openejb.apache.org/

Derek

On Tue, Jun 23, 2009 at 1:54 PM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote:


 On 23 Jun 2009, Naftoli Gugenhem wrote:


  What's the difference between an application server and a servlet
  container?

 Depends on who you ask :-) Application server usually means a J2EE
 implementation which support things such as EJBs, message services,
 transaction monitors, database pools (and a servlet container).

 A servlet container, as the name implies, is a service that can be used
 to host servlets.

 So while applications can run using only a servlet container, an
 application server typically means a servlet container and a lot of
 extra services which you may or (most likely) may not need.

 /Jeppe

 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Misleading error: The Requested URL /admin/orders/new was not found on this server

2009-06-24 Thread Derek Chen-Becker
Just the other day Lift said it was going to go for a short walk after
lunch, but it came back at 2am smelling of cheap vodka. sigh

On Tue, Jun 23, 2009 at 5:31 PM, David Pollak feeder.of.the.be...@gmail.com
 wrote:

 I hate it when Lift lies... it sucks rubber donkey lungs!!

 I've just checked in code that should make this kind of error much more
 obvious.

 I'm sorry for your frustration, but thanks to you and your error report,
 future Lift users will have a much better time.

 On Tue, Jun 23, 2009 at 3:31 PM, Trav wilhel...@gmail.com wrote:


 The Requested URL /admin/orders/new was not found on this server

 So I check my SiteMap: Menu(Loc(New Order, orders :: new ::
 Nil, ?(New Order)))
 I check there is a file orders/new.html (admin is the web context)
 Then I read about site maps, and recheck and try new Locs.
 I study my logs.
 Hours go by and I'm quite frustrated.

 Finally it dawns on me that the error message may be lying to me and I
 start to comment out lines from the new.html file -- presto!

 Here is the line that I commented out:
 trtdFull Name/tdtdbillingAddress:recipient //tr

 Oh, lookie, it's missing a closing td tag.  Cuss this, cuss that
 commit and go to sleep.  So something else should have caught that
 (like my IDE), but in the end: lift lied!

 -Trav














 --
 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
-~--~~~~--~~--~--~---



[Lift] Re: Can't embed a snippet

2009-06-24 Thread Derek Chen-Becker
Wait a second. I have plenty of templates that have multiple elements in
them. What exactly is the problem you're seeing here?

Derek

On Tue, Jun 23, 2009 at 10:09 PM, Nolan Darilek no...@thewordnerd.infowrote:


 Cool deal, mvn test showed me the issue.

 Apparently, templates can only have a single element, I had an h2/ and
 a p/. The book called it a fragment, so this wasn't entirely clear. In
 any case, I put a div#welcome around it and now it works fine. Thanks
 for the pointer.


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Best method to protect most menu items?

2009-06-24 Thread Jeppe Nejsum Madsen

On Wed, Jun 24, 2009 at 3:25 PM, David Pollak
feeder.of.the.be...@gmail.com wrote:


 Oh... I get why you did the Hidden thing... I'd do the following:
 case Full(Req(path, _, _)) if !User.loggedIn_?  path != List(profile, 
 login)  path != path != List(profile, lost_password) = 
 Loc.EarlyResponse(() = 
 Full(RedirectResponse(/profile/login?returnTo=+S.uri)))
 If you prefer to do the pattern matching thing, you can return:
  new Loc.LocParam{}
 That's a noop.

Ahh yes (Note to self: Not everything needs to be pattern matched :-)

Thanks for the quick solution!

/Jeppe

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: [scala] JPA question

2009-06-24 Thread Derek Chen-Becker
Well, in my real-world experience I've never had very complex models and
I've never used TABLE-PER-CLASS either, so I don't really have a feel for
what's not possible. Generally I think that JPA (which is a subset of
Hibernate) covers a good portion of people's needs for ORM, but it
definitely has some big missing functionality (e.g. no ordered collections
until JPA 2). I think that in this case Greg is pushing the limits on a
relatively unused corner of JPA (I've never seen someone use TABLE-PER-CLASS
before) and he's hitting some bugs. I want to make clear that I think that
what Greg is attempting is entirely possible. My earlier comment about
rolling your own ORM was because I misunderstood what he was doing with
abstract classes. In my mind, there would be a couple of places where you
might want to roll your own stuff:


   1. An existing schema that doesn't map well to an object graph. We have a
   legacy database at work where the brilliant developers decided that nothing
   should be normalized and data can exist in one of four tables based on some
   arcane business logic. You can still build an ORM layer on something like
   this, but essentially all you're doing is creating a thin wrapper on
   ResultSets
   2. You have very specific data that you need to retrieve with possibly
   complex joins, and you need it to be as performant as possible. There are
   some tricks you can do with EJB QL to make it prefetch things, but often you
   can end up with multiple round trips to the database and/or data that you
   don't need being fetched. In certain scenarios I could see this being an
   issue.

This list isn't intended to be exhaustive, these are just the top two that
come to mind. In terms of Hibernate vs others like JPOX, TopLink, etc, I'd
say that Hibernate is a first-class provider and at least equal to the
others.

Derek

On Wed, Jun 24, 2009 at 2:21 AM, TSP tim.pig...@optrak.co.uk wrote:


 Derek
 Would you distinguish between what is achievable in a specific ORM
 such as Hibernate from JPA in this statement or would you think it
 applies to all. I've got to go with hibernate in any case because of
 widespread use of UserTypes. Unlike Greg, in my case I can hand-craft
 all my hibernate xml files if I need.

 Tim

 On Jun 23, 1:46 am, Derek Chen-Becker dchenbec...@gmail.com wrote:
  For sufficiently complex relationships, JPA is not a good fit. Beyond a
  certain point it's usually simpler to roll your own. I think that this is
  somewhat of a failing of the model, but it's not a simple problem to
 solve
  in the generic case.
 
  Derek
 
  On Mon, Jun 22, 2009 at 6:45 PM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:
 
 
 
   Ah, sorry, I lost track of the thread.
 
   On Mon, Jun 22, 2009 at 4:55 PM, Meredith Gregory 
   lgreg.mered...@gmail.com wrote:
 
   Derek,
 
   You are correct and i noted and reported this on Scala on Friday.
 However,
   if you have a chain of the form
 
   AbstractClass - Class -contains- AbstractClass -Class -contains-
 ...
 
   The @MappedSuperclass solution fails at level 2.
 
   Best wishes,
 
   --greg
 
   On Mon, Jun 22, 2009 at 3:52 PM, Derek Chen-Becker 
 dchenbec...@gmail.com
wrote:
 
   Something I just want to throw out into the discussion: Since you're
   using table-per-class, having a @Table annotation on
 AbstractContainer
   doesn't do anything since abstract classes can't have instances.
 Tables are
   only generated for abstract classes if you're using a JOINED
 inheritance
   strategy. You might want to look at using the MappedSuperclass
 annotation
   for the abstract base class instead. If I change the
 AbstractContainer def
   to:
 
   @MappedSuperclass
   public abstract class AbstractContainer implements
 java.io.Serializable {
 
   and then modify MySampleFuContainer to:
 
   public class MySampleFuContainer extends AbstractContainer {
 
   then I seem to get the proper schema:
 
   create table lingo_production.MySampleFuContainer_table (
   id varchar(255) not null,
   uuid varchar(255),
   mysamplingmumble__idSuper varchar(255),
   primary key (id),
   unique (uuid)
   );
 
   Having said that, I think that the behavior you're currently seeing
   appears to be a bug.
 
   Derek
 
   On Mon, Jun 22, 2009 at 3:43 PM, Meredith Gregory 
   lgreg.mered...@gmail.com wrote:
 
   Kris,
 
   Here
 http://svn.biosimilarity.com/src/open/codesamples/trunk/hibernate/is a
 link to the self-contained example that now uses just Java. i included
   the target dir in the repo to speed up investigation, but you can
 just blow
   that away and build from scratch. The example is currently written
 to
   Java1.6, but also exhibits the same behavior under Java1.5. To run
 the
   example
 
svn co
  http://svn.biosimilarity.com/src/open/codesamples/trunk/hibernate
   ...
env PATH=path-to-java1.6:$PATH JAVA_HOME=path-to-java1.6 mvn
 clean
   compile process-classes
 
   If you switch comment and decl 

[Lift] Re: Can't embed a snippet

2009-06-24 Thread Kris Nuttycombe

The error was occurring if you had more than a single root element. Thus:

div
   h2/
   p/
/div

works whereas

h2/
p/

caused the template not found erroneous exception before David fixed
it. Thanks David!

Kris

On Wed, Jun 24, 2009 at 8:40 AM, Derek Chen-Beckerdchenbec...@gmail.com wrote:
 Wait a second. I have plenty of templates that have multiple elements in
 them. What exactly is the problem you're seeing here?

 Derek

 On Tue, Jun 23, 2009 at 10:09 PM, Nolan Darilek no...@thewordnerd.info
 wrote:

 Cool deal, mvn test showed me the issue.

 Apparently, templates can only have a single element, I had an h2/ and
 a p/. The book called it a fragment, so this wasn't entirely clear. In
 any case, I put a div#welcome around it and now it works fine. Thanks
 for the pointer.





 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Deployment questions and little Java web dev experience

2009-06-24 Thread Kris Nuttycombe

I hadn't seen openejb before, thanks for the reference!

Kris

On Wed, Jun 24, 2009 at 8:35 AM, Derek Chen-Beckerdchenbec...@gmail.com wrote:
 The line is blurring. With EJB 3.1 (Java EE 6) there is talk of using
 various profiles so that you can essentially deploy a WAR file that
 bootstraps a subset of an application server feature set within a servlet
 container. OpenEJB already does something like this:

 http://openejb.apache.org/

 Derek

 On Tue, Jun 23, 2009 at 1:54 PM, Jeppe Nejsum Madsen je...@ingolfs.dk
 wrote:

 On 23 Jun 2009, Naftoli Gugenhem wrote:


  What's the difference between an application server and a servlet
  container?

 Depends on who you ask :-) Application server usually means a J2EE
 implementation which support things such as EJBs, message services,
 transaction monitors, database pools (and a servlet container).

 A servlet container, as the name implies, is a service that can be used
 to host servlets.

 So while applications can run using only a servlet container, an
 application server typically means a servlet container and a lot of
 extra services which you may or (most likely) may not need.

 /Jeppe




 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Can't embed a snippet

2009-06-24 Thread Derek Chen-Becker
Ah, so this would be a top-level template (no lift:surround).

Derek

On Wed, Jun 24, 2009 at 9:16 AM, Kris Nuttycombe
kris.nuttyco...@gmail.comwrote:


 The error was occurring if you had more than a single root element. Thus:

 div
   h2/
   p/
 /div

 works whereas

 h2/
 p/

 caused the template not found erroneous exception before David fixed
 it. Thanks David!

 Kris

 On Wed, Jun 24, 2009 at 8:40 AM, Derek Chen-Beckerdchenbec...@gmail.com
 wrote:
  Wait a second. I have plenty of templates that have multiple elements in
  them. What exactly is the problem you're seeing here?
 
  Derek
 
  On Tue, Jun 23, 2009 at 10:09 PM, Nolan Darilek no...@thewordnerd.info
  wrote:
 
  Cool deal, mvn test showed me the issue.
 
  Apparently, templates can only have a single element, I had an h2/ and
  a p/. The book called it a fragment, so this wasn't entirely clear. In
  any case, I put a div#welcome around it and now it works fine. Thanks
  for the pointer.
 
 
 
 
 
  
 

 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Another backtrace on reload

2009-06-24 Thread Nolan Darilek

On 06/24/2009 08:54 AM, David Pollak wrote:
 Are you using JNDI or your own connection manager to connect to the RDBMS?

I'm new to this, but I'm guessing the latter. In any case, I haven't 
touched whatever values the snapshot sets up in Boot.scala, nor have I 
set any properties, so it's stock Derby.

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Can't embed a snippet

2009-06-24 Thread Nolan Darilek

On 06/24/2009 09:40 AM, Derek Chen-Becker wrote:
 Wait a second. I have plenty of templates that have multiple elements 
 in them. What exactly is the problem you're seeing here?

Using 1.1, I have the following in templates-hidden/welcome.html:

h2Welcome/h2

pPut welcome details here./p

Running mvn test gives me the following failure report:

---
Test set: info.thewordnerd.therascribe.AppTest
---
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.8 sec 
 FAILURE!
testXml(info.thewordnerd.therascribe.AppTest)  Time elapsed: 1.474 sec 
 FAILURE!
junit.framework.AssertionFailedError: Malformed XML in 1 file: 
src/main/webapp/templates-hidden/welcome.html
 at junit.framework.Assert.fail(Assert.java:47)
 at info.thewordnerd.therascribe.AppTest.testXml(AppTest.scala:72)
..

 From the surefire report:

system-outMalformed XML in 1 file: 
src/main/webapp/templates-hidden/welcome.html
/system-out
system-err:3:70: document must contain exactly one element
  ^
/system-err

Surrounding it in a div fixes that. Must be a new addition in 1.1?


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Cheap Hosting

2009-06-24 Thread anothertestapp test

I have account with http://javaprovider.net they offer good service
for java hosting

Thanks
Warren

On Jun 16, 7:00 am, Harshad RJ harshad...@gmail.com wrote:
 Mark,

 Try VPSLink.

 http://vpslink.com/?ref=7J32ZZ

 The cheapest plan is about 6.6$ p/mo and you will get a discount of 10% if
 you use the above link (referral program).

 I have successfully run scala based servlets + postgresql db on it, with
 performance sufficient for my needs.

 I haven't tried Lift on it though.

 cheers,
 --
 Harshad RJ
 WebHome   »  http://hrj.wikidot.com
 Classifieds  »  http://uproot.in

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Can't embed a snippet

2009-06-24 Thread Derek Chen-Becker
Yes. Since it's a full template and not a fragment (using lift:surround /)
it has to conform to normal XML rules. In particular, XML can only have one
root element.

Derek

On Wed, Jun 24, 2009 at 9:08 AM, Nolan Darilek no...@thewordnerd.infowrote:


 On 06/24/2009 09:40 AM, Derek Chen-Becker wrote:
  Wait a second. I have plenty of templates that have multiple elements
  in them. What exactly is the problem you're seeing here?
 
 Using 1.1, I have the following in templates-hidden/welcome.html:

 h2Welcome/h2

 pPut welcome details here./p

 Running mvn test gives me the following failure report:


 ---
 Test set: info.thewordnerd.therascribe.AppTest

 ---
 Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.8 sec
  FAILURE!
 testXml(info.thewordnerd.therascribe.AppTest)  Time elapsed: 1.474 sec
  FAILURE!
 junit.framework.AssertionFailedError: Malformed XML in 1 file:
 src/main/webapp/templates-hidden/welcome.html
 at junit.framework.Assert.fail(Assert.java:47)
 at info.thewordnerd.therascribe.AppTest.testXml(AppTest.scala:72)
 ..

  From the surefire report:

 system-outMalformed XML in 1 file:
 src/main/webapp/templates-hidden/welcome.html
 /system-out
 system-err:3:70: document must contain exactly one element
  ^
 /system-err

 Surrounding it in a div fixes that. Must be a new addition in 1.1?


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Best method to protect most menu items?

2009-06-24 Thread David Pollak
On Wed, Jun 24, 2009 at 7:49 AM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote:


 On Wed, Jun 24, 2009 at 3:25 PM, David Pollak
 feeder.of.the.be...@gmail.com wrote:

 
  Oh... I get why you did the Hidden thing... I'd do the following:
  case Full(Req(path, _, _)) if !User.loggedIn_?  path != List(profile,
 login)  path != path != List(profile, lost_password) =
 Loc.EarlyResponse(() =
 Full(RedirectResponse(/profile/login?returnTo=+S.uri)))
  If you prefer to do the pattern matching thing, you can return:
   new Loc.LocParam{}
  That's a noop.

 Ahh yes (Note to self: Not everything needs to be pattern matched :-)


Guards are your friend.




 Thanks for the quick solution!

 /Jeppe

 



-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread Mark Lynn

Can you use actors with Stax? My understanding was that GAE could not  
support actors.

Mark Lynn
Sabado Technologies


On Jun 24, 2009, at 9:53 AM, David Pollak wrote:

 Folks,

 The folks in the ESME project have been hosting demo versions of  
 ESME on http://stax.net/

 I had the pleasure of speaking with the CEO of Stax yesterday.  I  
 really like his vision of where he wants to take Stax.  Plus, I  
 think that Stax offers everything that GAE offers plus a lot more  
 flexibility and potential future growth.

 One of the things I'm not so good with is figuring out the details  
 of what is needed for a given technology to be useful for an  
 audience as broad as the Lift community... I don't know what kinds  
 of things are necessary to have on the toolchain.

 Could a few of you play with Stax and put together a list of stuff  
 you'd like to see in Stax with respect to Lift.  Having that list  
 will help guide the Stax folks to making Lift support even better.

 Thanks,

 David

 -- 
 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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread David Pollak
On Wed, Jun 24, 2009 at 7:06 AM, Mark Lynn m...@sabado.com wrote:


 Can you use actors with Stax?


Yes.  And MySQL, so there's no persistence lock-in like with BigTable.


 My understanding was that GAE could not support actors.

 Mark Lynn
 Sabado Technologies


 On Jun 24, 2009, at 9:53 AM, David Pollak wrote:

 Folks,
 The folks in the ESME project have been hosting demo versions of ESME on
 http://stax.net/

 I had the pleasure of speaking with the CEO of
 Stax yesterday.  I really like his vision of where he wants to take Stax.  
 Plus, I think that Stax offers everything that GAE offers plus a lot more 
 flexibility and potential future growth.


 One of the things I'm not so good with is figuring out the details of what is 
 needed for a given technology to be useful for an audience as broad as the 
 Lift community... I don't know what kinds of things are necessary to have on 
 the toolchain.

 Could a few of you play with Stax and put together a list of stuff you'd
 like to see in Stax with respect to Lift.  Having that list will help guide
 the Stax folks to making Lift support even better.

 Thanks,

 David

 --
 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





 



-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread Timothy Perrett

Agreed - this does really look very good... DPP, do you know how they
are doing the generation of applications? I guess they must have some
templating system and im just wondering if its something like our
existing archetypes and if they could be modified to become stax
compatible or whatever.

Cheers, Tim

On Jun 24, 3:03 pm, marius d. marius.dan...@gmail.com wrote:
 Would be neat to have a Lift application template when creating a new
 stax app. And the fact they are using Amazon EC2 is really great.

 Br's,
 Marius

 On Jun 24, 4:53 pm, David Pollak feeder.of.the.be...@gmail.com
 wrote:



  Folks,
  The folks in the ESME project have been hosting demo versions of ESME 
  onhttp://stax.net/

  I had the pleasure of speaking with the CEO of
  Stax yesterday.  I really like his vision of where he wants to take
  Stax.  Plus, I think that Stax offers everything that GAE offers plus
  a lot more flexibility and potential future growth.

  One of the things I'm not so good with is figuring out the details of
  what is needed for a given technology to be useful for an audience as
  broad as the Lift community... I don't know what kinds of things are
  necessary to have on the toolchain.

  Could a few of you play with Stax and put together a list of stuff you'd
  like to see in Stax with respect to Lift.  Having that list will help guide
  the Stax folks to making Lift support even better.

  Thanks,

  David

  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread David Pollak
On Wed, Jun 24, 2009 at 9:02 AM, Timothy Perrett timo...@getintheloop.euwrote:


 Agreed - this does really look very good... DPP, do you know how they
 are doing the generation of applications? I guess they must have some
 templating system and im just wondering if its something like our
 existing archetypes and if they could be modified to become stax
 compatible or whatever.


I don't know, but this is a good question to ask them.




 Cheers, Tim

 On Jun 24, 3:03 pm, marius d. marius.dan...@gmail.com wrote:
  Would be neat to have a Lift application template when creating a new
  stax app. And the fact they are using Amazon EC2 is really great.
 
  Br's,
  Marius
 
  On Jun 24, 4:53 pm, David Pollak feeder.of.the.be...@gmail.com
  wrote:
 
 
 
   Folks,
   The folks in the ESME project have been hosting demo versions of ESME
 onhttp://stax.net/
 
   I had the pleasure of speaking with the CEO of
   Stax yesterday.  I really like his vision of where he wants to take
   Stax.  Plus, I think that Stax offers everything that GAE offers plus
   a lot more flexibility and potential future growth.
 
   One of the things I'm not so good with is figuring out the details of
   what is needed for a given technology to be useful for an audience as
   broad as the Lift community... I don't know what kinds of things are
   necessary to have on the toolchain.
 
   Could a few of you play with Stax and put together a list of stuff
 you'd
   like to see in Stax with respect to Lift.  Having that list will help
 guide
   the Stax folks to making Lift support even better.
 
   Thanks,
 
   David
 
   --
   Lift, the simply functional web frameworkhttp://liftweb.net
   Beginning Scalahttp://www.apress.com/book/view/1430219890
   Follow me:http://twitter.com/dpp
   Git some:http://github.com/dpp
 



-- 
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
-~--~~~~--~~--~--~---



[Lift] Modify CRUDify XHTML

2009-06-24 Thread Peter Robinett

Hi all,

I'm using CRUDify on one of my models and I'd like to display some
additional data on the view template. I believe that I need to
override one of the model definitions with some sort of reference to
my own XHTML file. Which one? _viewTemplate? Or perhaps the
viewTemplate method?

Thanks,
Peter Robinett

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: So where is that OAuth?

2009-06-24 Thread jon

I've been working on the provider side of oauth to authenticate api
calls.

I was looking at the http-authentication example, but I'm not sure if
want to go that route.  I would like to be able to specify
authentication for paths in the same place that I define them (in a
DispatchPF).

I'd also like to be able to pass down a Box[(consumer, Box[token])] to
my response functions.

This is what I have so far.  I'm fairly new to scala/lift, so any
pointers would be appreciated:

object RestAPI extends XMLApiHelper{

//OAuth takes to functions for looking up the secrets
associated with the consumer and token keys
   //trivial functions here for testing, but would be replaced
with DB call
val oauth = OAuth(c = c, t = t)

def dispatch: LiftRules.DispatchPF = {
  case Req(List(api,user,userid), , GetRequest) =
() = requireToken(showUser(userid))

   }

def showUser(userid: String) (consumer: Consumer, token: Token):
LiftResponse = {
  val e: Box[NodeSeq] =
  for(r - User.find(userid.toLong)) yield {
r.toXML
  }
  e
}

   def unauth(message: String) = new XhtmlResponse(unauthorized
{message}/unauthorized, Full(text/xml),
 Nil,
 Nil,
 401, false)

   def requireToken(f: (Consumer, Token) = LiftResponse):
LiftResponse = {
 oauth.verify_signature match {
   case Full((c, Full(t))) = f(c, t)
   case _ = unauth(Authentication failed)
 }
   }

   def requireSigned(f: (Consumer) = LiftResponse): LiftResponse = {
 oauth.verify_signature match {
   case Full((c, _)) = f(c)
   case _ = unauth(Invalid oauth signature)
 }
   }

}

On Jun 22, 12:36 pm, DFectuoso santiago1...@gmail.com wrote:
 Well i will start working on that tonight(after work of course) and
 keep you guys updated! Cheers!

 On Jun 22, 8:59 am, marius d. marius.dan...@gmail.com wrote:



  On Jun 22, 3:25 am, DFectuoso santiago1...@gmail.com wrote:

   Well i went ahead and learn a lot from the lift-openId implementation
   and understand what I would need to do have lift-OAuthworking

   It seems like i could do two things:
   1) Get aOAuthjava library that allows me to post, get, login and
   logout then create aOAuth.scala file where i create a trait of the
  OAuthHandler that would access to this methods, then create a object
   that extends from that trait; Then create a OAuthProtoUser.scala where
   I would have a trait for the MetaOAuthProtoUser with the Xhtml for
   login, override the menus that i would not use and perform the login
   and logout of the user as well as the post and get methods. Finally
   create a trait for the OAuthProtoUser that would allow me to store
   information about the user.

  Besides Proto stuff we'd need an abstraction overOAuthartifacts.
  Essentially a wrapper over their Java library.

   2) Go ahead and have the login,logout, post and get methods on the
  OAuth.scala actually do the logic to get the tokens without a java
   library, this would mean creating some way of signing a url and body
   to post and get stuff from the request, access and user-auth Token Url
   or an url in the service.

   I have absolutely no experience with scala, java or lift but I really
   want to get some(by doing this type of stuff). So what do you think is
   better(for me to learn, for lift and for you).

  I think it would be a good exercise. Once you're done with it we could
  probably review it and maybe it'll get its way into Lift if some
  committer doesn't implement it in the mean time, but regardless would
  be a good exercise for you.

   Also, what part of this abstraction(and how) is the one to set the
   consumer_key, secret_key and the request urls?

  InOAuthworld consumer secret and consumer key are somehow invariants
  as they impersonate a trusted service. So I would put them into a
  Scala object where user can just set these quantities from Boot.

   Finally; a uber noob question, what is the equivalent of curl(php) or
   urllib/urlopen(python) that i would use in the second option to
   actually make the http request to ther other site? I think its a
   servlet but some trivial example on this would really help me =)

  You can just use HttpUrlConnection, or Apache Http client.

   On Jun 21, 7:18 am, marius d. marius.dan...@gmail.com wrote:

   OAuthis not implemented yet in Lift still the project folder is
there. I think Dave wanted to put it there but never got the chance to
add it.

Br's,
Marius

On Jun 21, 9:29 am, DFectuoso santiago1...@gmail.com wrote:

 Im trying to integrateOAuth(with twitter) in one of my projects...
 and i saw the lift-oauth, but i cant find the code, documentation or
 examples around this module; so i guess either its somewhere else or
 people is doing their twitter integrations with other class(maybe
 java)...

 

[Lift] Re: Can't embed a snippet

2009-06-24 Thread Derek Chen-Becker
I've added an issue for this.

On Wed, Jun 24, 2009 at 9:49 AM, David Pollak feeder.of.the.be...@gmail.com
 wrote:

 We should probably have a lift:dont_ignore/ tag to surround stuff like
 this and to complement the lift:ignore/ tag.  Anyone want to add that
 snippet?


 On Wed, Jun 24, 2009 at 8:36 AM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:

 Yes. Since it's a full template and not a fragment (using lift:surround
 /) it has to conform to normal XML rules. In particular, XML can only have
 one root element.

 Derek


 On Wed, Jun 24, 2009 at 9:08 AM, Nolan Darilek no...@thewordnerd.infowrote:


 On 06/24/2009 09:40 AM, Derek Chen-Becker wrote:
  Wait a second. I have plenty of templates that have multiple elements
  in them. What exactly is the problem you're seeing here?
 
 Using 1.1, I have the following in templates-hidden/welcome.html:

 h2Welcome/h2

 pPut welcome details here./p

 Running mvn test gives me the following failure report:


 ---
 Test set: info.thewordnerd.therascribe.AppTest

 ---
 Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.8 sec
  FAILURE!
 testXml(info.thewordnerd.therascribe.AppTest)  Time elapsed: 1.474 sec
  FAILURE!
 junit.framework.AssertionFailedError: Malformed XML in 1 file:
 src/main/webapp/templates-hidden/welcome.html
 at junit.framework.Assert.fail(Assert.java:47)
 at info.thewordnerd.therascribe.AppTest.testXml(AppTest.scala:72)
 ..

  From the surefire report:

 system-outMalformed XML in 1 file:
 src/main/webapp/templates-hidden/welcome.html
 /system-out
 system-err:3:70: document must contain exactly one element
  ^
 /system-err

 Surrounding it in a div fixes that. Must be a new addition in 1.1?









 --
 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
-~--~~~~--~~--~--~---



[Lift] Re: Modify CRUDify XHTML

2009-06-24 Thread Derek Chen-Becker
Well, it's the viewTemplate method, but it's supposed to return a NodeSeq,
so if you're pulling from a file you'll need to do the file load yourself.
You can do that with LiftRules.loadResourceAsXml:

...
override def viewTemplate = LiftRules.loadResourceAsXml(foo) openOr
pError loading template/p
...

Derek

On Wed, Jun 24, 2009 at 11:10 AM, Peter Robinett pe...@bubblefoundry.comwrote:


 Hi all,

 I'm using CRUDify on one of my models and I'd like to display some
 additional data on the view template. I believe that I need to
 override one of the model definitions with some sort of reference to
 my own XHTML file. Which one? _viewTemplate? Or perhaps the
 viewTemplate method?

 Thanks,
 Peter Robinett

 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Another backtrace on reload

2009-06-24 Thread Naftoli Gugenhem

I had the same problem a while ago. I'm not sure if I fixed it then, but I 
think it had to do with the db still being open possibly. When the code changes 
does the servlet get undeployed?
You might need to run derby in server mode.
Lately I've been launching jetty without maven, and to get it to reload eclipse 
calls an ant script that touches the context.xml. I'm using h2 in tcp mode.
Another option is JavaRebel which often obviates the need to redeploy.
Sorry I can't help you better--I'm interested in any more information there is 
about this too.

-
David Pollakfeeder.of.the.be...@gmail.com wrote:

I won't have a chance to look at it until next week, but maybe somebody else
could step in here and help.

On Wed, Jun 24, 2009 at 7:16 AM, Nolan Darilek no...@thewordnerd.infowrote:


 On 06/24/2009 08:54 AM, David Pollak wrote:
  Are you using JNDI or your own connection manager to connect to the
 RDBMS?
 
 I'm new to this, but I'm guessing the latter. In any case, I haven't
 touched whatever values the snapshot sets up in Boot.scala, nor have I
 set any properties, so it's stock Derby.

 



-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: Modify CRUDify XHTML

2009-06-24 Thread Jeppe Nejsum Madsen

On 24 Jun 2009, Peter Robinett wrote:


 Hi all,
 
 I'm using CRUDify on one of my models and I'd like to display some
 additional data on the view template. I believe that I need to
 override one of the model definitions with some sort of reference to
 my own XHTML file. Which one? _viewTemplate? Or perhaps the
 viewTemplate method?

If you look at the source to CRUDify, you'll see

def viewTemplate(): NodeSeq = pageWrapper(_viewTemplate)

where

def pageWrapper(body: NodeSeq): NodeSeq =
  lift:surround with=default at=content
{
  body
}
  /lift:surround

def _viewTemplate =
  lift:crud.view
table id={viewId} class={viewClass}
  crud:row
tr
  tdcrud:name//td
  tdcrud:value//td
/tr
  /crud:row
/table
  /lift:crud.view

So the simplest thing is to override _viewTemplate with something similar
to the above. This should be done on the companion objects where CRUDify
is mixed in

/Jeppe


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Can't embed a snippet

2009-06-24 Thread Kris Nuttycombe

Perhaps something a touch more intuitive like lift:template/? It
would feel odd to have to tell lift not to ignore stuff.

Kris

On Wed, Jun 24, 2009 at 9:49 AM, David
Pollakfeeder.of.the.be...@gmail.com wrote:
 We should probably have a lift:dont_ignore/ tag to surround stuff like
 this and to complement the lift:ignore/ tag.  Anyone want to add that
 snippet?

 On Wed, Jun 24, 2009 at 8:36 AM, Derek Chen-Becker dchenbec...@gmail.com
 wrote:

 Yes. Since it's a full template and not a fragment (using lift:surround
 /) it has to conform to normal XML rules. In particular, XML can only have
 one root element.

 Derek

 On Wed, Jun 24, 2009 at 9:08 AM, Nolan Darilek no...@thewordnerd.info
 wrote:

 On 06/24/2009 09:40 AM, Derek Chen-Becker wrote:
  Wait a second. I have plenty of templates that have multiple elements
  in them. What exactly is the problem you're seeing here?
 
 Using 1.1, I have the following in templates-hidden/welcome.html:

 h2Welcome/h2

 pPut welcome details here./p

 Running mvn test gives me the following failure report:


 ---
 Test set: info.thewordnerd.therascribe.AppTest

 ---
 Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.8 sec
  FAILURE!
 testXml(info.thewordnerd.therascribe.AppTest)  Time elapsed: 1.474 sec
  FAILURE!
 junit.framework.AssertionFailedError: Malformed XML in 1 file:
 src/main/webapp/templates-hidden/welcome.html
     at junit.framework.Assert.fail(Assert.java:47)
     at info.thewordnerd.therascribe.AppTest.testXml(AppTest.scala:72)
 ..

  From the surefire report:

 system-outMalformed XML in 1 file:
 src/main/webapp/templates-hidden/welcome.html
 /system-out
 system-err:3:70: document must contain exactly one element
                                                                      ^
 /system-err

 Surrounding it in a div fixes that. Must be a new addition in 1.1?









 --
 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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread Naftoli Gugenheim
Anyone know what kind of pricing they have? Do they have a free level like
GAE?

On Wed, Jun 24, 2009 at 12:43 PM, David Pollak 
feeder.of.the.be...@gmail.com wrote:



 On Wed, Jun 24, 2009 at 9:02 AM, Timothy Perrett 
 timo...@getintheloop.euwrote:


 Agreed - this does really look very good... DPP, do you know how they
 are doing the generation of applications? I guess they must have some
 templating system and im just wondering if its something like our
 existing archetypes and if they could be modified to become stax
 compatible or whatever.


 I don't know, but this is a good question to ask them.




 Cheers, Tim

 On Jun 24, 3:03 pm, marius d. marius.dan...@gmail.com wrote:
  Would be neat to have a Lift application template when creating a new
  stax app. And the fact they are using Amazon EC2 is really great.
 
  Br's,
  Marius
 
  On Jun 24, 4:53 pm, David Pollak feeder.of.the.be...@gmail.com
  wrote:
 
 
 
   Folks,
   The folks in the ESME project have been hosting demo versions of ESME
 onhttp://stax.net/
 
   I had the pleasure of speaking with the CEO of
   Stax yesterday.  I really like his vision of where he wants to take
   Stax.  Plus, I think that Stax offers everything that GAE offers plus
   a lot more flexibility and potential future growth.
 
   One of the things I'm not so good with is figuring out the details of
   what is needed for a given technology to be useful for an audience as
   broad as the Lift community... I don't know what kinds of things are
   necessary to have on the toolchain.
 
   Could a few of you play with Stax and put together a list of stuff
 you'd
   like to see in Stax with respect to Lift.  Having that list will help
 guide
   the Stax folks to making Lift support even better.
 
   Thanks,
 
   David
 
   --
   Lift, the simply functional web frameworkhttp://liftweb.net
   Beginning Scalahttp://www.apress.com/book/view/1430219890
   Follow me:http://twitter.com/dpp
   Git some:http://github.com/dpp




 --
 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
-~--~~~~--~~--~--~---



[Lift] Re: Modify CRUDify XHTML

2009-06-24 Thread Naftoli Gugenheim
How would you customize the edit view, say to allow editing all child
entities on the same screen?

On Wed, Jun 24, 2009 at 2:01 PM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote:


 On 24 Jun 2009, Peter Robinett wrote:


  Hi all,
 
  I'm using CRUDify on one of my models and I'd like to display some
  additional data on the view template. I believe that I need to
  override one of the model definitions with some sort of reference to
  my own XHTML file. Which one? _viewTemplate? Or perhaps the
  viewTemplate method?

 If you look at the source to CRUDify, you'll see

 def viewTemplate(): NodeSeq = pageWrapper(_viewTemplate)

 where

 def pageWrapper(body: NodeSeq): NodeSeq =
  lift:surround with=default at=content
{
  body
}
  /lift:surround

 def _viewTemplate =
  lift:crud.view
table id={viewId} class={viewClass}
  crud:row
tr
  tdcrud:name//td
  tdcrud:value//td
/tr
  /crud:row
/table
  /lift:crud.view

 So the simplest thing is to override _viewTemplate with something similar
 to the above. This should be done on the companion objects where CRUDify
 is mixed in

 /Jeppe


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread David Pollak
They will have a free level

On Jun 24, 2009 11:46 AM, Naftoli Gugenheim naftoli...@gmail.com wrote:

Anyone know what kind of pricing they have? Do they have a free level like
GAE?

On Wed, Jun 24, 2009 at 12:43 PM, David Pollak 
feeder.of.the.be...@gmail.com wrote:

 On Wed, Jun 24, 2009 at 9:02 AM, Timothy Perrett
 timo...@getintheloop.eu wrote:A...

  Lift, the simply functional web framework http://liftweb.net  Beginning
 Scala http://www.apress.c...


--~--~-~--~~~---~--~~ You received this
message because you are sub...

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread Meredith Gregory
David,

Cool. About 6 weeks ago i started down the path of evaluating them, but saw
no free service and stopped; and then the GAE noise began.

Best wishes,

--greg

On Wed, Jun 24, 2009 at 12:08 PM, David Pollak 
feeder.of.the.be...@gmail.com wrote:

 They will have a free level

 On Jun 24, 2009 11:46 AM, Naftoli Gugenheim naftoli...@gmail.com
 wrote:

 Anyone know what kind of pricing they have? Do they have a free level like
 GAE?


 On Wed, Jun 24, 2009 at 12:43 PM, David Pollak 
 feeder.of.the.be...@gmail.com wrote:

 On Wed, Jun 24, 2009 at 9:02 AM, Timothy Perrett
 timo...@getintheloop.eu wrote:A...

  Lift, the simply functional web framework http://liftweb.net 
 Beginning Scala http://www.apress.c...


 



-- 
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread fan...@gmail.com

Tim Nelson a écrit :
[...]
 I did install their SDK and from what I can tell it's basically some 
 Groovy scripts that use Ant + Ivy.

Gradle perhaps ? http://www.gradle.org/


-- 
Francois Armand
http://fanf42.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] New mapper class: MappedEnumString

2009-06-24 Thread Jeppe Nejsum Madsen
Hi,

A while ago, I asked if it was possible to use something like MappedEnum
and have some sensible values inserted into the database instead of
integers.

I got the feeling this was not the case, so I've created MappedEnumString
(attached) which maps Enumerations into string values.

Example:
   object TestTypes extends Enumeration {
  val Unknown = new Val(0,??)
  val Item1 = new Val(XX)
  val Item2 = new Val(YY)
   }

  object test extends MappedEnumString(this, TestTypes, 2)

This will store the values, ??, XX or YY in the db. For display
purposes, it will by default lookup the resource values TestTypes.??,
TestTypes.XX, TestTypes.YY

You can also calculate the displayed values:

object test2 extends MappedEnumString(this, TestTypes, 2) {
override def _valueToDisplayString(v:Enumeration#Value) = v match {
case TestTypes.Item1 = Item1Display
case TestTypes.Item2 = Item2Display
case _ = Unknown x ItemDisplay
   }
}

I'm by no means a Scala/Lift expert so I may have overlooked stuff, so
feel free to comment :-)

/Jeppe


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



MappedEnumString.scala
Description: MappedEnumString.scala


[Lift] Re: Stax

2009-06-24 Thread Tim Nelson
I think they use Gant. http://gant.codehaus.org/

On Wed, Jun 24, 2009 at 3:10 PM, fan...@gmail.com fan...@gmail.com wrote:


 Tim Nelson a écrit :
 [...]
  I did install their SDK and from what I can tell it's basically some
  Groovy scripts that use Ant + Ivy.

 Gradle perhaps ? http://www.gradle.org/


 --
 Francois Armand
 http://fanf42.blogspot.com

 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Anyone working on the flot widget?

2009-06-24 Thread Francois Bertrand

Hi Jeppe

Great to see you are interested in the flot widget.

My current to-do list for the flot widget, is:

- create more Lift JsExp and JsCmd to modify a already displayed flot
graph.  They should be used in AJAX and Comet applications

- update to a more recent version of the javascrrit widget

- create the test demo app,

- make the creation of FlotOptions, FlotLinesOptions, etc, less
verbose.  I hope that Scala 2.8 Named and Default Arguments will help.

- create a high level mechanism to display Lift's Record

I appreciate any help.

Francois


On Jun 24, 4:49 am, Jeppe Nejsum Madsen je...@ingolfs.dk wrote:
 On 24 Jun 2009, Timothy Perrett wrote:

  I've not spoken with Francois for some time, but I'll ask him next
  time he's online if he's able to make changes to the flot stuff. He's
  based in Chilli so should be online later on.

 Thanks. I'm more than willing to spend some time on this (and share the
 results :-) since we need it, but having the original author on board
 would be most helpful.

 /Jeppe
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: New mapper class: MappedEnumString

2009-06-24 Thread Oliver Lambert
Looks very nice.

One thing I'm wondering, what if I wanted the displayed value outside of the
mapper, such as TestTypes.Item1.displayValue. Would you use an implicit
conversion to provide this or is the
display value conceptually always part of a mapper object.

I have a rough implementation called EnumWithDescription, that wraps (not
extends) an Enumeration
and provides a description method on the enumeration value without using an
implicit. I'm wondering
if it might be useful to combine your approach and mine?

cheers
Oliver

On Thu, Jun 25, 2009 at 6:39 AM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote:

 Hi,

 A while ago, I asked if it was possible to use something like MappedEnum
 and have some sensible values inserted into the database instead of
 integers.

 I got the feeling this was not the case, so I've created MappedEnumString
 (attached) which maps Enumerations into string values.

 Example:
   object TestTypes extends Enumeration {
  val Unknown = new Val(0,??)
  val Item1 = new Val(XX)
  val Item2 = new Val(YY)
   }

  object test extends MappedEnumString(this, TestTypes, 2)

 This will store the values, ??, XX or YY in the db. For display
 purposes, it will by default lookup the resource values TestTypes.??,
 TestTypes.XX, TestTypes.YY

 You can also calculate the displayed values:

object test2 extends MappedEnumString(this, TestTypes, 2) {
override def _valueToDisplayString(v:Enumeration#Value) = v match {
case TestTypes.Item1 = Item1Display
case TestTypes.Item2 = Item2Display
case _ = Unknown x ItemDisplay
   }
}

 I'm by no means a Scala/Lift expert so I may have overlooked stuff, so
 feel free to comment :-)

 /Jeppe


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Is Hudson Stuck? 6/24

2009-06-24 Thread Bryan

Is this the correct URL to check on the status of the Hudson build?
If so, is it stuck?

--Bryan
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Is Hudson Stuck? 6/24

2009-06-24 Thread Bryan

I'm using http://hudson.scala-tools.org/job/Lift/.

On Jun 24, 9:08 pm, Bryan germ...@gmail.com wrote:
 Is this the correct URL to check on the status of the Hudson build?
 If so, is it stuck?

 --Bryan
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread jon

I was able to get the latest lift-example application deployed without
a problem: http://helloworld.hoffrocket.staxapps.net/.  It's running
against a mysql DB that they're hosting, not h2.

I got an nginx 502 gateway down with a more substantial app, but their
log files were all blank, so I have no idea what the problem was.

Their deployment mechanism is war/ear based (ear built locally, then
uploaded).  It would be cool if they supported standard mvn layouts
and could just build your war from source.  I'm on a 512kb max upload
and lift-example took 5 minutes to deploy.

- Jon

On Jun 24, 4:21 pm, Tim Nelson tnell...@gmail.com wrote:
 I think they use Gant.http://gant.codehaus.org/



 On Wed, Jun 24, 2009 at 3:10 PM, fan...@gmail.com fan...@gmail.com wrote:

  Tim Nelson a écrit :
  [...]
   I did install their SDK and from what I can tell it's basically some
   Groovy scripts that use Ant + Ivy.

  Gradle perhaps ?http://www.gradle.org/

  --
  Francois Armand
 http://fanf42.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JPA and auto generation of id

2009-06-24 Thread David Persons

Thanks for all the answers guys.

I managed to fix the id problem, I needed the Hibernate specific class
GenericGenerator to fix it, which of cource is less pretty then using
only JPA. Someone has an example of how to make it work with MySql and
only JPA annotations? Current version:

@Entity
class Scene {
  @Id
  @GenericGenerator{val name=hibernate-increment, val
strategy=increment}
  @GeneratedValue{val strategy = GenerationType.SEQUENCE, val
generator = hibernate-increment}
  var id : Long = _

  @Column{val unique = true, val nullable = false}
  var ordering : Int = _

  @Column{val unique = true, val nullable = false}
  var name : String = 

  @ManyToOne{val optional = false}
  var storyBoard : StoryBoard = _
}

However, now I get an org.hibernate.PropertyValueException: not-null
property references a null or transient value:
model.Scene.storyBoard :-s I tried a lot of things already, the
corresponding StoryBoard is saved and not null, so I guess it has to
be transient. Merging the StoryBoard however still gives the same
error..

I tried to get JPA and Lift working together in the same way as in the
JPADemo example.. Is it the use of MySql which prevents the example
from working for me?

regards,
David

On 23 jun, 00:54, Derek Chen-Becker dchenbec...@gmail.com wrote:
 Also, what does the schema for the entity's table look like?

 On Mon, Jun 22, 2009 at 4:54 PM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:

  Mind posting the snippet of code where you're saving the instance? A merge
  should interpret a null ID as a fresh instance, and a persist should just
  save it.

  Derek

  On Mon, Jun 22, 2009 at 1:50 PM, David Persons dhwpers...@gmail.comwrote:

  I am using MySql (5). After setting the hibernate.dialect to
  org.hibernate.dialect.MySQLDialect in my persistence.xml file, I get a
  org.hibernate.AssertionFailure: null id :-s

  cheers

  On 22 jun, 19:18, Derek Chen-Becker dchenbec...@gmail.com wrote:
   That's not accurate, at least with Hibernate. By putting the annotations
  on
   vars, the compiler ends up putting them on the internal fields, which
  then
   forces Hibernate into a field-based persistence model and not a
   getter/setter based one. The SQLGrammarException is most likely what the
   other people have said. If you're in Oracle or PostgreSQL, for instance,
  you
   need a sequence set up for the auto identity model. What database are
  you
   using?

   Derek

   On Mon, Jun 22, 2009 at 8:54 AM, Eric Bowman ebow...@boboco.ie wrote:

David Persons wrote:
 Hello guys,

 I get a org.hibernate.exception.SQLGrammarException: could not get
  or
 update next value error everytime I try to save the following
  Entity:

 @Entity
 class Scene {
   @Id
   @GeneratedValue(){val strategy = GenerationType.AUTO}
   var id : Long = _

   @Column{val unique = true, val nullable = false}
   var ordering : Int = _

   @Column{val unique = true, val nullable = false}
   var name : String = 

   @ManyToOne{val optional = false}
   var storyBoard : StoryBoard = _
 }

You almost certainly need some scala.reflect.BeanProperty annotations
  on
your fields.

cheers,
Eric

--
Eric Bowman
Boboco Ltd
ebow...@boboco.ie
   http://www.boboco.ie/ebowman/pubkey.pgp
+35318394189/+353872801532
 http://www.boboco.ie/ebowman/pubkey.pgp%0A+35318394189/+353872801532

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JPA and auto generation of id

2009-06-24 Thread Bryan

Try upgrading your hibernate version from 3.3.1.ga to 3.3.2.GA.

Derek, can you look into upgrading the archetype to this release as
well?  I recall 3.3.1.ga having some packaging issues.

--Bryan

On Wed, Jun 24, 2009 at 6:29 PM, David Personsdhwpers...@gmail.com wrote:

 Thanks for all the answers guys.

 I managed to fix the id problem, I needed the Hibernate specific class
 GenericGenerator to fix it, which of cource is less pretty then using
 only JPA. Someone has an example of how to make it work with MySql and
 only JPA annotations? Current version:

 @Entity
 class Scene {
 �...@id
 �...@genericgenerator{val name=hibernate-increment, val
 strategy=increment}
 �...@generatedvalue{val strategy = GenerationType.SEQUENCE, val
 generator = hibernate-increment}
  var id : Long = _

 �...@column{val unique = true, val nullable = false}
  var ordering : Int = _

 �...@column{val unique = true, val nullable = false}
  var name : String = 

 �...@manytoone{val optional = false}
  var storyBoard : StoryBoard = _
 }

 However, now I get an org.hibernate.PropertyValueException: not-null
 property references a null or transient value:
 model.Scene.storyBoard :-s I tried a lot of things already, the
 corresponding StoryBoard is saved and not null, so I guess it has to
 be transient. Merging the StoryBoard however still gives the same
 error..

 I tried to get JPA and Lift working together in the same way as in the
 JPADemo example.. Is it the use of MySql which prevents the example
 from working for me?

 regards,
 David

 On 23 jun, 00:54, Derek Chen-Becker dchenbec...@gmail.com wrote:
 Also, what does the schema for the entity's table look like?

 On Mon, Jun 22, 2009 at 4:54 PM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:

  Mind posting the snippet of code where you're saving the instance? A merge
  should interpret a null ID as a fresh instance, and a persist should just
  save it.

  Derek

  On Mon, Jun 22, 2009 at 1:50 PM, David Persons dhwpers...@gmail.comwrote:

  I am using MySql (5). After setting the hibernate.dialect to
  org.hibernate.dialect.MySQLDialect in my persistence.xml file, I get a
  org.hibernate.AssertionFailure: null id :-s

  cheers

  On 22 jun, 19:18, Derek Chen-Becker dchenbec...@gmail.com wrote:
   That's not accurate, at least with Hibernate. By putting the annotations
  on
   vars, the compiler ends up putting them on the internal fields, which
  then
   forces Hibernate into a field-based persistence model and not a
   getter/setter based one. The SQLGrammarException is most likely what the
   other people have said. If you're in Oracle or PostgreSQL, for instance,
  you
   need a sequence set up for the auto identity model. What database are
  you
   using?

   Derek

   On Mon, Jun 22, 2009 at 8:54 AM, Eric Bowman ebow...@boboco.ie wrote:

David Persons wrote:
 Hello guys,

 I get a org.hibernate.exception.SQLGrammarException: could not get
  or
 update next value error everytime I try to save the following
  Entity:

 @Entity
 class Scene {
   @Id
   @GeneratedValue(){val strategy = GenerationType.AUTO}
   var id : Long = _

   @Column{val unique = true, val nullable = false}
   var ordering : Int = _

   @Column{val unique = true, val nullable = false}
   var name : String = 

   @ManyToOne{val optional = false}
   var storyBoard : StoryBoard = _
 }

You almost certainly need some scala.reflect.BeanProperty annotations
  on
your fields.

cheers,
Eric

--
Eric Bowman
Boboco Ltd
ebow...@boboco.ie
   http://www.boboco.ie/ebowman/pubkey.pgp
+35318394189/+353872801532
 http://www.boboco.ie/ebowman/pubkey.pgp%0A+35318394189/+353872801532

 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JPA and auto generation of id

2009-06-24 Thread Meredith Gregory
David,

The GenericGenerator annotation was the solution i found worked for me for
Hibernate 3.3.2GA, and the one i suggested you investigate. i'm glad you've
gotten past that one.

Best wishes,

--greg

On Wed, Jun 24, 2009 at 3:29 PM, David Persons dhwpers...@gmail.com wrote:


 Thanks for all the answers guys.

 I managed to fix the id problem, I needed the Hibernate specific class
 GenericGenerator to fix it, which of cource is less pretty then using
 only JPA. Someone has an example of how to make it work with MySql and
 only JPA annotations? Current version:

 @Entity
 class Scene {
  @Id
  @GenericGenerator{val name=hibernate-increment, val
 strategy=increment}
  @GeneratedValue{val strategy = GenerationType.SEQUENCE, val
 generator = hibernate-increment}
   var id : Long = _

  @Column{val unique = true, val nullable = false}
  var ordering : Int = _

  @Column{val unique = true, val nullable = false}
  var name : String = 

  @ManyToOne{val optional = false}
  var storyBoard : StoryBoard = _
 }

 However, now I get an org.hibernate.PropertyValueException: not-null
 property references a null or transient value:
 model.Scene.storyBoard :-s I tried a lot of things already, the
 corresponding StoryBoard is saved and not null, so I guess it has to
 be transient. Merging the StoryBoard however still gives the same
 error..

 I tried to get JPA and Lift working together in the same way as in the
 JPADemo example.. Is it the use of MySql which prevents the example
 from working for me?

 regards,
 David

 On 23 jun, 00:54, Derek Chen-Becker dchenbec...@gmail.com wrote:
  Also, what does the schema for the entity's table look like?
 
  On Mon, Jun 22, 2009 at 4:54 PM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:
 
   Mind posting the snippet of code where you're saving the instance? A
 merge
   should interpret a null ID as a fresh instance, and a persist should
 just
   save it.
 
   Derek
 
   On Mon, Jun 22, 2009 at 1:50 PM, David Persons dhwpers...@gmail.com
 wrote:
 
   I am using MySql (5). After setting the hibernate.dialect to
   org.hibernate.dialect.MySQLDialect in my persistence.xml file, I get a
   org.hibernate.AssertionFailure: null id :-s
 
   cheers
 
   On 22 jun, 19:18, Derek Chen-Becker dchenbec...@gmail.com wrote:
That's not accurate, at least with Hibernate. By putting the
 annotations
   on
vars, the compiler ends up putting them on the internal fields,
 which
   then
forces Hibernate into a field-based persistence model and not a
getter/setter based one. The SQLGrammarException is most likely what
 the
other people have said. If you're in Oracle or PostgreSQL, for
 instance,
   you
need a sequence set up for the auto identity model. What database
 are
   you
using?
 
Derek
 
On Mon, Jun 22, 2009 at 8:54 AM, Eric Bowman ebow...@boboco.ie
 wrote:
 
 David Persons wrote:
  Hello guys,
 
  I get a org.hibernate.exception.SQLGrammarException: could not
 get
   or
  update next value error everytime I try to save the following
   Entity:
 
  @Entity
  class Scene {
@Id
@GeneratedValue(){val strategy = GenerationType.AUTO}
var id : Long = _
 
@Column{val unique = true, val nullable = false}
var ordering : Int = _
 
@Column{val unique = true, val nullable = false}
var name : String = 
 
@ManyToOne{val optional = false}
var storyBoard : StoryBoard = _
  }
 
 You almost certainly need some scala.reflect.BeanProperty
 annotations
   on
 your fields.
 
 cheers,
 Eric
 
 --
 Eric Bowman
 Boboco Ltd
 ebow...@boboco.ie
http://www.boboco.ie/ebowman/pubkey.pgp
 +35318394189/+353872801532
  http://www.boboco.ie/ebowman/pubkey.pgp%0A+35318394189/+353872801532

 



-- 
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Stax

2009-06-24 Thread Meredith Gregory
Jon,

Sweet!

Best wishes,

--greg

On Wed, Jun 24, 2009 at 3:11 PM, jon jonhoff...@gmail.com wrote:


 I was able to get the latest lift-example application deployed without
 a problem: http://helloworld.hoffrocket.staxapps.net/.  It's running
 against a mysql DB that they're hosting, not h2.

 I got an nginx 502 gateway down with a more substantial app, but their
 log files were all blank, so I have no idea what the problem was.

 Their deployment mechanism is war/ear based (ear built locally, then
 uploaded).  It would be cool if they supported standard mvn layouts
 and could just build your war from source.  I'm on a 512kb max upload
 and lift-example took 5 minutes to deploy.

 - Jon

 On Jun 24, 4:21 pm, Tim Nelson tnell...@gmail.com wrote:
  I think they use Gant.http://gant.codehaus.org/
 
 
 
  On Wed, Jun 24, 2009 at 3:10 PM, fan...@gmail.com fan...@gmail.com
 wrote:
 
   Tim Nelson a écrit :
   [...]
I did install their SDK and from what I can tell it's basically some
Groovy scripts that use Ant + Ivy.
 
   Gradle perhaps ?http://www.gradle.org/
 
   --
   Francois Armand
  http://fanf42.blogspot.com

 



-- 
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Getting Username and Password from URL of form hxxp://user:passw...@foo.org

2009-06-24 Thread Alan M

I can't seem to find anyway to get to those two values.  I've been
searching all over the request class/object and no luck.

I'm writing a RESTful web service that uses basic auth and for some
reason jQuery likes to send things in the above mentioned format
(http://user:passw...@foo.org).  I've tried to fix that on the
Javascript side but I couldn't get anything to work.  So instead I
decided on the service to recognize either the header style or the URL
style of passing the login info.  Sounded simple enough, until I
couldn't find how to get at that/those strings..

Any help would be greatly appreciated..

Alan Mortensen
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: Is Hudson Stuck? 6/24

2009-06-24 Thread Derek Chen-Becker
I stopped the stuck job.

On Wed, Jun 24, 2009 at 7:09 PM, Bryan germ...@gmail.com wrote:


 I'm using http://hudson.scala-tools.org/job/Lift/.

 On Jun 24, 9:08 pm, Bryan germ...@gmail.com wrote:
  Is this the correct URL to check on the status of the Hudson build?
  If so, is it stuck?
 
  --Bryan
 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---