[Lift] Re: How to save the uploaded image into the folder via fileUpload in Lift?

2009-11-13 Thread Neil.Lv

  Here is some code , but it's wrong!

  -->  java.io.FileNotFoundException: \images\1.jpeg

 if mime.startsWith("image/") => {
  try{
var file: File  = new File("/images/1.jpeg");
var fos:FileOutputStream = new FileOutputStream(file);
fos.write(data)
  } catch {
case e => println("exception:  " + e)
  }
  e.receipt(data).receiptMime(mime)
   true
 }

  I don't know how to write the code in the try catch statement.

  Does anyone can help  me ?~

  Thanks very much !

Cheers,
  Neil


On Nov 14, 1:58 pm, "Neil.Lv"  wrote:
> Hi all,
>
>    How to save the uploaded image into the folder via fileUpload in
> Lift?
>
>    I don't want to save it in the database, the example code in the
> Pocketchangeapp
>
> ###
>           val receiptOk = fileHolder match {
>             case Full(FileParamHolder(_, null, _, _)) => true
>             case Full(FileParamHolder(_, mime, _, data))
>                       if mime.startsWith("image/") => {
> //  How can i save the data into a image in the folder.
>                         e.receipt(data).receiptMime(mime)
>                         true
>                       }
>             case Full(_) => {
>               S.error("Invalid receipt attachment")
>               false
>             }
>             case _ => true
>           }
> ###
>
>    To save the image into the webapp\images folder, and it's shown
> just use this link:
>    /images/img1.jpg
>
>   Thanks for any suggestion!
>
> Cheers,
>   Neil
--~--~-~--~~~---~--~~
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] How to save the uploaded image into the folder via fileUpload in Lift?

2009-11-13 Thread Neil.Lv

Hi all,

   How to save the uploaded image into the folder via fileUpload in
Lift?

   I don't want to save it in the database, the example code in the
Pocketchangeapp

###
  val receiptOk = fileHolder match {
case Full(FileParamHolder(_, null, _, _)) => true
case Full(FileParamHolder(_, mime, _, data))
  if mime.startsWith("image/") => {
//  How can i save the data into a image in the folder.
e.receipt(data).receiptMime(mime)
true
  }
case Full(_) => {
  S.error("Invalid receipt attachment")
  false
}
case _ => true
  }
###

   To save the image into the webapp\images folder, and it's shown
just use this link:
   /images/img1.jpg

  Thanks for any suggestion!

Cheers,
  Neil
--~--~-~--~~~---~--~~
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: How to specify the SELECT statement in the Mapper ?

2009-11-13 Thread Neil.Lv

  Ok, Thanks for all your suggestion!

  I'll try it again,

  :)

Cheers,
  Neil

On Nov 14, 2:52 am, harryh  wrote:
> You'll be better off if you don't do it that way.  Compute the day of
> week from created_at in your scala code (personally I prefer joda time
> for this sort of thing), instead of having the database do it for you.
>
> Use the database to store and retrieve data, not to perform
> calculations.
>
> -harryh
>
> On Nov 9, 1:44 am, "Neil.Lv"  wrote:
>
> > Hi all,
>
> >   There is some example code:
> > ###
> > SELECT id,  name, sex, created_at,  DAYOFWEEK(created_at,) as week,
> > (CURRENT_DATE) as t
> > FROM users
> > WHERE created_at > (CURRENT_DATE ) AND created_at < (CURRENT_DATE +
> > interval 2 day)
> > ORDER BY created_at ASC
> > ###
>
> >   How can i specify the SELECT statement that i don't want all the
> > columns and i want add the column as week
> > in the example code ?
>
> >   Any help would be much appreciated!
>
> > Cheers,
> >   Neil
--~--~-~--~~~---~--~~
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: CometListener

2009-11-13 Thread Jack Widman
Thanks Ross.

On Fri, Nov 13, 2009 at 11:55 PM, Ross Mellgren  wrote:

> Your pom specifies lift 1.0, not 1.1 for the majority of lift modules. You
> are using 1.1-M6 for lift-textile. In addition, you don't have the snapshots
> repository configured.
>
> To fix this, first add the snapshot repository to :
>
> 
>   scala-tools.org.snapshots
>   Scala-Tools Maven2 Repository for Snapshots
>   http://scala-tools.org/repo-snapshots
>   
> 
>
> Then switch *all* your lift-* dependencies to 1.1-SNAPSHOT and your scala
> version to 2.7.7. I use a property for the lift version to use, myself, like
> this:
>
> 
> 2.7.7
> 1.1-SNAPSHOT
> 
>
> ...
>
> 
> net.liftweb
> lift-util
> ${lift.version} 
>
> (and so on, for each lift-* dependency)
>
> I'm not sure what would happen exactly if you have mixed versions of the
> lift modules, but It Can't Be Good.
>
> Hope that helps,
> -Ross
>
> On Nov 13, 2009, at 10:17 PM, Jack Widman wrote:
>
> Here is my pom.xml
>
> On Fri, Nov 13, 2009 at 12:09 PM, Jack Widman wrote:
>
>> sure. Thanks Ross. I will send it tonight. Also what is the difference
>> between the CometListener and the CometListenee?
>>
>>
>> On Fri, Nov 13, 2009 at 11:14 AM, Ross Mellgren  wrote:
>>
>>> Could you send over your pom.xml if you're using Maven? It sounds like
>>> maybe your build path is not correct.
>>>
>>> -Ross
>>>
>>>
>>> On Nov 13, 2009, at 12:09 AM, Jack Widman wrote:
>>>
>>> David,
>>>
>>> I'm using lift 1.1 and scala 2.5 now and the compiler says it cant find
>>> CometListener when I import net.liftweb.http._
>>>
>>> Jack
>>>
>>> On Fri, Nov 13, 2009 at 12:01 AM, David Pollak <
>>> feeder.of.the.be...@gmail.com> wrote:
>>>


 On Thu, Nov 12, 2009 at 8:54 PM, Jack Widman wrote:

> C:\work\widman\src\main\scala\com\widman\comet\PackComet.scala:20:
> error: type CometListener is not a member of package net.liftweb.http
>
> I got this compile error.
>
> I must be missing something obvious.


 It's part of Lift 1.1, not Lift 1.0


>
>
>  On Thu, Nov 12, 2009 at 11:42 PM, Ross Mellgren wrote:
>
>>
>> It is in net.liftweb.http.
>>
>>
>> http://www.scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/net/liftweb/http/CometListener.html
>>
>>
>> By the way, the link you gave only indicates it's in either
>> net.liftweb.http, net.liftweb.util, net.liftweb or model (or a couple
>> other packages, since scala implicitly imports superpackages).
>>
>> -Ross
>>
>> On Nov 12, 2009, at 11:38 PM, jack wrote:
>>
>> >
>> > I also tried net.liftweb.http
>> >
>> > On Nov 12, 11:35 pm, jack  wrote:
>> >> I am trying to use CometListener. According tohttp://bit.ly/1Wnxt4
>> ,
>> >> it is in the package net.liftweb._ but compiler says it can't be
>> >> found. Is this the wrong package?
>> > >
>>
>>
>>
>>
>
>
> --
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
>
>
>


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



>>>
>>>
>>> --
>>> Jack Widman
>>>
>>> co-founder / cto,  Authoritude, Inc.
>>>
>>> 203-641-9355
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Jack Widman
>>
>> co-founder / cto,  Authoritude, Inc.
>>
>> 203-641-9355
>>
>
>
>
> --
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
>
> 
>
>
>
> >
>


-- 
Jack Widman

co-founder / cto,  Authoritude, Inc.

203-641-9355

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

2009-11-13 Thread Ross Mellgren
Your pom specifies lift 1.0, not 1.1 for the majority of lift modules.  
You are using 1.1-M6 for lift-textile. In addition, you don't have the  
snapshots repository configured.

To fix this, first add the snapshot repository to :

 
   scala-tools.org.snapshots
   Scala-Tools Maven2 Repository for Snapshots
   http://scala-tools.org/repo-snapshots
   
 

Then switch *all* your lift-* dependencies to 1.1-SNAPSHOT and your  
scala version to 2.7.7. I use a property for the lift version to use,  
myself, like this:


 2.7.7
 1.1-SNAPSHOT


...


 net.liftweb
 lift-util
 ${lift.version}

(and so on, for each lift-* dependency)

I'm not sure what would happen exactly if you have mixed versions of  
the lift modules, but It Can't Be Good.

Hope that helps,
-Ross

On Nov 13, 2009, at 10:17 PM, Jack Widman wrote:

> Here is my pom.xml
>
> On Fri, Nov 13, 2009 at 12:09 PM, Jack Widman  
>  wrote:
> sure. Thanks Ross. I will send it tonight. Also what is the  
> difference between the CometListener and the CometListenee?
>
>
> On Fri, Nov 13, 2009 at 11:14 AM, Ross Mellgren   
> wrote:
> Could you send over your pom.xml if you're using Maven? It sounds  
> like maybe your build path is not correct.
>
> -Ross
>
>
> On Nov 13, 2009, at 12:09 AM, Jack Widman wrote:
>
>> David,
>>
>> I'm using lift 1.1 and scala 2.5 now and the compiler says it cant  
>> find CometListener when I import net.liftweb.http._
>>
>> Jack
>>
>> On Fri, Nov 13, 2009 at 12:01 AM, David Pollak 
>> > > wrote:
>>
>>
>> On Thu, Nov 12, 2009 at 8:54 PM, Jack Widman  
>>  wrote:
>> C:\work\widman\src\main\scala\com\widman\comet\PackComet.scala:20:  
>> error: type CometListener is not a member of package net.liftweb.http
>>
>> I got this compile error.
>>
>> I must be missing something obvious.
>>
>> It's part of Lift 1.1, not Lift 1.0
>>
>>
>>
>> On Thu, Nov 12, 2009 at 11:42 PM, Ross Mellgren   
>> wrote:
>>
>> It is in net.liftweb.http.
>>
>> http://www.scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/net/liftweb/http/CometListener.html
>>
>>
>> By the way, the link you gave only indicates it's in either
>> net.liftweb.http, net.liftweb.util, net.liftweb or model (or a couple
>> other packages, since scala implicitly imports superpackages).
>>
>> -Ross
>>
>> On Nov 12, 2009, at 11:38 PM, jack wrote:
>>
>> >
>> > I also tried net.liftweb.http
>> >
>> > On Nov 12, 11:35 pm, jack  wrote:
>> >> I am trying to use CometListener. According tohttp://bit.ly/ 
>> 1Wnxt4,
>> >> it is in the package net.liftweb._ but compiler says it can't be
>> >> found. Is this the wrong package?
>> > >
>>
>>
>>
>>
>>
>>
>> -- 
>> Jack Widman
>>
>> co-founder / cto,  Authoritude, Inc.
>>
>> 203-641-9355
>>
>>
>>
>>
>>
>>
>> -- 
>> Lift, the simply functional web framework http://liftweb.net
>> Beginning Scala http://www.apress.com/book/view/1430219890
>> Follow me: http://twitter.com/dpp
>> Surf the harmonics
>>
>>
>>
>>
>>
>> -- 
>> Jack Widman
>>
>> co-founder / cto,  Authoritude, Inc.
>>
>> 203-641-9355
>>
>>
>
>
>
>
>
>
> -- 
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
>
>
> -- 
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
> >
> 


--~--~-~--~~~---~--~~
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] Comet Actor

2009-11-13 Thread jack

I have a some code in a CometActor that I want to run right after
render is called for the first time. What is the best way to do this?
I could set a boolean variable in the render method and then send a
message back to the CometActor to tell it to run the code. I suspect
there is a better way?
--~--~-~--~~~---~--~~
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: CometListener

2009-11-13 Thread Jack Widman
Here is my pom.xml

On Fri, Nov 13, 2009 at 12:09 PM, Jack Widman  wrote:

> sure. Thanks Ross. I will send it tonight. Also what is the difference
> between the CometListener and the CometListenee?
>
>
> On Fri, Nov 13, 2009 at 11:14 AM, Ross Mellgren  wrote:
>
>> Could you send over your pom.xml if you're using Maven? It sounds like
>> maybe your build path is not correct.
>>
>> -Ross
>>
>>
>> On Nov 13, 2009, at 12:09 AM, Jack Widman wrote:
>>
>> David,
>>
>> I'm using lift 1.1 and scala 2.5 now and the compiler says it cant find
>> CometListener when I import net.liftweb.http._
>>
>> Jack
>>
>> On Fri, Nov 13, 2009 at 12:01 AM, David Pollak <
>> feeder.of.the.be...@gmail.com> wrote:
>>
>>>
>>>
>>> On Thu, Nov 12, 2009 at 8:54 PM, Jack Widman wrote:
>>>
 C:\work\widman\src\main\scala\com\widman\comet\PackComet.scala:20:
 error: type CometListener is not a member of package net.liftweb.http

 I got this compile error.

 I must be missing something obvious.
>>>
>>>
>>> It's part of Lift 1.1, not Lift 1.0
>>>
>>>


  On Thu, Nov 12, 2009 at 11:42 PM, Ross Mellgren wrote:

>
> It is in net.liftweb.http.
>
>
> http://www.scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/net/liftweb/http/CometListener.html
>
>
> By the way, the link you gave only indicates it's in either
> net.liftweb.http, net.liftweb.util, net.liftweb or model (or a couple
> other packages, since scala implicitly imports superpackages).
>
> -Ross
>
> On Nov 12, 2009, at 11:38 PM, jack wrote:
>
> >
> > I also tried net.liftweb.http
> >
> > On Nov 12, 11:35 pm, jack  wrote:
> >> I am trying to use CometListener. According tohttp://bit.ly/1Wnxt4,
> >> it is in the package net.liftweb._ but compiler says it can't be
> >> found. Is this the wrong package?
> > >
>
>
>
>


 --
 Jack Widman

 co-founder / cto,  Authoritude, Inc.

 203-641-9355




>>>
>>>
>>> --
>>> Lift, the simply functional web framework http://liftweb.net
>>> Beginning Scala http://www.apress.com/book/view/1430219890
>>> Follow me: http://twitter.com/dpp
>>> Surf the harmonics
>>>
>>>
>>>
>>
>>
>> --
>> Jack Widman
>>
>> co-founder / cto,  Authoritude, Inc.
>>
>> 203-641-9355
>>
>>
>>
>>
>> >>
>>
>
>
> --
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>



-- 
Jack Widman

co-founder / cto,  Authoritude, Inc.

203-641-9355

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


http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd";>
  4.0.0
  com.widman
  widman
  1.1-M6
  war
  widman
  2007
  
2.7.5
  

  

  scala-tools.org
  Scala-Tools Maven2 Repository
  http://scala-tools.org/repo-releases

  

  

  scala-tools.org
  Scala-Tools Maven2 Repository
  http://scala-tools.org/repo-releases

  

  

   net.liftweb
   lift-textile
   1.1-M6


  org.scala-lang
  scala-library
  ${scala.version}


  net.liftweb
  lift-util
  1.0


  net.liftweb
  lift-webkit
  1.0


  net.liftweb
  lift-mapper
  1.0


  javax.servlet
  servlet-api
  2.5
  provided


  junit
  junit
  4.5
  test


  org.mortbay.jetty
  jetty
  [6.1.6,)
  test



  org.scala-lang
  scala-compiler
  ${scala.version}
  test

   
 
  org.apache.httpcomponents
  httpclient
  4.0
  compile

  
  org.apache.httpcomponents
  httpcore
  4.0.1
  compile

 
  org.apache.httpcomponents
  httpcore-nio
  4.0.1
  compile





  joop
  joop
  1.0
  system
  ${basedir}/lib/jcip-annotations-1.0.jar

  

  
src/main/scala
src/test/scala

  
org.scala-tools
maven-scala-plugin

  

  compile
  testCompile

  


  ${scala.version}

  
  
org.mortbay.jetty
maven-jetty-plugin

  /
  5

  
  
net.sf.alchim
yuicompressor-maven-plugin

  

  compress

  


  true

  
  
 

[Lift] Re: Changes to transaction handling since M6?

2009-11-13 Thread Ross Mellgren

FWIW regarding naming, since the change I've started to mentally  
rename "RequestVar" to "PageVar". I don't think it's reasonable to  
rename the actual class, since everybody uses it, but I found it was a  
helpful mnemonic to remember what scope it has.

-Ross

On Nov 13, 2009, at 6:00 PM, Kris Nuttycombe wrote:

>
> On Fri, Nov 13, 2009 at 3:42 PM, David Pollak
>  wrote:
>>
>>
>> On Fri, Nov 13, 2009 at 12:12 PM, Kris Nuttycombe
>>  wrote:
>>>
>>> On Fri, Nov 13, 2009 at 11:46 AM, Derek Chen-Becker
>>>  wrote:
 Looks like it. Probably private[liftweb] would work, too. In any  
 case,
 the
 scaladocs need to be updated to reflect what it's for.

 On Fri, Nov 13, 2009 at 12:26 PM, Kris Nuttycombe
  wrote:
>
> Hmmm is this now TransientRequestVar? It's private[http], but
> could it be protected instead?
>
> Kris
>>>
>>> David, do you have an opinion? Is there any reason to keep this
>>> private to lift, or is it something that 3rd-party libraries could
>>> make use of (as in this case?)
>>
>> I wanted to keep it as narrow as possible while we saw how it  
>> worked and got
>> better naming.  Making it private[liftweb] is fine and we'll open  
>> it up
>> later.
>>
>
> Okay, done and on ReviewBoard.
>
> >


--~--~-~--~~~---~--~~
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: Problem with rewriting and SessionVar

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 6:46 AM, Jeppe Nejsum Madsen wrote:

>
> David Pollak  writes:
>
> [...]
>
> > Yes.  The rewrite phase takes place very early in the HTTP
> request/response
> > cycle.  It takes place before the statelessDispatch call.  The
> > statelessDispatch call is very important for REST style APIs as it does
> > *not* cause the creation of a session, thus for lots of API calls, we
> don't
> > have a session created for each call.
> >
> > The rewrite phase has to come before the statelessDispatch phase because
> the
> > request has to be properly rewritten before being pattern matched against
> > the partial functions that define the statelessDispatch
> >
> > Based on some of your prior needs, I've made the session available during
> > the rewrite phase, but it's only if the session actually exists
> (basically,
> > the request is checked for a session, but the request is not told "create
> > one if it doesn't already exists".
>
> I sort of guessed it had to do with this. I find rewriting really useful
> to write apps that need to extract info from the URL in a type-safe way
> before continuing the processing.
>
> I seem to run into a number of issues with this approach (some which
> you've fixed, thanks!), so was wondering if perhaps I'm misusing
> rewriting and there are better ways to approach this?
>
> A few thoughts:
>
> - Is it possible to create a session manually in the rewrite phase?


Yes.  Please open a ticket


> If
>  no, maybe a LiftRule PF that could be used to force session creation
>  for certain requests?
>

No, because we don't know what the request is during the rewrite phase.


>
> - Would it be possible to detect (at least in Dev mode) some of these
>  misuses (i.e. using a SessionVar with no session) and emit a warning?
>

Yes.  Please open a ticket.


>
> > So, the first request from a browser does not have a session and thus
> does
> > not have session vars.  Is there a way you can use RequestVars here?
>
> I guess I can hack something together for this case, but I need to think
> a little more to make sure it fits cleanly with the rest.
>

Generally, the rewrite phase should not have side effects.  Yeah, storing
something in a RequestVar is one thing, but changing session state is
another.  I would strongly suggest looking at your code and seeing if you
can set the SessionVar in the business logic portion of your code.


>
> If I just redirect back to the same page, will this trigger the session
> creation or does the redirect happen before the session is created?
>

You could manually force the session to be created and then redirect.


>
> It's a multipage workflow, so SessionVars seem like the easy way out
> :-)
>

Wizard is coming. :-)


>
> /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
Surf the harmonics

--~--~-~--~~~---~--~~
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: MegaProtoUser + MappedPassword question

2009-11-13 Thread David Pollak
On Sun, Nov 8, 2009 at 5:48 AM, george  wrote:

>
> I'm using MegaProtoUser which has a MappedPassword field.
>
> When the sign up form is displayed, the password field is pre-
> populated to '***' which is proving very confusing for some users.
>

The reason for the design is that all MappedPasswords in Lift contain a
password.  It's just that it's not possible to recover the password (it's
1-way hashed).


>
> I would like to display the password field as a completely empty
> field, but I can not see a way to override this behavior.
>

You can change the _toForm method and as Derek suggested, we'll add a flag
to change the behavior.


>
> MegaProtoUser is mostly suiting my needs pretty well right now, so I
> am reluctant to roll my own for the sake of such a small detail.
>

Once the issues with Structural Types (see Scala defect 1006) go away (as in
Scala 2.8), we'll change MegaProtoUser to support changing the mapped
fields, but right now, you're kinda stuck.

Sorry.

David


>
> Does anyone have any ideas how I can achieve this?
>
> thanks
>
> george
> >
>


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

--~--~-~--~~~---~--~~
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: Accessing functions of a lift webapp from the command line

2009-11-13 Thread David Pollak
Julian,

The short answer to your question is to create separate projects that depend
on one another.

So, you can put all your business logic in a module and package it up as a
"JAR" file (this is the basic unit of packaging for JVM-based applications).

Then you can build a a web based application and/or a command line
application that accesses the business logic (the library).

On Fri, Nov 13, 2009 at 6:44 AM, Julian Backes
wrote:

>
> Hi Lift Community,
>
> I'm pretty new to the Scala/Lift world. My idea is to port a web
> application written by me in PHP to Scala/Lift. Unfortunately, the PHP
> version also has some functions which are used by some cronjob, i.e.
> from the command line.
>
> So my first question is: Is there any possibility to access functions
> in a Lift webapp from the command line?
>

See above.


>
> My idea in a more general version is: I want to write some application
> which can be accessed in multiple ways: for example from the command
> line (as just described), from the web using "normal" xhtml pages,
> from the web using json requests etc.
> Of course, I want to write as less functionality as possible twice so
> there should be some core which has the "logic" (and probably some
> model/database in the background) and several interfaces (one command
> line interface, one webinterface, one json interface...) which should
> only act as translators.
> For example the web interface gets some (let's say POST) request,
> "extracts" the data needed to process the request and passes these
> date to the core. The core does something and returns the data needed
> for an answer. The webinterface takes these data and creates some
> xhtml page out of it.
> In contrast to that, the json interface "only" gets a request in json
> format, extracts the data, passes them to the core, gets the result
> and sends back a *json* answer.
> The command line interface will just take some command line arguments,
> extract data, pass them and answer with *some plain text*.
>
> So my second question is: How does this idea fit into the lift world?
>

Just fine.


>
> One reason for my questions: As I understood it, Lift is heavily bound
> to the webinterface part I described above. For example the snippets
> which seem to be one very important part of Lift can only work with
> xml/xhtml data.
>

Yes, but the snippet is meant to bridge between business logic and XHTML
presentation.


>
> I hope you understand my ideas and questions, I'm still learning
> English ;-)
>

You speak it very well.

Thanks,

David


>
> Thanks in advance for all answers!!
>
> Julian
>
> >
>


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

--~--~-~--~~~---~--~~
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: CometActor and render

2009-11-13 Thread Randinn

Ah, nice, just checking if you knew about it as an option.

On Nov 13, 8:08 am, Jack Widman  wrote:
> I did and its actually in the code I attached. In one place I use Dispatch
> and in another place I use httpclient directly. I intend to use Dispatch for
> everything.
>
>
>
> On Thu, Nov 12, 2009 at 4:05 PM, Randinn  wrote:
>
> > I'm not trying to change the subject but I was wondering if you looked
> > at Databinder Dispatchhttp://databinder.net/dispatch/Aboutfor your
> > url calls?
>
> > On Nov 12, 3:26 pm, Jack Widman  wrote:
> > > David,
>
> > > I have attached my code. It runs but does not behave as I intended it to.
> > > The code does a web search on the term "scala" and displays a list of
> > URLs
> > > of the results. Next to each URL it says "Page Length : -1". A process is
> > > running in the background which takes each URL, goes out and gets the
> > page
> > > and takes the length of the page. The length of that page is then
> > supposed
> > > to immediately appear on the page next to that URL. I put the lengths on
> > a
> > > queue, as they come in, and I have the Comet page poll the queue and
> > display
> > > the results. It would probably be better to have the results send a
> > message
> > > to the Comet class so the page is only re-rendered when there is a change
> > > but for now I am polling.
>
> > > I can see the lengths coming in and being put on the queue, but the Comet
> > > page is not getting them till they are all retrieved. (This takes way too
> > > long and nothing changes on the screen till its too late). I need them to
> > > appear as they come in. Occasionally I can see a length being retrieved
> > and
> > > the Comet page finds it but even then it is not displayed until all the
> > > lengths are in.   I know this is not very clear but I think it will be
> > clear
> > > from the code.
>
> > > I also know there are a lot of places in the code which can be improved
> > and
> > > I welcome all of your input but what I would love is to have these
> > numbers
> > > appear on the page as they they are retrieved. I have been stumped by
> > this
> > > for a while and I suspect that somebody who knows Lift well might see the
> > > problem right away.
>
> > > The class that retrieves the page lengths is called Calculator and the
> > queue
> > > is called SourceQueue. The classes are pretty small so hopefully it will
> > be
> > > clear what is going on. I want you to know I think it is incredible how
> > > responsive you and the group are and I look forward to using Lift in the
> > > future.
>
> > > Thanks so much.
>
> > > Jack
>
> > > On Tue, Nov 10, 2009 at 1:27 AM, David Pollak <
> > feeder.of.the.be...@gmail.com
>
> > > > wrote:
>
> > > > On Mon, Nov 9, 2009 at 10:10 PM, Jack Widman  > >wrote:
>
> > > >> The only difference between your working code and mine is that mine
> > has a
> > > >> process in the background that is always running and puts Foo objects
> > on a
> > > >> queue whenever they are ready. Where can I start this long running
> > process
> > > >> so that it doesn't interfere with the lowPriority method that takes
> > things
> > > >> off the queue and rerenders the page. I tried starting the process in
> > its
> > > >> own Actor that I start in localSetup but it seems somehow to be
> > blocking the
> > > >> lowPriority method from doing its thing.
>
> > > > I have no idea what this means... sorry.
>
> > > > Please post actual runnable code and we can help you debug.
>
> > > >> On Sun, Nov 8, 2009 at 11:35 PM, David Pollak <
> > > >> feeder.of.the.be...@gmail.com> wrote:
>
> > > >>> Jack,
>
> > > >>> I reproduced your code and it seems to work fine.  I've enclosed a
> > > >>> working copy.
>
> > > >>> Some comments about your code:
>
> > > >>>    - The foos variable and the foo variable may be getting confused
> > in
> > > >>>    the code... the render method may be rendering the same thing
> > based on the
> > > >>>    unchanging foos variable.
> > > >>>    - Doing null testing is a sign that you have logic errors in your
> > > >>>    code.  I strongly recommend using either Box or Option for
> > everything that
> > > >>>    can logically not contain a value/reference.  If you're bridging
> > out to Java
> > > >>>    code and are expecting null from the Java code, write a small
> > bridge that
> > > >>>    will wrapper the Java return values in Box/Option.
> > > >>>    - You have a case class (Tick) that contains no parameters.
> >  Please
> > > >>>    use a case object instead.
> > > >>>    - Your Tick look is a spin loop.  You fire a Tick message as part
> > of
> > > >>>    processing the Tick message.  I would suggest that if you're
> > polling, that
> > > >>>    you have a reasonable poll interval, otherwise you'll starve your
> > CPU.
> > > >>>    Further, having reRender on each loop through means that you're
> > forcing a
> > > >>>    lot of bytes over the wire rather than only doing a reRender on
> > changed
> > > >>>    values.
>
> > > >>> Thanks,
>
> > >

[Lift] Re: ScalaTest in Lift archetypes

2009-11-13 Thread Bill Venners

Hi Tim,

Let's do that. See you next week.

Bill

On Wed, Nov 11, 2009 at 3:33 PM, Timothy Perrett
 wrote:
>
> Bill, can I propose you and I get together at devoxx and discuss the
> options?
>
> I belive my talk is not long after yours!
>
> Cheers, Tim
>
> Sent from my iPhone
>
> On 11 Nov 2009, at 21:50, Bill Venners  wrote:
>
>>
>> Hi,
>>
>> I was talking with David Pollak the other night about putting some
>> ScalaTest examples into the Lift archetypes. He said I should post to
>> the list. Can anyone out there let me know how we might go about that?
>>
>> Thanks.
>>
>> Bill
>> 
>> Bill Venners
>> Artima, Inc.
>> http://www.artima.com
>>
>> >
>>
>
> >
>



-- 
Bill Venners
Artima, Inc.
http://www.artima.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: Empty Box exception in MetaMapper

2009-11-13 Thread David Pollak
On Thu, Nov 12, 2009 at 9:08 PM, Jim McBeath  wrote:

>
> Assuming I prune it down to an example that requires only a few
> files, which would probably include an SQL script for creating a test
> database that has the appropriate schema in it, is there a procedure
> for submitting such a test case?  Should I just post source code
> to this group?  Make a jar file with sources and put it somewhere?
> If someone can point me to a wiki page or some other reference to clue
> me in as to standard procedure for doing this, that would be nice.
>

Please open a ticket at http://github.com/dpp/liftweb/issues and if there's
example code, the best thing is to create a GitHub project... the second
best thing is to email me a tarball of the example.


>
> --
> Jim
>
> On Thu, Nov 12, 2009 at 07:28:24PM -0800, David Pollak wrote:
> > Date: Thu, 12 Nov 2009 19:28:24 -0800
> > From: David Pollak 
> > To: liftweb@googlegroups.com
> > Subject: [Lift] Re: Empty Box exception in MetaMapper
> >
> >If you can create a reproducible case, we're look into it.
> >
> >On Thu, Nov 12, 2009 at 5:43 PM, Jim McBeath 
> >wrote:
> >
> >  When I try to save a record in my table from the Create form built
> >  by
> >  CRUDify, I am getting a "Trying to open an empty Box" exception from
> >  within MetaMapper.scala, line 617 (in 1.1M7), which is this line:
> >  Â  Â findApplier(indexMap.open_!, rs.getObject(1)) match {
> >  It appears that indexMap is initialized to Empty at line 888
> >  and is set to Full at line 985, but the latter happens only if
> >  dbPrimaryKey_? and dbAutogenerated? are both true. Â In my case I
> >  have set dbAutogenerated_? = false for my primary key, so indexMap
> >  will always be Empty, and the code at line 617 will always throw
> >  an exception.
> >  Is this a bug, or am I misunderstanding or misusing something?
> >  My primary field in my KeyedMapper class looks essentially like
> >  this:
> >  Â  Â object pk extends MappedStringIndex(this,1) {
> >  Â  Â  Â  Â override def dbColumnName = "TABLENAME_PK"
> >  Â  Â  Â  Â override def dbDisplay_? = true
> >  Â  Â  Â  Â override def writePermission_? = true
> >  Â  Â  Â  Â override def dbAutogenerated_? = false
> >  Â  Â  Â  Â override lazy val defaultValue = ""
> >  Â  Â }
> >  --
> >  Jim
> >  P.S. Thanks for the OracleDriver fix, Dave.
> >
> >--
> >Lift, the simply functional web framework http://liftweb.net
> >Beginning Scala http://www.apress.com/book/view/1430219890
> >Follow me: http://twitter.com/dpp
> >Surf the harmonics
> >
>
> >
>


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

--~--~-~--~~~---~--~~
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: problems with tomcat

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 9:15 AM, DavidV  wrote:

>
> When running Lift-1.0.2 and Scala-2.7.5 I am able to compile and run
> my code through maven.  However, I am concerned about my inability to
> run the "mvn clean package" command successfully without first running
> the "clean" command in eclipse.


Yeah... Eclipse is generally a problem.

Are you running Windows or Linux/Mac?

Can you quite Eclipses before doing a build.


>  I am afraid that this extra eclipse
> step may be interfering with the proper creation of the .war file
> which may be contributing to the problem.  When I try to execute "mvn
> clean package" without eclipse I get the following error appearing in
> my surefire-report:
>
>
> ---
> Test set: net.genomas.lift.test.AppTest
>
> ---
> Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.251
> sec <<< FAILURE!
> testXml(net.genomas.lift.test.AppTest)  Time elapsed: 1.228 sec  <<<
> ERROR!
> java.net.ConnectException: Connection refused: connect
>at java.net.PlainSocketImpl.socketConnect(Native Method)
>at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:
> 195)
>at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>at java.net.Socket.connect(Socket.java:525)
>at java.net.Socket.connect(Socket.java:475)
>at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
>at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
>at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
>at sun.net.www.http.HttpClient.(HttpClient.java:233)
>at sun.net.www.http.HttpClient.New(HttpClient.java:306)
>at sun.net.www.http.HttpClient.New(HttpClient.java:323)
>at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient
> (HttpURLConnection.java:860)
>at sun.net.www.protocol.http.HttpURLConnection.plainConnect
> (HttpURLConnection.java:801)
>at sun.net.www.protocol.http.HttpURLConnection.connect
> (HttpURLConnection.java:726)
>at sun.net.www.protocol.http.HttpURLConnection.getInputStream
> (HttpURLConnection.java:1049)
>at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity
> (XMLEntityManager.java:677)
>at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity
> (XMLEntityManager.java:1315)
>at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity
> (XMLEntityManager.java:1282)
>at
> com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource
> (XMLDTDScannerImpl.java:283)
>at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
> $DTDDriver.dispatch(XMLDocumentScannerImpl.java:1193)
>at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
> $DTDDriver.next(XMLDocumentScannerImpl.java:1090)
>at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
> $PrologDriver.next(XMLDocumentScannerImpl.java:1003)
>at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next
> (XMLDocumentScannerImpl.java:648)
>at
>
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument
> (XMLDocumentFragmentScannerImpl.java:510)
>at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
> (XML11Configuration.java:807)
>at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
> (XML11Configuration.java:737)
>at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse
> (XMLParser.java:107)
>at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
> (AbstractSAXParser.java:1205)
>at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
> $JAXPSAXParser.parse(SAXParserImpl.java:522)
>at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
>at
> scala.xml.parsing.FactoryAdapter.loadXML(FactoryAdapter.scala:292)
>at scala.xml.parsing.NoBindingFactoryAdapter.loadXML
> (NoBindingFactoryAdapter.scala:60)
>at scala.xml.XML$.loadFile(XML.scala:42)
>

Just comment out the test for now.



>at net.genomas.lift.test.AppTest.wellFormed$1(AppTest.scala:52)
>at net.genomas.lift.test.AppTest$$anonfun$wellFormed$1$1.apply
> (AppTest.scala:48)
>at net.genomas.lift.test.AppTest$$anonfun$wellFormed$1$1.apply
> (AppTest.scala:48)
>at scala.Iterator$class.foreach(Iterator.scala:414)
>at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45)
>at scala.Iterable$class.foreach(Iterable.scala:256)
>at scala.runtime.BoxedArray.foreach(BoxedArray.scala:24)
>at net.genomas.lift.test.AppTest.wellForme

[Lift] Re: Ajax and custom HTTP headers

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 1:37 PM, Marius  wrote:

>
> Hi,
>
> Do you think it would worth having a better support for setting HTTP
> headers for Ajax requests ? I mean some REST API's may use some meta
> information in the HTTP headers and it migh be handy to set this up
> from lift code when using Ajax calls.
>
> Thoughts?
>

Sounds great!


>
> Br's,
> Marius
> >
>


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

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Kris Nuttycombe

On Fri, Nov 13, 2009 at 3:42 PM, David Pollak
 wrote:
>
>
> On Fri, Nov 13, 2009 at 12:12 PM, Kris Nuttycombe
>  wrote:
>>
>> On Fri, Nov 13, 2009 at 11:46 AM, Derek Chen-Becker
>>  wrote:
>> > Looks like it. Probably private[liftweb] would work, too. In any case,
>> > the
>> > scaladocs need to be updated to reflect what it's for.
>> >
>> > On Fri, Nov 13, 2009 at 12:26 PM, Kris Nuttycombe
>> >  wrote:
>> >>
>> >> Hmmm is this now TransientRequestVar? It's private[http], but
>> >> could it be protected instead?
>> >>
>> >> Kris
>>
>> David, do you have an opinion? Is there any reason to keep this
>> private to lift, or is it something that 3rd-party libraries could
>> make use of (as in this case?)
>
> I wanted to keep it as narrow as possible while we saw how it worked and got
> better naming.  Making it private[liftweb] is fine and we'll open it up
> later.
>

Okay, done and on ReviewBoard.

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 12:12 PM, Kris Nuttycombe  wrote:

>
> On Fri, Nov 13, 2009 at 11:46 AM, Derek Chen-Becker
>  wrote:
> > Looks like it. Probably private[liftweb] would work, too. In any case,
> the
> > scaladocs need to be updated to reflect what it's for.
> >
> > On Fri, Nov 13, 2009 at 12:26 PM, Kris Nuttycombe
> >  wrote:
> >>
> >> Hmmm is this now TransientRequestVar? It's private[http], but
> >> could it be protected instead?
> >>
> >> Kris
>
> David, do you have an opinion? Is there any reason to keep this
> private to lift, or is it something that 3rd-party libraries could
> make use of (as in this case?)
>

I wanted to keep it as narrow as possible while we saw how it worked and got
better naming.  Making it private[liftweb] is fine and we'll open it up
later.


>
> Kris
>
> >
>


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

--~--~-~--~~~---~--~~
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] Ajax and custom HTTP headers

2009-11-13 Thread Marius

Hi,

Do you think it would worth having a better support for setting HTTP
headers for Ajax requests ? I mean some REST API's may use some meta
information in the HTTP headers and it migh be handy to set this up
from lift code when using Ajax calls.

Thoughts?

Br's,
Marius
--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Kris Nuttycombe

On Fri, Nov 13, 2009 at 11:46 AM, Derek Chen-Becker
 wrote:
> Looks like it. Probably private[liftweb] would work, too. In any case, the
> scaladocs need to be updated to reflect what it's for.
>
> On Fri, Nov 13, 2009 at 12:26 PM, Kris Nuttycombe
>  wrote:
>>
>> Hmmm is this now TransientRequestVar? It's private[http], but
>> could it be protected instead?
>>
>> Kris

David, do you have an opinion? Is there any reason to keep this
private to lift, or is it something that 3rd-party libraries could
make use of (as in this case?)

Kris

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Derek Chen-Becker
Looks like it. Probably private[liftweb] would work, too. In any case, the
scaladocs need to be updated to reflect what it's for.

On Fri, Nov 13, 2009 at 12:26 PM, Kris Nuttycombe  wrote:

>
> Hmmm is this now TransientRequestVar? It's private[http], but
> could it be protected instead?
>
> Kris
>
> On Fri, Nov 13, 2009 at 11:22 AM, Kris Nuttycombe
>  wrote:
> > Let me just try it out since I've got a test case, and if need be I'll
> > file the ticket & commit.
> >
> > Kris
> >
> > On Fri, Nov 13, 2009 at 10:45 AM, Derek Chen-Becker
> >  wrote:
> >> Looking at 81f1715f671e8b5ee4f6d3ce242cc9da272611d1, maybe the
> RequestVar
> >> needs to be changed to an UnboundRequestVar. It's not clear from the
> >> scaladocs on UnboundRequestVar, though, that this is the intent. It
> looks
> >> like those scaladocs were just copied and pasted from RequestVar. If
> this
> >> sounds like the right change to make I can fix RequestVarEM and update
> the
> >> scaladocs for UnboundRequestVar.
> >>
> >> Derek
> >>
> >> On Fri, Nov 13, 2009 at 11:24 AM, Kris Nuttycombe
> >>  wrote:
> >>>
> >>> On Thu, Nov 12, 2009 at 5:57 PM, David Pollak
> >>>  wrote:
> >>> > Kris,
> >>> >
> >>> > There was a bunch of changes in the net.liftweb.mapper.DB code for
> >>> > transaction management, but I don't think that would impact JPA.
> >>> >
> >>> > Also, in M7, there were changes in how RequestVars are handled during
> >>> > Ajax
> >>> > requests... basically, state is snapshotted when the Ajax request is
> >>> > created
> >>> > and then that snapshot state is restored during the servicing of the
> >>> > Ajax
> >>> > request.  If the RequestVarEM stuff is being snapshotted, that could
> >>> > cause
> >>> > issues.
> >>> >
> >>> > Thanks,
> >>> >
> >>> > David
> >>>
> >>> That sounds like it could very likely be the culprit, but I'm going to
> >>> have to dig a bit more to know for certain.
> >>>
> >>> the RequestVarEM trait uses the following RequestVar:
> >>>
> >>>  object emVar extends RequestVar[EntityManager](openEM()) {
> >>>this.registerGlobalCleanupFunc(ignore => closeEM(this.is))
> >>>
> >>>override def __nameSalt = net.liftweb.util.Helpers.randomString(10)
> >>>  }
> >>>
> >>> openEM() is supplied in my case by JndiEMF. If this would not be
> >>> called during handling of an AJAX request, that's definitely the
> >>> issue.
> >>>
> >>> This brings to mind an issue I'd worried about a long time ago, back
> >>> when I had my own implementation of a JNDI resource acquisition trait
> >>> for persistence. We can tie into the cleanup phase of the RequestVar's
> >>> lifecycle with a cleanup func, but if the RequestVar is going to be
> >>> persisted across actual HTTP requests in the AJAX case, we will also
> >>> need additional lifecycle hooks. I'm actually kind of concerned about
> >>> this decision; it seems like it could really complicate usage of
> >>> RequestVar in cases where the container has additional stuff it does
> >>> related to the lifecycle of the HTTP request (like JTA).
> >>>
> >>> Maybe there should be a separate AnyVar subclass that is intended for
> >>> this sort of persist-for-ajax situation?
> >>>
> >>> Kris
> >>>
> >>> >
> >>> > On Thu, Nov 12, 2009 at 4:49 PM, Kris Nuttycombe
> >>> > 
> >>> > wrote:
> >>> >>
> >>> >> Hi, all (Derek! :),
> >>> >>
> >>> >> Have there been significant changes in how transactions are handled
> by
> >>> >> lift-jpa since M6? Due to the rearrangement of the repository, I'm
> >>> >> having a hard time figuring out if the code has changed.
> >>> >>
> >>> >> I have a repeatable issue that shows up when changing between M6 and
> >>> >> SNAPSHOT wherein I now get
> >>> >> javax.persistence.TransactionRequiredExceptions when doing a merge
> >>> >> using a JndiEMF with RequestVarEM in an AJAX callback.
> >>> >>
> >>> >> Has anything major changed in this timeframe?
> >>> >>
> >>> >> Kris
> >>> >>
> >>> >>
> >>> >
> >>> >
> >>> >
> >>> > --
> >>> > Lift, the simply functional web framework http://liftweb.net
> >>> > Beginning Scala http://www.apress.com/book/view/1430219890
> >>> > Follow me: http://twitter.com/dpp
> >>> > Surf the harmonics
> >>> >
> >>> > >
> >>> >
> >>>
> >>>
> >>
> >>
> >> >>
> >>
> >
>
> >
>

--~--~-~--~~~---~--~~
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: How to specify the SELECT statement in the Mapper ?

2009-11-13 Thread harryh

You'll be better off if you don't do it that way.  Compute the day of
week from created_at in your scala code (personally I prefer joda time
for this sort of thing), instead of having the database do it for you.

Use the database to store and retrieve data, not to perform
calculations.

-harryh

On Nov 9, 1:44 am, "Neil.Lv"  wrote:
> Hi all,
>
>   There is some example code:
> ###
> SELECT id,  name, sex, created_at,  DAYOFWEEK(created_at,) as week,
> (CURRENT_DATE) as t
> FROM users
> WHERE created_at > (CURRENT_DATE ) AND created_at < (CURRENT_DATE +
> interval 2 day)
> ORDER BY created_at ASC
> ###
>
>   How can i specify the SELECT statement that i don't want all the
> columns and i want add the column as week
> in the example code ?
>
>   Any help would be much appreciated!
>
> Cheers,
>   Neil
--~--~-~--~~~---~--~~
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] priority of events

2009-11-13 Thread jack

What is the order that the following three things happen in?

1)localSetup
2)the first time render is called
3)a piece of code in the CometActor that is not inside any method.
--~--~-~--~~~---~--~~
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: Changes to scala-tools.org Hudson

2009-11-13 Thread Josh Suereth
The site portion has not changed yet.  I'm working on that ;)

- Josh

On Fri, Nov 13, 2009 at 11:04 AM, Derek Chen-Becker
wrote:

> Josh, ScalaJPA has the following distribution setup:
>
>  
>
>  scala-tools.org
>
>  http://nexus.scala-tools.org/content/repositories/releases
>
>
>  scala-tools.org
>
>  http://nexus.scala-tools.org/content/repositories/snapshots
> 
>  true
>
>
>  scala-tools.org
>  
> http://nexus.scala-tools.org/content/repositories/mvnsites/${project.artifactId}
> 
>
>  
>
> Does that look correct?
>
>
> On Thu, Nov 5, 2009 at 5:58 PM, Josh Suereth wrote:
>
>> Scala-tools.org's Hudson server will no longer allow local deployment to
>> the repository.  You *must* submit all snapshot/release artifacts through
>> the nexus webapp.   The hudson server will provide a server id (
>> nexus.scala-tools.org) that will have appropriate (and appropriately
>> hidden) credentials for nightly deployments of snapshots.
>>
>> As such, the following changes should be made to lift's pom.xml (I'm
>> trying to update your hudson lift configuration to cause the least amount of
>> disruption):
>>
>> I have a forked repo (jsuereth/liftweb) with the changes as well (if you
>> want to use github's "fork queue" feature):
>>
>> --- a/pom.xml
>> +++ b/pom.xml
>> @@ -806,16 +806,16 @@
>>hudson
>>
>>  
>> -  hudson.scala-tools.org
>> -  file:///home/scala-tools.org/www/repo-snapshots
>> +  nexus.scala-tools.org
>> +  
>> http://nexus.scala-tools.org/content/repositories/releases
>>  
>>  
>> -  hudson.scala-tools.org
>> -  file:///home/scala-tools.org/www/repo-snapshots
>> +  nexus.scala-tools.org
>> +  
>> http://nexus.scala-tools.org/content/repositories/snapshots
>>false
>>  
>>  
>> -  hudson.scala-tools.org
>> +  nexus.scala-tools.org
>>file:///home/
>> scala-tools.org/www/mvnsites-snapshots/liftweb
>>  
>>
>>
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Kris Nuttycombe

Let me just try it out since I've got a test case, and if need be I'll
file the ticket & commit.

Kris

On Fri, Nov 13, 2009 at 10:45 AM, Derek Chen-Becker
 wrote:
> Looking at 81f1715f671e8b5ee4f6d3ce242cc9da272611d1, maybe the RequestVar
> needs to be changed to an UnboundRequestVar. It's not clear from the
> scaladocs on UnboundRequestVar, though, that this is the intent. It looks
> like those scaladocs were just copied and pasted from RequestVar. If this
> sounds like the right change to make I can fix RequestVarEM and update the
> scaladocs for UnboundRequestVar.
>
> Derek
>
> On Fri, Nov 13, 2009 at 11:24 AM, Kris Nuttycombe
>  wrote:
>>
>> On Thu, Nov 12, 2009 at 5:57 PM, David Pollak
>>  wrote:
>> > Kris,
>> >
>> > There was a bunch of changes in the net.liftweb.mapper.DB code for
>> > transaction management, but I don't think that would impact JPA.
>> >
>> > Also, in M7, there were changes in how RequestVars are handled during
>> > Ajax
>> > requests... basically, state is snapshotted when the Ajax request is
>> > created
>> > and then that snapshot state is restored during the servicing of the
>> > Ajax
>> > request.  If the RequestVarEM stuff is being snapshotted, that could
>> > cause
>> > issues.
>> >
>> > Thanks,
>> >
>> > David
>>
>> That sounds like it could very likely be the culprit, but I'm going to
>> have to dig a bit more to know for certain.
>>
>> the RequestVarEM trait uses the following RequestVar:
>>
>>  object emVar extends RequestVar[EntityManager](openEM()) {
>>    this.registerGlobalCleanupFunc(ignore => closeEM(this.is))
>>
>>    override def __nameSalt = net.liftweb.util.Helpers.randomString(10)
>>  }
>>
>> openEM() is supplied in my case by JndiEMF. If this would not be
>> called during handling of an AJAX request, that's definitely the
>> issue.
>>
>> This brings to mind an issue I'd worried about a long time ago, back
>> when I had my own implementation of a JNDI resource acquisition trait
>> for persistence. We can tie into the cleanup phase of the RequestVar's
>> lifecycle with a cleanup func, but if the RequestVar is going to be
>> persisted across actual HTTP requests in the AJAX case, we will also
>> need additional lifecycle hooks. I'm actually kind of concerned about
>> this decision; it seems like it could really complicate usage of
>> RequestVar in cases where the container has additional stuff it does
>> related to the lifecycle of the HTTP request (like JTA).
>>
>> Maybe there should be a separate AnyVar subclass that is intended for
>> this sort of persist-for-ajax situation?
>>
>> Kris
>>
>> >
>> > On Thu, Nov 12, 2009 at 4:49 PM, Kris Nuttycombe
>> > 
>> > wrote:
>> >>
>> >> Hi, all (Derek! :),
>> >>
>> >> Have there been significant changes in how transactions are handled by
>> >> lift-jpa since M6? Due to the rearrangement of the repository, I'm
>> >> having a hard time figuring out if the code has changed.
>> >>
>> >> I have a repeatable issue that shows up when changing between M6 and
>> >> SNAPSHOT wherein I now get
>> >> javax.persistence.TransactionRequiredExceptions when doing a merge
>> >> using a JndiEMF with RequestVarEM in an AJAX callback.
>> >>
>> >> Has anything major changed in this timeframe?
>> >>
>> >> Kris
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > Lift, the simply functional web framework http://liftweb.net
>> > Beginning Scala http://www.apress.com/book/view/1430219890
>> > Follow me: http://twitter.com/dpp
>> > Surf the harmonics
>> >
>> > >
>> >
>>
>>
>
>
> >
>

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Kris Nuttycombe

Hmmm is this now TransientRequestVar? It's private[http], but
could it be protected instead?

Kris

On Fri, Nov 13, 2009 at 11:22 AM, Kris Nuttycombe
 wrote:
> Let me just try it out since I've got a test case, and if need be I'll
> file the ticket & commit.
>
> Kris
>
> On Fri, Nov 13, 2009 at 10:45 AM, Derek Chen-Becker
>  wrote:
>> Looking at 81f1715f671e8b5ee4f6d3ce242cc9da272611d1, maybe the RequestVar
>> needs to be changed to an UnboundRequestVar. It's not clear from the
>> scaladocs on UnboundRequestVar, though, that this is the intent. It looks
>> like those scaladocs were just copied and pasted from RequestVar. If this
>> sounds like the right change to make I can fix RequestVarEM and update the
>> scaladocs for UnboundRequestVar.
>>
>> Derek
>>
>> On Fri, Nov 13, 2009 at 11:24 AM, Kris Nuttycombe
>>  wrote:
>>>
>>> On Thu, Nov 12, 2009 at 5:57 PM, David Pollak
>>>  wrote:
>>> > Kris,
>>> >
>>> > There was a bunch of changes in the net.liftweb.mapper.DB code for
>>> > transaction management, but I don't think that would impact JPA.
>>> >
>>> > Also, in M7, there were changes in how RequestVars are handled during
>>> > Ajax
>>> > requests... basically, state is snapshotted when the Ajax request is
>>> > created
>>> > and then that snapshot state is restored during the servicing of the
>>> > Ajax
>>> > request.  If the RequestVarEM stuff is being snapshotted, that could
>>> > cause
>>> > issues.
>>> >
>>> > Thanks,
>>> >
>>> > David
>>>
>>> That sounds like it could very likely be the culprit, but I'm going to
>>> have to dig a bit more to know for certain.
>>>
>>> the RequestVarEM trait uses the following RequestVar:
>>>
>>>  object emVar extends RequestVar[EntityManager](openEM()) {
>>>    this.registerGlobalCleanupFunc(ignore => closeEM(this.is))
>>>
>>>    override def __nameSalt = net.liftweb.util.Helpers.randomString(10)
>>>  }
>>>
>>> openEM() is supplied in my case by JndiEMF. If this would not be
>>> called during handling of an AJAX request, that's definitely the
>>> issue.
>>>
>>> This brings to mind an issue I'd worried about a long time ago, back
>>> when I had my own implementation of a JNDI resource acquisition trait
>>> for persistence. We can tie into the cleanup phase of the RequestVar's
>>> lifecycle with a cleanup func, but if the RequestVar is going to be
>>> persisted across actual HTTP requests in the AJAX case, we will also
>>> need additional lifecycle hooks. I'm actually kind of concerned about
>>> this decision; it seems like it could really complicate usage of
>>> RequestVar in cases where the container has additional stuff it does
>>> related to the lifecycle of the HTTP request (like JTA).
>>>
>>> Maybe there should be a separate AnyVar subclass that is intended for
>>> this sort of persist-for-ajax situation?
>>>
>>> Kris
>>>
>>> >
>>> > On Thu, Nov 12, 2009 at 4:49 PM, Kris Nuttycombe
>>> > 
>>> > wrote:
>>> >>
>>> >> Hi, all (Derek! :),
>>> >>
>>> >> Have there been significant changes in how transactions are handled by
>>> >> lift-jpa since M6? Due to the rearrangement of the repository, I'm
>>> >> having a hard time figuring out if the code has changed.
>>> >>
>>> >> I have a repeatable issue that shows up when changing between M6 and
>>> >> SNAPSHOT wherein I now get
>>> >> javax.persistence.TransactionRequiredExceptions when doing a merge
>>> >> using a JndiEMF with RequestVarEM in an AJAX callback.
>>> >>
>>> >> Has anything major changed in this timeframe?
>>> >>
>>> >> Kris
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Lift, the simply functional web framework http://liftweb.net
>>> > Beginning Scala http://www.apress.com/book/view/1430219890
>>> > Follow me: http://twitter.com/dpp
>>> > Surf the harmonics
>>> >
>>> > >
>>> >
>>>
>>>
>>
>>
>> >>
>>
>

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Derek Chen-Becker
Looking at 81f1715f671e8b5ee4f6d3ce242cc9da272611d1, maybe the RequestVar
needs to be changed to an UnboundRequestVar. It's not clear from the
scaladocs on UnboundRequestVar, though, that this is the intent. It looks
like those scaladocs were just copied and pasted from RequestVar. If this
sounds like the right change to make I can fix RequestVarEM and update the
scaladocs for UnboundRequestVar.

Derek

On Fri, Nov 13, 2009 at 11:24 AM, Kris Nuttycombe  wrote:

>
> On Thu, Nov 12, 2009 at 5:57 PM, David Pollak
>  wrote:
> > Kris,
> >
> > There was a bunch of changes in the net.liftweb.mapper.DB code for
> > transaction management, but I don't think that would impact JPA.
> >
> > Also, in M7, there were changes in how RequestVars are handled during
> Ajax
> > requests... basically, state is snapshotted when the Ajax request is
> created
> > and then that snapshot state is restored during the servicing of the Ajax
> > request.  If the RequestVarEM stuff is being snapshotted, that could
> cause
> > issues.
> >
> > Thanks,
> >
> > David
>
> That sounds like it could very likely be the culprit, but I'm going to
> have to dig a bit more to know for certain.
>
> the RequestVarEM trait uses the following RequestVar:
>
>  object emVar extends RequestVar[EntityManager](openEM()) {
>this.registerGlobalCleanupFunc(ignore => closeEM(this.is))
>
>override def __nameSalt = net.liftweb.util.Helpers.randomString(10)
>  }
>
> openEM() is supplied in my case by JndiEMF. If this would not be
> called during handling of an AJAX request, that's definitely the
> issue.
>
> This brings to mind an issue I'd worried about a long time ago, back
> when I had my own implementation of a JNDI resource acquisition trait
> for persistence. We can tie into the cleanup phase of the RequestVar's
> lifecycle with a cleanup func, but if the RequestVar is going to be
> persisted across actual HTTP requests in the AJAX case, we will also
> need additional lifecycle hooks. I'm actually kind of concerned about
> this decision; it seems like it could really complicate usage of
> RequestVar in cases where the container has additional stuff it does
> related to the lifecycle of the HTTP request (like JTA).
>
> Maybe there should be a separate AnyVar subclass that is intended for
> this sort of persist-for-ajax situation?
>
> Kris
>
> >
> > On Thu, Nov 12, 2009 at 4:49 PM, Kris Nuttycombe <
> kris.nuttyco...@gmail.com>
> > wrote:
> >>
> >> Hi, all (Derek! :),
> >>
> >> Have there been significant changes in how transactions are handled by
> >> lift-jpa since M6? Due to the rearrangement of the repository, I'm
> >> having a hard time figuring out if the code has changed.
> >>
> >> I have a repeatable issue that shows up when changing between M6 and
> >> SNAPSHOT wherein I now get
> >> javax.persistence.TransactionRequiredExceptions when doing a merge
> >> using a JndiEMF with RequestVarEM in an AJAX callback.
> >>
> >> Has anything major changed in this timeframe?
> >>
> >> Kris
> >>
> >>
> >
> >
> >
> > --
> > Lift, the simply functional web framework http://liftweb.net
> > Beginning Scala http://www.apress.com/book/view/1430219890
> > Follow me: http://twitter.com/dpp
> > Surf the harmonics
> >
> > >
> >
>
> >
>

--~--~-~--~~~---~--~~
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: How to specify the SELECT statement in the Mapper ?

2009-11-13 Thread Timothy Perrett

If you mean raw sql:

DB.runQuery("SELECT * FROM abc")

Cheers, Tim

On 13 Nov 2009, at 17:35, Neil.Lv wrote:

> 
>  Is there a some simple code ~?
> 
>  Thanks very much!
> 
> Cheers,
>  Neil
> 
> On Nov 13, 10:50 pm, Derek Chen-Becker  wrote:
>> MetaMapper.findAllFields may work for what you're doing, but with the
>> DAYOFWEEK conversion you may just have to go directly against the DB.
>> 
>> Derek
>> 
>> On Sun, Nov 8, 2009 at 11:44 PM, Neil.Lv  wrote:
>> 
>>> Hi all,
>> 
>>>  There is some example code:
>>> ###
>>> SELECT id,  name, sex, created_at,  DAYOFWEEK(created_at,) as week,
>>> (CURRENT_DATE) as t
>>> FROM users
>>> WHERE created_at > (CURRENT_DATE ) AND created_at < (CURRENT_DATE +
>>> interval 2 day)
>>> ORDER BY created_at ASC
>>> ###
>> 
>>>  How can i specify the SELECT statement that i don't want all the
>>> columns and i want add the column as week
>>> in the example code ?
>> 
>>>  Any help would be much appreciated!
>> 
>>> Cheers,
>>>  Neil
> > 
> 


--~--~-~--~~~---~--~~
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: How to specify the SELECT statement in the Mapper ?

2009-11-13 Thread Neil.Lv

  Is there a some simple code ~?

  Thanks very much!

Cheers,
  Neil

On Nov 13, 10:50 pm, Derek Chen-Becker  wrote:
> MetaMapper.findAllFields may work for what you're doing, but with the
> DAYOFWEEK conversion you may just have to go directly against the DB.
>
> Derek
>
> On Sun, Nov 8, 2009 at 11:44 PM, Neil.Lv  wrote:
>
> > Hi all,
>
> >  There is some example code:
> > ###
> > SELECT id,  name, sex, created_at,  DAYOFWEEK(created_at,) as week,
> > (CURRENT_DATE) as t
> > FROM users
> > WHERE created_at > (CURRENT_DATE ) AND created_at < (CURRENT_DATE +
> > interval 2 day)
> > ORDER BY created_at ASC
> > ###
>
> >  How can i specify the SELECT statement that i don't want all the
> > columns and i want add the column as week
> > in the example code ?
>
> >  Any help would be much appreciated!
>
> > Cheers,
> >  Neil
--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Kris Nuttycombe

On Thu, Nov 12, 2009 at 5:57 PM, David Pollak
 wrote:
> Kris,
>
> There was a bunch of changes in the net.liftweb.mapper.DB code for
> transaction management, but I don't think that would impact JPA.
>
> Also, in M7, there were changes in how RequestVars are handled during Ajax
> requests... basically, state is snapshotted when the Ajax request is created
> and then that snapshot state is restored during the servicing of the Ajax
> request.  If the RequestVarEM stuff is being snapshotted, that could cause
> issues.
>
> Thanks,
>
> David

That sounds like it could very likely be the culprit, but I'm going to
have to dig a bit more to know for certain.

the RequestVarEM trait uses the following RequestVar:

  object emVar extends RequestVar[EntityManager](openEM()) {
this.registerGlobalCleanupFunc(ignore => closeEM(this.is))

override def __nameSalt = net.liftweb.util.Helpers.randomString(10)
  }

openEM() is supplied in my case by JndiEMF. If this would not be
called during handling of an AJAX request, that's definitely the
issue.

This brings to mind an issue I'd worried about a long time ago, back
when I had my own implementation of a JNDI resource acquisition trait
for persistence. We can tie into the cleanup phase of the RequestVar's
lifecycle with a cleanup func, but if the RequestVar is going to be
persisted across actual HTTP requests in the AJAX case, we will also
need additional lifecycle hooks. I'm actually kind of concerned about
this decision; it seems like it could really complicate usage of
RequestVar in cases where the container has additional stuff it does
related to the lifecycle of the HTTP request (like JTA).

Maybe there should be a separate AnyVar subclass that is intended for
this sort of persist-for-ajax situation?

Kris

>
> On Thu, Nov 12, 2009 at 4:49 PM, Kris Nuttycombe 
> wrote:
>>
>> Hi, all (Derek! :),
>>
>> Have there been significant changes in how transactions are handled by
>> lift-jpa since M6? Due to the rearrangement of the repository, I'm
>> having a hard time figuring out if the code has changed.
>>
>> I have a repeatable issue that shows up when changing between M6 and
>> SNAPSHOT wherein I now get
>> javax.persistence.TransactionRequiredExceptions when doing a merge
>> using a JndiEMF with RequestVarEM in an AJAX callback.
>>
>> Has anything major changed in this timeframe?
>>
>> Kris
>>
>>
>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >
>

--~--~-~--~~~---~--~~
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: problems with tomcat

2009-11-13 Thread DavidV

When running Lift-1.0.2 and Scala-2.7.5 I am able to compile and run
my code through maven.  However, I am concerned about my inability to
run the "mvn clean package" command successfully without first running
the "clean" command in eclipse.  I am afraid that this extra eclipse
step may be interfering with the proper creation of the .war file
which may be contributing to the problem.  When I try to execute "mvn
clean package" without eclipse I get the following error appearing in
my surefire-report:

---
Test set: net.genomas.lift.test.AppTest
---
Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.251
sec <<< FAILURE!
testXml(net.genomas.lift.test.AppTest)  Time elapsed: 1.228 sec  <<<
ERROR!
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:
195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient
(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect
(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect
(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream
(HttpURLConnection.java:1049)
at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity
(XMLEntityManager.java:677)
at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity
(XMLEntityManager.java:1315)
at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity
(XMLEntityManager.java:1282)
at
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource
(XMLDTDScannerImpl.java:283)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1193)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
$DTDDriver.next(XMLDocumentScannerImpl.java:1090)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
$PrologDriver.next(XMLDocumentScannerImpl.java:1003)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next
(XMLDocumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse
(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at scala.xml.parsing.FactoryAdapter.loadXML(FactoryAdapter.scala:292)
at scala.xml.parsing.NoBindingFactoryAdapter.loadXML
(NoBindingFactoryAdapter.scala:60)
at scala.xml.XML$.loadFile(XML.scala:42)
at net.genomas.lift.test.AppTest.wellFormed$1(AppTest.scala:52)
at net.genomas.lift.test.AppTest$$anonfun$wellFormed$1$1.apply
(AppTest.scala:48)
at net.genomas.lift.test.AppTest$$anonfun$wellFormed$1$1.apply
(AppTest.scala:48)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45)
at scala.Iterable$class.foreach(Iterable.scala:256)
at scala.runtime.BoxedArray.foreach(BoxedArray.scala:24)
at net.genomas.lift.test.AppTest.wellFormed$1(AppTest.scala:48)
at net.genomas.lift.test.AppTest$$anonfun$wellFormed$1$1.apply
(AppTest.scala:48)
at net.genomas.lift.test.AppTest$$anonfun$wellFormed$1$1.apply
(AppTest.scala:48)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45)
at scala.Iterable$cla

[Lift] Re: CometListener

2009-11-13 Thread Jack Widman
sure. Thanks Ross. I will send it tonight. Also what is the difference
between the CometListener and the CometListenee?

On Fri, Nov 13, 2009 at 11:14 AM, Ross Mellgren  wrote:

> Could you send over your pom.xml if you're using Maven? It sounds like
> maybe your build path is not correct.
>
> -Ross
>
>
> On Nov 13, 2009, at 12:09 AM, Jack Widman wrote:
>
> David,
>
> I'm using lift 1.1 and scala 2.5 now and the compiler says it cant find
> CometListener when I import net.liftweb.http._
>
> Jack
>
> On Fri, Nov 13, 2009 at 12:01 AM, David Pollak <
> feeder.of.the.be...@gmail.com> wrote:
>
>>
>>
>> On Thu, Nov 12, 2009 at 8:54 PM, Jack Widman wrote:
>>
>>> C:\work\widman\src\main\scala\com\widman\comet\PackComet.scala:20: error:
>>> type CometListener is not a member of package net.liftweb.http
>>>
>>> I got this compile error.
>>>
>>> I must be missing something obvious.
>>
>>
>> It's part of Lift 1.1, not Lift 1.0
>>
>>
>>>
>>>
>>>  On Thu, Nov 12, 2009 at 11:42 PM, Ross Mellgren wrote:
>>>

 It is in net.liftweb.http.


 http://www.scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/net/liftweb/http/CometListener.html


 By the way, the link you gave only indicates it's in either
 net.liftweb.http, net.liftweb.util, net.liftweb or model (or a couple
 other packages, since scala implicitly imports superpackages).

 -Ross

 On Nov 12, 2009, at 11:38 PM, jack wrote:

 >
 > I also tried net.liftweb.http
 >
 > On Nov 12, 11:35 pm, jack  wrote:
 >> I am trying to use CometListener. According tohttp://bit.ly/1Wnxt4,
 >> it is in the package net.liftweb._ but compiler says it can't be
 >> found. Is this the wrong package?
 > >




>>>
>>>
>>> --
>>> Jack Widman
>>>
>>> co-founder / cto,  Authoritude, Inc.
>>>
>>> 203-641-9355
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Lift, the simply functional web framework http://liftweb.net
>> Beginning Scala http://www.apress.com/book/view/1430219890
>> Follow me: http://twitter.com/dpp
>> Surf the harmonics
>>
>>
>>
>
>
> --
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
>
>
>
> >
>


-- 
Jack Widman

co-founder / cto,  Authoritude, Inc.

203-641-9355

--~--~-~--~~~---~--~~
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: Problem with BlazeDS and LiftFilter 1.0+

2009-11-13 Thread oshyshko

Hello David,

May be there can be a compromise solution.

A custom filter that has only these duties:
- to open LiftMapper-compatible transaction on HTTP-request (it will
be accessible from DB entities like User)
- call chain
- when all chain was processed
   + commit the transaction
   + in case of exception, roll back the transaction + propagate
exception


LiftFilterTransactionWrapper
services.LiftFilterTransactionWrapper 



 LiftFilterTransactionWrapper 
/messagebroker/*


class LiftFilterTransactionWrapper ... {
   ...
}

This will be just enough.

What should be inside LiftFilterTransactionWrapper?

--
Oleksandr

--~--~-~--~~~---~--~~
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: Unit testing a RESTful webservice with Lift

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 8:30 AM, Alex Black  wrote:

>
> another question: is there any way (or need) to stop the Jetty server?
>

No.


>
> Usually running my tests Jetty starts up in about a second or two, but
> once in a while it will take 10s or more, could this have to do with a
> previous instance hanging around or not been shut down properly?
>

Yeah... I notice that as well.  It's a lot worse on my Linux box than on my
Mac.  Oddly, my Mac (2ghz core duo) builds Lift almost as fast as my Linux
desktop (3ghz i7 which runs about 4x faster than the Mac) because the Linux
box has so many waits for Jetty to start.  Would love to get this solved.


>
> On Nov 11, 12:05 pm, David Pollak 
> wrote:
> > On Wed, Nov 11, 2009 at 7:09 AM, Alex Black  wrote:
> >
> > > What are you unhappy about? Those tests look pretty simple and slick
> > > to me!
> >
> > Yeah, but with this change:http://reviewboard.liftweb.net/r/95/
> >
> > You'll get:
> >
> >  "Login" in {
> >   for{
> > login <- post("/api/login", "token" -> token) !@ "Failed to
> > log in" if (testSuccess(login))
> > status <- login.get("/api/status") !@ "Failed to get status"
> > if (testSuccess(status))
> >   } {
> > (status.xml \ "user" \ "@id").text must_== theUser.id.toString
> >   }
> > }
> >
> > > It looks like the JettyTestServer is a singleton inside the test suite
> > > - what happens if you have another test suite? I think you'd then hit
> > > the same problem that I did, when the second test suite tries to fire
> > > up Jetty it will fail because Lift has already been initialized.
> >
> > The example in ESME is a singleton, but the start method is actually a
> lazy
> > val, so you can call it from any test, but it will only be triggered once
> > per run per classloader.  Does this give you what you want?  If not,
> it'll
> > be some mucking around with multiple classloaders.
> >
> >
> >
> >
> >
> > > - Alex
> >
> > > On Nov 10, 2:25 pm, David Pollak 
> > > wrote:
> > > > I've just committed simple API test code up to the ESME project.  The
> key
> > > > pieces are at:
> >
> > >http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca..
> ..
> > > ..
> >
> > > > After spending 30 minutes with the Lift TestKit, I'm wicked unhappy
> with
> > > > it... but that will change later today. ;-)
> >
> > > > On Tue, Nov 10, 2009 at 9:51 AM, Alex Black 
> wrote:
> >
> > > > > My first unit test worked fine, but my second one dies:
> >
> > > > > ERROR - Failed to Boot
> > > > > java.lang.IllegalStateException: Cannot modify after boot.
> > > > >at
> > > net.liftweb.http.RulesSeq$class.safe_$qmark(LiftRules.scala:885)
> > > > >at
> net.liftweb.http.RulesSeq$class.prepend(LiftRules.scala:892)
> > > > >at
> > > net.liftweb.http.RulesSeq$$anon$3.prepend(LiftRules.scala:872)
> > > > > 
> >
> > > > > Presumably because it has already loaded and started Lift, and my
> > > > > second unit test fires up Jetty again trying to start Lift again
> which
> > > > > I take it is not supported.
> >
> > > > > So, I figure I should either:
> > > > > a. refactor my tests so that I only create one jetty and lift
> instance
> > > > > ever
> > > > > - this will probably require 'resetting' the service somehow to
> ensure
> > > > > a blank slate between each unit test, not sure how I get a hold of
> the
> > > > > instance in question for that
> >
> > > > > b. somehow launch jetty/lift differently, or force lift to cleanup?
> >
> > > > > On Nov 9, 10:50 pm, Jonathan Ferguson  wrote:
> > > > > > We fire up Jetty populate a temp database and then run a batch of
> > > tests.
> > > > > > Seems to work well for us.
> >
> > > > > > Jono
> >
> > > > > > 2009/11/10 Alex Black 
> >
> > > > > > > Can anyone suggest some good examples or strategies to use to
> test
> > > a
> > > > > > > webservice written with Lift?
> >
> > > > > > > I've started down the path of firing up Jetty in a unit test,
> then
> > > > > > > just hitting it with say a GET and checking the response.
>  Whats a
> > > > > > > good way of firing up Jetty?  It looks like using ServletTester
> > > would
> > > > > > > be the way to go:
> >
> > >
> http://www.christianschenk.org/blog/testing-web-applications-with-jetty/
> >
> > > > > > > could that work with Lift?
> >
> > > > > > > - Alex
> >
> > > > --
> > > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > > Follow me:http://twitter.com/dpp
> > > > Surf the harmonics
> >
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Surf the harmonics
> >
>


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

--~--~-~--~~~---~--~~
You received this m

[Lift] Re: Neat GitHub trick

2009-11-13 Thread Derek Chen-Becker
Ah. I hadn't realized that part :(

On Fri, Nov 13, 2009 at 9:28 AM, David Pollak  wrote:

>
>
> On Fri, Nov 13, 2009 at 8:07 AM, Derek Chen-Becker 
> wrote:
>
>> Sorry if I'm the only one who didn't realize this before, but if you
>> include the text "Closes #xxx" in your Git commit message, Git will
>> automatically close the xxx ticket using your commit message.
>>
>
> Yes... it's very cool... unfortunately, sometimes tickets get closed when
> the checkin is to a branch other than master...
>
>
>>
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
>
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >
>

--~--~-~--~~~---~--~~
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: Unit testing a RESTful webservice with Lift

2009-11-13 Thread Alex Black

another question: is there any way (or need) to stop the Jetty server?

Usually running my tests Jetty starts up in about a second or two, but
once in a while it will take 10s or more, could this have to do with a
previous instance hanging around or not been shut down properly?

On Nov 11, 12:05 pm, David Pollak 
wrote:
> On Wed, Nov 11, 2009 at 7:09 AM, Alex Black  wrote:
>
> > What are you unhappy about? Those tests look pretty simple and slick
> > to me!
>
> Yeah, but with this change:http://reviewboard.liftweb.net/r/95/
>
> You'll get:
>
>  "Login" in {
>       for{
>         login <- post("/api/login", "token" -> token) !@ "Failed to
> log in" if (testSuccess(login))
>         status <- login.get("/api/status") !@ "Failed to get status"
> if (testSuccess(status))
>       } {
>         (status.xml \ "user" \ "@id").text must_== theUser.id.toString
>       }
>     }
>
> > It looks like the JettyTestServer is a singleton inside the test suite
> > - what happens if you have another test suite? I think you'd then hit
> > the same problem that I did, when the second test suite tries to fire
> > up Jetty it will fail because Lift has already been initialized.
>
> The example in ESME is a singleton, but the start method is actually a lazy
> val, so you can call it from any test, but it will only be triggered once
> per run per classloader.  Does this give you what you want?  If not, it'll
> be some mucking around with multiple classloaders.
>
>
>
>
>
> > - Alex
>
> > On Nov 10, 2:25 pm, David Pollak 
> > wrote:
> > > I've just committed simple API test code up to the ESME project.  The key
> > > pieces are at:
>
> >http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca
> > ..
>
> > > After spending 30 minutes with the Lift TestKit, I'm wicked unhappy with
> > > it... but that will change later today. ;-)
>
> > > On Tue, Nov 10, 2009 at 9:51 AM, Alex Black  wrote:
>
> > > > My first unit test worked fine, but my second one dies:
>
> > > > ERROR - Failed to Boot
> > > > java.lang.IllegalStateException: Cannot modify after boot.
> > > >        at
> > net.liftweb.http.RulesSeq$class.safe_$qmark(LiftRules.scala:885)
> > > >        at net.liftweb.http.RulesSeq$class.prepend(LiftRules.scala:892)
> > > >        at
> > net.liftweb.http.RulesSeq$$anon$3.prepend(LiftRules.scala:872)
> > > > 
>
> > > > Presumably because it has already loaded and started Lift, and my
> > > > second unit test fires up Jetty again trying to start Lift again which
> > > > I take it is not supported.
>
> > > > So, I figure I should either:
> > > > a. refactor my tests so that I only create one jetty and lift instance
> > > > ever
> > > > - this will probably require 'resetting' the service somehow to ensure
> > > > a blank slate between each unit test, not sure how I get a hold of the
> > > > instance in question for that
>
> > > > b. somehow launch jetty/lift differently, or force lift to cleanup?
>
> > > > On Nov 9, 10:50 pm, Jonathan Ferguson  wrote:
> > > > > We fire up Jetty populate a temp database and then run a batch of
> > tests.
> > > > > Seems to work well for us.
>
> > > > > Jono
>
> > > > > 2009/11/10 Alex Black 
>
> > > > > > Can anyone suggest some good examples or strategies to use to test
> > a
> > > > > > webservice written with Lift?
>
> > > > > > I've started down the path of firing up Jetty in a unit test, then
> > > > > > just hitting it with say a GET and checking the response.  Whats a
> > > > > > good way of firing up Jetty?  It looks like using ServletTester
> > would
> > > > > > be the way to go:
>
> >http://www.christianschenk.org/blog/testing-web-applications-with-jetty/
>
> > > > > > could that work with Lift?
>
> > > > > > - Alex
>
> > > --
> > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > Follow me:http://twitter.com/dpp
> > > Surf the harmonics
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Surf the harmonics
--~--~-~--~~~---~--~~
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: Neat GitHub trick

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 8:07 AM, Derek Chen-Becker wrote:

> Sorry if I'm the only one who didn't realize this before, but if you
> include the text "Closes #xxx" in your Git commit message, Git will
> automatically close the xxx ticket using your commit message.
>

Yes... it's very cool... unfortunately, sometimes tickets get closed when
the checkin is to a branch other than master...


>
> >
>


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

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

2009-11-13 Thread Ross Mellgren
Could you send over your pom.xml if you're using Maven? It sounds like  
maybe your build path is not correct.

-Ross

On Nov 13, 2009, at 12:09 AM, Jack Widman wrote:

> David,
>
> I'm using lift 1.1 and scala 2.5 now and the compiler says it cant  
> find CometListener when I import net.liftweb.http._
>
> Jack
>
> On Fri, Nov 13, 2009 at 12:01 AM, David Pollak  > wrote:
>
>
> On Thu, Nov 12, 2009 at 8:54 PM, Jack Widman   
> wrote:
> C:\work\widman\src\main\scala\com\widman\comet\PackComet.scala:20:  
> error: type CometListener is not a member of package net.liftweb.http
>
> I got this compile error.
>
> I must be missing something obvious.
>
> It's part of Lift 1.1, not Lift 1.0
>
>
>
> On Thu, Nov 12, 2009 at 11:42 PM, Ross Mellgren   
> wrote:
>
> It is in net.liftweb.http.
>
> http://www.scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/net/liftweb/http/CometListener.html
>
>
> By the way, the link you gave only indicates it's in either
> net.liftweb.http, net.liftweb.util, net.liftweb or model (or a couple
> other packages, since scala implicitly imports superpackages).
>
> -Ross
>
> On Nov 12, 2009, at 11:38 PM, jack wrote:
>
> >
> > I also tried net.liftweb.http
> >
> > On Nov 12, 11:35 pm, jack  wrote:
> >> I am trying to use CometListener. According tohttp://bit.ly/1Wnxt4,
> >> it is in the package net.liftweb._ but compiler says it can't be
> >> found. Is this the wrong package?
> > >
>
>
>
>
>
>
> -- 
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
>
>
>
>
>
> -- 
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
>
>
>
>
> -- 
> Jack Widman
>
> co-founder / cto,  Authoritude, Inc.
>
> 203-641-9355
>
> >


--~--~-~--~~~---~--~~
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: URL in PlainMailBodyType to BlackBerry

2009-11-13 Thread Derek Chen-Becker
Actually, I thought that Dumbster was more sophisticated than it is. I think
that your approach is fine for verifying that the message is created
properly.

On Thu, Nov 12, 2009 at 2:37 PM, Naftoli Gugenheim wrote:

> What's the advantage/purpose over they method I chose?
>
>
> On Thu, Nov 12, 2009 at 4:36 PM, Naftoli Gugenheim 
> wrote:
>
>> Have you ever used Dumbster?
>>
>>
>> On Thu, Nov 12, 2009 at 2:59 PM, Derek Chen-Becker > > wrote:
>>
>>> I would like to see an integrated dumbster test. You can pick an
>>> arbitrary port to run the test on just by attempting to bind and iterating
>>> until you succeed. Something (roughly) like this:
>>>
>>> def openSmtpServer (startPort : Int, endPort : Int) :
>>> (Int,SimpleSmtpServer) = {
>>>   var port = startPort
>>>   var server : SimpleSmtpServer = null
>>>
>>>   while (port <= endPort && (server eq null)) {
>>> try {
>>>   server = SimpleSmtpServer.start(port)
>>> } catch {
>>>   case _ => port += 1
>>> }
>>>   }
>>>   return (port,server)
>>> }
>>>
>>> Then you can configure Lift's mailer to send to that port on localhost
>>> and go from there.
>>>
>>> Derek
>>>
>>>
>>> On Fri, Nov 6, 2009 at 11:54 AM, Naftoli Gugenheim >> > wrote:
>>>
 Can someone confirm or give other feedback? Are my tests good?
 http://reviewboard.liftweb.net/r/83/



 On Wed, Nov 4, 2009 at 8:45 PM, Naftoli Gugenheim >>> > wrote:

> Okay. Unit test are now on Review Board too (and they pass).
> I'm hoping someone will be able to confirm my work so that my client, a
> medical assistance volunteer-based charity organization, will have email
> working properly along with the rest of Lift's great features, so that the
> volunteer dispatchers will be able to click the links and help sick 
> people.
>
>
> On Wed, Nov 4, 2009 at 2:04 AM, Naftoli Gugenheim <
> naftoli...@gmail.com> wrote:
>
>> I thought of a smarter way to test it. Please tell me if you have any
>> objections.
>> I noticed that some of the specs extend the class they test. The idea
>> is to refactor the call to actually send the email into an outside 
>> method.
>> Then, after making some private members of Mailer protected, the spec can
>> override the behavior of the method that sends it, to instead check the
>> message object.
>> This has the advantages of not adding another dependency to Lift, or
>> relying on a given port being available to run an SMTP server on whoever
>> builds Lift's computer.
>>
>> -
>> David Pollak wrote:
>>
>> On Tue, Nov 3, 2009 at 3:00 PM, Naftoli Gugenheim <
>> naftoli...@gmail.com>wrote:
>>
>> >
>> > I verified locally via dumbster that the content type is test/plain;
>> > charset=us-ascii for a single PlainMailBodyType. For two, or an
>> > XHTMLMailBodyType, it's multipart/alternative.
>> > Do I still need to contribute a test to Lift?
>> >
>>
>> Yes.  This is the last time I will state this criteria or otherwise
>> engage
>> on this subject.
>>
>>
>> >
>> > -
>> > David Pollak wrote:
>> >
>> > On Tue, Nov 3, 2009 at 1:47 PM, Naftoli Gugenheim <
>> naftoli...@gmail.com
>> > >wrote:
>> >
>> > >
>> > > Wait a minute. You want me to test that my change works--that
>> simple
>> > > messages are not multipart--or that other messages still are
>> multipart?
>> >
>> >
>> > Both.
>> >
>> > Test that mail sent as plain text is not multipart and that all
>> other mail
>> > is multipart and that all the mail actually makes it through the
>> system.
>> > It's 2 or 3 tests.
>> >
>> > Why am I imposing this burden on you?  Almost every site that uses
>> Lift
>> > uses
>> > the Mailer.  I have given my cell phone number to some of these
>> sites with
>> > the message "I stand behind Lift... if you're experiencing a
>> problem,
>> > please
>> > call me any time day or night."   So, I'm on the hook if something
>> goes
>> > wrong.  My gut says, "there could be more problems with this
>> apparently
>> > simple change than meet the eye," so I'm asking you to write the
>> tests.
>> >
>> >
>> >
>> >
>> > > Or something else?
>> > >
>> > > -
>> > > David Pollak wrote:
>> > >
>> > > On Tue, Nov 3, 2009 at 1:30 PM, Naftoli Gugenheim <
>> naftoli...@gmail.com
>> > > >wrote:
>> > >
>> > > > I asked you how to write one. I have no clue how to unit test
>> email, or
>> > > > what content type an email is. And the test has to not fail on
>> > computers
>> > > > that don't have an SMTP server, I presume?
>> > >
>> > >
>> > > I don't know how to write tests against mailers, but you'

[Lift] Neat GitHub trick

2009-11-13 Thread Derek Chen-Becker
Sorry if I'm the only one who didn't realize this before, but if you include
the text "Closes #xxx" in your Git commit message, Git will automatically
close the xxx ticket using your commit message.

--~--~-~--~~~---~--~~
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: Changes to scala-tools.org Hudson

2009-11-13 Thread Derek Chen-Becker
Josh, ScalaJPA has the following distribution setup:

 
   
 scala-tools.org
 http://nexus.scala-tools.org/content/repositories/releases
   
   
 scala-tools.org
 http://nexus.scala-tools.org/content/repositories/snapshots
 true
   
   
 scala-tools.org
 
http://nexus.scala-tools.org/content/repositories/mvnsites/${project.artifactId}

   
 

Does that look correct?

On Thu, Nov 5, 2009 at 5:58 PM, Josh Suereth wrote:

> Scala-tools.org's Hudson server will no longer allow local deployment to
> the repository.  You *must* submit all snapshot/release artifacts through
> the nexus webapp.   The hudson server will provide a server id (
> nexus.scala-tools.org) that will have appropriate (and appropriately
> hidden) credentials for nightly deployments of snapshots.
>
> As such, the following changes should be made to lift's pom.xml (I'm trying
> to update your hudson lift configuration to cause the least amount of
> disruption):
>
> I have a forked repo (jsuereth/liftweb) with the changes as well (if you
> want to use github's "fork queue" feature):
>
> --- a/pom.xml
> +++ b/pom.xml
> @@ -806,16 +806,16 @@
>hudson
>
>  
> -  hudson.scala-tools.org
> -  file:///home/scala-tools.org/www/repo-snapshots
> +  nexus.scala-tools.org
> +  http://nexus.scala-tools.org/content/repositories/releases
> 
>  
>  
> -  hudson.scala-tools.org
> -  file:///home/scala-tools.org/www/repo-snapshots
> +  nexus.scala-tools.org
> +  
> http://nexus.scala-tools.org/content/repositories/snapshots
>false
>  
>  
> -  hudson.scala-tools.org
> +  nexus.scala-tools.org
>file:///home/
> scala-tools.org/www/mvnsites-snapshots/liftweb
>  
>
>
>
> >
>

--~--~-~--~~~---~--~~
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 Mapper support for Oracle Sequences

2009-11-13 Thread Derek Chen-Becker
The code in 1.1-SNAPSHOT already uses sequences for Oracle. Here's the
relevant code:

  override def primaryKeySetup(tableName : String, columnName : String) :
List[String] = {
/*
 * This trigger and sequence setup is taken from
http://www.databaseanswers.org/sql_scripts/ora_sequence.htm
 */
super.primaryKeySetup(tableName, columnName) :::
List("CREATE SEQUENCE " + tableName + "_sequence START WITH 1 INCREMENT
BY 1",
 "CREATE OR REPLACE TRIGGER " + tableName + "_trigger BEFORE INSERT
ON " + tableName + " " +
 "FOR EACH ROW " +
 "WHEN (new." + columnName + " is null) " +
 "BEGIN " +
 "SELECT " + tableName + "_sequence.nextval INTO :new." + columnName
+ " FROM DUAL; " +
 "END;")
  }

Are you running into an issue with it?

Derek

On Tue, Nov 10, 2009 at 1:46 AM, aw  wrote:

>
> For Oracle database tables, one typically creates a Sequence to
> provide primary key values.  For example:
>
> create table WIDGET (
>id Number(8,0) not null,
>name varchar2(50) not null,
>...
>constraint WIDGET_PK primary key (id),
>...
> )
> create sequence WIDGET_ID_SEQ
>
> When creating records using Mapper, is there a convenient way to get
> Mapper to automatically leverage the corresponding sequence to
> populate the id column?
>
> (Why Oracle doesn't do this automatically in 2009 like SQL Server,
> Sybase, and other database systems, is beyond me...)
>
> >
>

--~--~-~--~~~---~--~~
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: S.uri not including query params

2009-11-13 Thread Derek Chen-Becker
You should be able to specify the redirect, so this may be a bug. Where are
you setting the loginRedirect? It gets reset to the referred page when a
login is required, so you'll have to set it after that point.

Derek

On Mon, Nov 9, 2009 at 3:12 AM, opyate  wrote:

>
> Hello guys,
>
> I thought the purpose of loginRedirect was to be able to override
> where the newly logged-in user gets redirected to.
>
> I'm doing it like so, in model/User:
>
> loginRedirect(Full("/loadPrivateKey"))
>
> ..but it just goes to the page I accessed before I clicked on /
> user_mgt/login
>
> Is there another way I should be aware of to reach my goal?
>
> I guess I could be more specific: once a user is logged in I need to
> load his/her private key into memory with which to decrypt sensitive
> data from the database (previously encrypted with a public key). I
> have all the code written using BouncyCastle, but was wondering if
> Lift offers something built-in.
> I'd be happy to forward my code on if this could be a useful extension
> to the Lift code.
>
> Thanks,
> Juan
>
>
> On Oct 21, 2:18 pm, Derek Chen-Becker  wrote:
> > http://github.com/dpp/liftweb/issues/#issue/121
> >
> > If I have some time this afternoon I'll fix it.
> >
> > On Tue, Oct 20, 2009 at 8:07 PM, Naftoli Gugenheim  >wrote:
> >
> >
> >
> >
> >
> > > Then my addition to MetaMegaProtoUser of loginRedirect has a bug,
> because
> > > loginFirst sets it based on S.uri.
> > > Since I'm not usually around an internet connection, I won't be able to
> go
> > > through filing a ticket, putting a diff on Review Board, and pushing
> it, in
> > > any small amount of time.
> >
> > > -
> > > David Pollak wrote:
> >
> > > On Tue, Oct 20, 2009 at 2:48 PM, Naftoli Gugenheim <
> naftoli...@gmail.com
> > > >wrote:
> >
> > > > Is S.uri supposed to return the part of the URL after '?'?
> >
> > > No
> >
> > > --
> > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > Follow me:http://twitter.com/dpp
> > > Surf the harmonics
>
> >
>

--~--~-~--~~~---~--~~
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: How to specify the SELECT statement in the Mapper ?

2009-11-13 Thread Derek Chen-Becker
MetaMapper.findAllFields may work for what you're doing, but with the
DAYOFWEEK conversion you may just have to go directly against the DB.

Derek

On Sun, Nov 8, 2009 at 11:44 PM, Neil.Lv  wrote:

>
> Hi all,
>
>  There is some example code:
> ###
> SELECT id,  name, sex, created_at,  DAYOFWEEK(created_at,) as week,
> (CURRENT_DATE) as t
> FROM users
> WHERE created_at > (CURRENT_DATE ) AND created_at < (CURRENT_DATE +
> interval 2 day)
> ORDER BY created_at ASC
> ###
>
>  How can i specify the SELECT statement that i don't want all the
> columns and i want add the column as week
> in the example code ?
>
>  Any help would be much appreciated!
>
> Cheers,
>  Neil
>
> >
>

--~--~-~--~~~---~--~~
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] Accessing functions of a lift webapp from the command line

2009-11-13 Thread Julian Backes

Hi Lift Community,

I'm pretty new to the Scala/Lift world. My idea is to port a web
application written by me in PHP to Scala/Lift. Unfortunately, the PHP
version also has some functions which are used by some cronjob, i.e.
from the command line.

So my first question is: Is there any possibility to access functions
in a Lift webapp from the command line?

My idea in a more general version is: I want to write some application
which can be accessed in multiple ways: for example from the command
line (as just described), from the web using "normal" xhtml pages,
from the web using json requests etc.
Of course, I want to write as less functionality as possible twice so
there should be some core which has the "logic" (and probably some
model/database in the background) and several interfaces (one command
line interface, one webinterface, one json interface...) which should
only act as translators.
For example the web interface gets some (let's say POST) request,
"extracts" the data needed to process the request and passes these
date to the core. The core does something and returns the data needed
for an answer. The webinterface takes these data and creates some
xhtml page out of it.
In contrast to that, the json interface "only" gets a request in json
format, extracts the data, passes them to the core, gets the result
and sends back a *json* answer.
The command line interface will just take some command line arguments,
extract data, pass them and answer with *some plain text*.

So my second question is: How does this idea fit into the lift world?

One reason for my questions: As I understood it, Lift is heavily bound
to the webinterface part I described above. For example the snippets
which seem to be one very important part of Lift can only work with
xml/xhtml data.

I hope you understand my ideas and questions, I'm still learning
English ;-)

Thanks in advance for all answers!!

Julian

--~--~-~--~~~---~--~~
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: Problem with rewriting and SessionVar

2009-11-13 Thread Jeppe Nejsum Madsen

David Pollak  writes:

[...]

> Yes.  The rewrite phase takes place very early in the HTTP request/response
> cycle.  It takes place before the statelessDispatch call.  The
> statelessDispatch call is very important for REST style APIs as it does
> *not* cause the creation of a session, thus for lots of API calls, we don't
> have a session created for each call.
>
> The rewrite phase has to come before the statelessDispatch phase because the
> request has to be properly rewritten before being pattern matched against
> the partial functions that define the statelessDispatch
>
> Based on some of your prior needs, I've made the session available during
> the rewrite phase, but it's only if the session actually exists (basically,
> the request is checked for a session, but the request is not told "create
> one if it doesn't already exists".

I sort of guessed it had to do with this. I find rewriting really useful
to write apps that need to extract info from the URL in a type-safe way
before continuing the processing.

I seem to run into a number of issues with this approach (some which
you've fixed, thanks!), so was wondering if perhaps I'm misusing
rewriting and there are better ways to approach this?

A few thoughts: 

- Is it possible to create a session manually in the rewrite phase? If
  no, maybe a LiftRule PF that could be used to force session creation
  for certain requests? 

- Would it be possible to detect (at least in Dev mode) some of these
  misuses (i.e. using a SessionVar with no session) and emit a warning?

> So, the first request from a browser does not have a session and thus does
> not have session vars.  Is there a way you can use RequestVars here?

I guess I can hack something together for this case, but I need to think
a little more to make sure it fits cleanly with the rest. 

If I just redirect back to the same page, will this trigger the session
creation or does the redirect happen before the session is created?

It's a multipage workflow, so SessionVars seem like the easy way out
:-)

/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: Build Broken?

2009-11-13 Thread Derek Chen-Becker
I don't know how others feel, but I would like all bugs, even for unit
tests, to go through issue tracking and review board. Mostly this is so that
we have good documentation of what is happening to the codebase and why.

Derek

On Sat, Nov 7, 2009 at 11:45 AM, Joni Freeman wrote:

>
> Thanks for the test results. It looked like a charset problem in unit
> test. I changed the assertion in test to use more robust case class
> comparison instead of String comparison. Please let us know if this
> fixes the build on your machine.
>
> Committers, I pushed this small fix directly into master, skipping
> Review Board. Please let me know if this is not allowed even if the
> change is very small and just for unit tests.
>
> Cheers Joni
>
>
> On 7 marras, 07:22, aw  wrote:
> > OK, found Hudson:  http://hudson.scala-tools.org/job/Lift/
> >
> > But now if that isn't broken, why is my fresh clone failing?
> >
>

--~--~-~--~~~---~--~~
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: Problem with rewriting and SessionVar

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 5:21 AM, Jeppe Nejsum Madsen wrote:

>
> Hi,
>
> I seem to have a problem with SessionVars which I try to initialize in
> a LocRewrite.
>
> This is an entry point url to the app. It receives some parameters from
> the url, picks out the parameters and puts them in SessionVars and
> rewrites the request.
>
> I have problems setting the SessionVar when I hit the url in a clean
> browser (ie with no session)
>
> This is the code:
>  private object curAccountId extends SessionVar[Box[Long]](Empty)
>
>  private object curAccount extends RequestVar[Box[Account]] ({
>println("read:"+curAccountId);
>val found = currentAccountId.flatMap(id => getSingleton.find(id));
>println("Found: "+found);
>found})  with CleanRequestVarOnSessionTransition
>
>  def currentAccountId: Box[Long] = curAccountId.is
>  def currentAccount: Box[Account] = curAccount.is
>  def currentAccount_=(account: Box[Account]) {
>println("set account: "+account);
>curAccount.remove
>curAccountId.remove
>curAccountId.set({val s = account.map{a => a.id.is}; println("set:
> "+s);s});
>curAccount.set(account);
>println("read2:"+curAccountId.is)
>  }
>
> In the LocRewrite I call Account.setCurrentAccount = someAccount
>
> When the URL is hit in a clean browser, this is logged:
>
> set account: Full(dk.fleetzone.model.Account={name=Demo Account,id=1})
> set: Full(1)
> read2:Empty
>
> If I hit the login page first (and nothing else, but I believe it triggers
> the
> creation of a http session), and the exact same url, this is logged:
>
> set account: Full(dk.fleetzone.model.Account={name=Demo Account,id=1})
> set: Full(1)
> read2:Full(1)
>
> Any clues??
>

Yes.  The rewrite phase takes place very early in the HTTP request/response
cycle.  It takes place before the statelessDispatch call.  The
statelessDispatch call is very important for REST style APIs as it does
*not* cause the creation of a session, thus for lots of API calls, we don't
have a session created for each call.

The rewrite phase has to come before the statelessDispatch phase because the
request has to be properly rewritten before being pattern matched against
the partial functions that define the statelessDispatch

Based on some of your prior needs, I've made the session available during
the rewrite phase, but it's only if the session actually exists (basically,
the request is checked for a session, but the request is not told "create
one if it doesn't already exists".

So, the first request from a browser does not have a session and thus does
not have session vars.  Is there a way you can use RequestVars here?


>
> /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
Surf the harmonics

--~--~-~--~~~---~--~~
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: Problem with BlazeDS and LiftFilter 1.0+

2009-11-13 Thread David Pollak
On Fri, Nov 13, 2009 at 3:08 AM, oshyshko  wrote:

>
> David,
>
> > Your call to Service.say is outside the scope of the Lift HTTP request,
> so
> > it's not wrapped with the transaction management stuff.
>
> Exactly.
>
> The thing that I want LiftFilter to wrap "/messagebroker/*", so I will
> get per-HTTP request
> automatic transaction management and my code will remain clean.
>

Sorry.  You can either pass the request onto the Filter chain or handle it
in Lift.  You cannot do both.


>
> LiftFilter 0.9 and BlazeDS worked perfectly together,
> but when I switched to Lift 1.0 and greater, LiftFilter killed
> BlazeDS.
>

First, this sounds like a bug in Lift 0.9.  If Lift 0.9 was wrapping the
call to filter.chain in the Lift request context, that's definitely a bug in
Lift.

Second, Lift did not "kill" BlazeDS.  As I demonstrated, Lift is able to
pass the request down the filter chain to BlazeDS without impacting the
request or the request state in any way.


>
> Removing mappings from "web.xml" or adding
> "LiftRules.liftRequest.append { case Req("messagebroker" :: _, _, _)
> => false }"
> didn't really solved the problem but diverged it: BlazeDS is alive,
> but it made nice features of Lift useless.
>

They are not useless.  The issue you're facing is the the S context is not
available "around" your method calls.  If there's a way to extract the
JSESSIONID from BlazeDS, you can call SessionMaster.getSession(jsessionId,
Empty).  With the resulting session, you can call
S.initIfUninitted(foundSession) { your code here }

I don't know how BlazeDS works, but it may be possible to do something that
sets up this kind of context around the dispatch code and you'd have the
Lift session context and BlazeDS.


>
> I believe that these are attempts to cure symptoms while disease is
> still here: LiftFilter kills BlazeDS.
>

No, it most certainly does not.  Repeating that refrain is not helping
address the issue.


>
> It would be great to have a solution like this:
> - LiftFilter wraps "/messagebroker/*" but doesn't change requests, so
> BlazeDS servlet still working
> - methods like Service.say gain transaction management from Lift and
> its code remains clean
>

Unfortunately, without digging into BlazeDS, I can't help beyond the
suggestion above.

Thanks,

David


>
> --
> Oleksandr
>
> >
>


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

--~--~-~--~~~---~--~~
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: Changes to transaction handling since M6?

2009-11-13 Thread Derek Chen-Becker
That's really odd. As far as I know the only thing JPA related that might
have changed is for the JPA Demo site (pom Hibernate version change). The
transaction handling code is all in ScalaJPA, which also hasn't changed.
JndiEMF explicitly opens a transaction before it even retrieves the EM from
JNDI, so I don't know how you could be getting that kind of error. If you
could give me more details (on-list or privately) I'd like to figure out
what's going on here.

Derek

On Thu, Nov 12, 2009 at 5:49 PM, Kris Nuttycombe
wrote:

>
> Hi, all (Derek! :),
>
> Have there been significant changes in how transactions are handled by
> lift-jpa since M6? Due to the rearrangement of the repository, I'm
> having a hard time figuring out if the code has changed.
>
> I have a repeatable issue that shows up when changing between M6 and
> SNAPSHOT wherein I now get
> javax.persistence.TransactionRequiredExceptions when doing a merge
> using a JndiEMF with RequestVarEM in an AJAX callback.
>
> Has anything major changed in this timeframe?
>
> Kris
>
> >
>

--~--~-~--~~~---~--~~
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: MegaProtoUser + MappedPassword question

2009-11-13 Thread Derek Chen-Becker
Open a ticket, as this should be configurable. In case you didn't find it,
the "**" is taken from the MappedPassword object, field blankPw. This
should be a var and there should probably be a per-MappedPassword field
override as well.

Derek

On Sun, Nov 8, 2009 at 6:48 AM, george  wrote:

>
> I'm using MegaProtoUser which has a MappedPassword field.
>
> When the sign up form is displayed, the password field is pre-
> populated to '***' which is proving very confusing for some users.
>
> I would like to display the password field as a completely empty
> field, but I can not see a way to override this behavior.
>
> MegaProtoUser is mostly suiting my needs pretty well right now, so I
> am reluctant to roll my own for the sake of such a small detail.
>
> Does anyone have any ideas how I can achieve this?
>
> thanks
>
> george
> >
>

--~--~-~--~~~---~--~~
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: Problem cloning lift repo.

2009-11-13 Thread David Pollak
The correct command line:

git clone git://github.com/dpp/liftweb.git

On Thu, Nov 12, 2009 at 9:44 PM, ivan  wrote:

>
> I am trying to clone git lift repo and keep getting this error:
>
> git clone http://github.com/dpp/liftweb.git
>
> Initialized empty Git repository in /home/ivan/Dokumenti/Projects/
> scala/lift/liftweb/.git/
> got 38024d4c9cdf764c6d5c8350c78a64ff233b7f05
> walk 38024d4c9cdf764c6d5c8350c78a64ff233b7f05
> Getting alternates list for http://github.com/dpp/liftweb.git
> Getting pack list for http://github.com/dpp/liftweb.git
> Getting index for pack e107de95ba6e027dbdf6c0a2579c57730b8d4dfd
> got 3090feee6cdeb344fe3d94137ba175c68c400f39
> Getting index for pack 320b9931ea32d90ae87a12ecd43238843aee9eba
> Getting pack e107de95ba6e027dbdf6c0a2579c57730b8d4dfd
>  which contains a5a70794c6ad5d414c5778bd450f21fda50135cb
> got 579d28493a4dede0eba92521b954f575cf947532
> got d9e584740f3e10e95df3b1edc1d7bb093128e922
> error: Unable to get pack file
>
> http://github.com/dpp/liftweb.git/objects/pack/pack-e107de95ba6e027dbdf6c0a2579c57730b8d4dfd.pack
> The requested URL returned error: 502
> error: Unable to find a5a70794c6ad5d414c5778bd450f21fda50135cb under
> http://github.com/dpp/liftweb.git
> Cannot obtain needed object a5a70794c6ad5d414c5778bd450f21fda50135cb
> while processing commit 38024d4c9cdf764c6d5c8350c78a64ff233b7f05.
> fatal: Fetch failed.
>
> If I try clone over git protocol I get another error:
>
> git clone git://github.com/dpp/liftweb.git
> Initialized empty Git repository in /home/ivan/Dokumenti/Projects/
> scala/lift/liftweb/.git/
> ... after some time
> github.com[0: 207.97.227.239]: errno=Connection timed out
> fatal: unable to connect a socket (Connection timed out)
>
>
> I think that this other error could have something to do with a
> firewall blocking git protocol port, but shouldn't clone work over
> http? I can clone my repos from github without problems.
>
> Any ideas?
>
>
> >
>


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

--~--~-~--~~~---~--~~
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] Problem with rewriting and SessionVar

2009-11-13 Thread Jeppe Nejsum Madsen

Hi,

I seem to have a problem with SessionVars which I try to initialize in
a LocRewrite.

This is an entry point url to the app. It receives some parameters from
the url, picks out the parameters and puts them in SessionVars and
rewrites the request.

I have problems setting the SessionVar when I hit the url in a clean
browser (ie with no session)

This is the code:
  private object curAccountId extends SessionVar[Box[Long]](Empty)
  
  private object curAccount extends RequestVar[Box[Account]] ({
println("read:"+curAccountId);
val found = currentAccountId.flatMap(id => getSingleton.find(id));
println("Found: "+found);
found})  with CleanRequestVarOnSessionTransition
 
  def currentAccountId: Box[Long] = curAccountId.is
  def currentAccount: Box[Account] = curAccount.is
  def currentAccount_=(account: Box[Account]) {
println("set account: "+account);
curAccount.remove
curAccountId.remove
curAccountId.set({val s = account.map{a => a.id.is}; println("set: "+s);s});
curAccount.set(account); 
println("read2:"+curAccountId.is)
  }
 
In the LocRewrite I call Account.setCurrentAccount = someAccount

When the URL is hit in a clean browser, this is logged:

set account: Full(dk.fleetzone.model.Account={name=Demo Account,id=1})
set: Full(1)
read2:Empty

If I hit the login page first (and nothing else, but I believe it triggers the
creation of a http session), and the exact same url, this is logged:

set account: Full(dk.fleetzone.model.Account={name=Demo Account,id=1})
set: Full(1)
read2:Full(1)

Any clues?? 

/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: lift-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)

2009-11-13 Thread Heiko Seeberger
>
>
> Heiko Seeberger  writes:
>
> > I cannot see, how the maven-bundle-plugin should affect the creation of
> the
> > source jar, but who knows ...
>
> My bad..not knowing maven, I assumed the bundle plugin is the one that
> creates jars. From a cursory look, I can see it seems to only bundle
> class files
>

NP!
Let's see what happens as soon as I am allowed to push to master ...

--~--~-~--~~~---~--~~
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-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)

2009-11-13 Thread Jeppe Nejsum Madsen

Heiko Seeberger  writes:

> I cannot see, how the maven-bundle-plugin should affect the creation of the
> source jar, but who knows ...

My bad..not knowing maven, I assumed the bundle plugin is the one that
creates jars. From a cursory look, I can see it seems to only bundle
class files

> Locally my -SOURCE.jar files are OK. After I get a "Ship it" we will see how
> the Hudson build behaves.

In that case, nothing has probably changed wrt the sources
jar.strange though that yours look correct locally. Clearly the repo
versions are wrong, e.g. the source jar at

http://scala-tools.org/repo-snapshots/net/liftweb/lift-mapper/1.1-SNAPSHOT/

is only 809 bytes, yet it was uploaded at the same time as the real jar.

/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: Problem with BlazeDS and LiftFilter 1.0+

2009-11-13 Thread oshyshko

David,

> Your call to Service.say is outside the scope of the Lift HTTP request, so
> it's not wrapped with the transaction management stuff.

Exactly.

The thing that I want LiftFilter to wrap "/messagebroker/*", so I will
get per-HTTP request
automatic transaction management and my code will remain clean.

LiftFilter 0.9 and BlazeDS worked perfectly together,
but when I switched to Lift 1.0 and greater, LiftFilter killed
BlazeDS.

Removing mappings from "web.xml" or adding
"LiftRules.liftRequest.append { case Req("messagebroker" :: _, _, _)
=> false }"
didn't really solved the problem but diverged it: BlazeDS is alive,
but it made nice features of Lift useless.

I believe that these are attempts to cure symptoms while disease is
still here: LiftFilter kills BlazeDS.

It would be great to have a solution like this:
- LiftFilter wraps "/messagebroker/*" but doesn't change requests, so
BlazeDS servlet still working
- methods like Service.say gain transaction management from Lift and
its code remains clean

--
Oleksandr

--~--~-~--~~~---~--~~
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-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)

2009-11-13 Thread Heiko Seeberger
I cannot see, how the maven-bundle-plugin should affect the creation of the
source jar, but who knows ...
Locally my -SOURCE.jar files are OK. After I get a "Ship it" we will see how
the Hudson build behaves.

Heiko

2009/11/13 Jeppe Nejsum Madsen 

>
> Heiko Seeberger  writes:
>
> > I fixed it and it is on review board ...
>
> Does this by any chance also fix
>
> http://github.com/dpp/liftweb/issues#issue/167
>
> They both seem to be related to the maven bundle config
>
> /Jeppe
>
> >
>


-- 
Heiko Seeberger

My job: weiglewilczek.com
My blog: heikoseeberger.name
Follow me: twitter.com/hseeberger
OSGi on Scala: scalamodules.org
Lift, the simply functional web framework: liftweb.net

--~--~-~--~~~---~--~~
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-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)

2009-11-13 Thread Jeppe Nejsum Madsen

Heiko Seeberger  writes:

> I fixed it and it is on review board ...

Does this by any chance also fix

http://github.com/dpp/liftweb/issues#issue/167

They both seem to be related to the maven bundle config

/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: lift-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)

2009-11-13 Thread Heiko Seeberger
I fixed it and it is on review board ...

Heiko

2009/11/13 Heiko Seeberger 

> OK, I spotted the problem and will work on the issue ...
>
> Heiko
>
> 2009/11/13 Heiko Seeberger 
>
> maven-bundle-plugin? Well, that's my business, I guess. I will take a look
>> ...
>>
>> Heiko
>>
>> 2009/11/12 Alex Boisvert 
>>
>> Can one of our resident Maven experts quickly look at:
>>> http://github.com/dpp/liftweb/issues/#issue/166
>>>
>>> I took a brief look at the poms but couldn't figure why Maven was
>>> including classes from lift-common and lift-actor into lift-webkit.  It is a
>>> feature of the maven-bundle-plugin?
>>>
>>> I can take care of fixing the issue if pointed towards the right
>>> direction.
>>>
>>> thanks!
>>> alex
>>>
>>>
>>> >>>
>>>
>>
>>
>> --
>> Heiko Seeberger
>>
>> My job: weiglewilczek.com
>> My blog: heikoseeberger.name
>> Follow me: twitter.com/hseeberger
>> OSGi on Scala: scalamodules.org
>> Lift, the simply functional web framework: liftweb.net
>>
>
>
>
> --
> Heiko Seeberger
>
> My job: weiglewilczek.com
> My blog: heikoseeberger.name
> Follow me: twitter.com/hseeberger
> OSGi on Scala: scalamodules.org
> Lift, the simply functional web framework: liftweb.net
>



-- 
Heiko Seeberger

My job: weiglewilczek.com
My blog: heikoseeberger.name
Follow me: twitter.com/hseeberger
OSGi on Scala: scalamodules.org
Lift, the simply functional web framework: liftweb.net

--~--~-~--~~~---~--~~
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 there a paginate plug in the lift ?

2009-11-13 Thread Neil.Lv

Hi all,

  Is there a paginate plug in the lift ?

  Just like the WillPaginate in the Rails.

  Thanks for any suggestion !

Cheers, Neil

--~--~-~--~~~---~--~~
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 Milestone coming soon

2009-11-13 Thread Hannes
Hi David,

I read your response, but I didn't replied. Sorry. I've to figure out, 
what causes my problem.  Seems like the CometActor update or something 
doesn't work properly, in M6 it did. But I don't really know, yet.

thanks.
>
>
> On Thu, Nov 12, 2009 at 11:37 AM, Hannes  > wrote:
>
> Hi David,
>
> I wrote you a message about the "CometActor received shutdown"
> thing. I'm almost sure, that this is related to M7, but I've no
> idea, why or what.
>
>
> Did you read my response?  This message is normal and expected.
>  
>
>
> kind regards
> Tobias
>
>> Folks,
>>
>> There are two critical issues with M7:
>>
>> * Issue 164 http://github.com/dpp/liftweb/issues#issue/164
>>JSON/Ajax messages do not carry Notices back to the client.
>> * The Session manager is not initialized properly.
>>Basically, this means that sessions will be expired by the
>>   web container, but not by Lift and GUIDs that map to
>>   functions on the server side are not removed until the
>>   session is terminated.
>>
>> We're planning to do an M7.1 release later this week (probably
>> Friday).
>>
>> If there are other *critical* defects (stuff that means you can't
>> use M7 in production), please speak now.
>>
>> 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
>> Surf the harmonics
>>
>>
>
>
>
>
>
>
> -- 
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >


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