[Lift] Re: Potential LiftRules dispatch issue.

2009-01-28 Thread Joachim A.

Hi,
I'd be interested to have  a look at the code :)
I was about to do the same. I'd planned to use a simple cache (by uuid) in a 
concurrent, weak map but EHCache might be the better solution, I guess.

Thanks a lot,
Joachim

 On this note, I wrote an image cache for use in conjunction with
 MappedBinary - if anyone is interested I'm happy to post the code. It
 uses EHCache and first checks the cache for the right image, and grabs
 it if it's there, otherwise it does the database read. If your needing
 to store images in the database, using an object cache can vastly cut
 the amount of DB access and reduce server load

 Cheers

 Tim

 On Jan 28, 12:00 am, Alli allilis...@gmail.com wrote:
  Thanks, will definitely order a PDF or your book when it's out.
 
  Cheers,
  Alli
 
  On Jan 27, 11:56 pm, David Pollak feeder.of.the.be...@gmail.com
 
  wrote:
   On Tue, Jan 27, 2009 at 3:53 PM, Alli allilis...@gmail.com wrote:
Is it possible to make the extension a wild card somehow, e.g.
if i want jpg,png,gif,bmp ?
  
   LiftRules.dispatch.append {
    case r @ Req(picture :: fileName :: Nil, extension, GetRequest) if
   List(jpg, png, gif).contains(extension) = () =
       ...
  
   }
  
   Note that this is not a speed-optimal solution (you'd pre-populate set
   with the valid extensions).  But it demonstrates using extractors and
   guards... the stuff I'm writing about this very day in *Beginning
   Scala*.
  
   Thanks,
   David
  
On Jan 27, 11:50 pm, Alli allilis...@gmail.com wrote:
 Thanks chaps, can't believe i didn't spot it :).

 Cheers,
 Alfred

 On Jan 27, 11:48 pm, Tim Perrett he...@timperrett.com wrote:
  Change the req to this:
 
  Req(picture :: fileName :: Nil, jpg, GetRequest)
 
  That should then work for you
 
  Cheers, Tim
 
  On Jan 27, 11:39 pm, Alli allilis...@gmail.com wrote:
   LiftRules.dispatch.append {
     case r @ Req(picture :: fileName :: Nil, , GetRequest) =
   () = ...
  
   }


--~--~-~--~~~---~--~~
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: Potential LiftRules dispatch issue.

2009-01-28 Thread David Pollak
IMHO, a third party cache is a huge waste.

Lift has net.liftweb.util.LRU for this purpose.


On Wed, Jan 28, 2009 at 11:33 AM, Joachim A.
wallaby.po...@googlemail.comwrote:


 Hi,
 I'd be interested to have  a look at the code :)
 I was about to do the same. I'd planned to use a simple cache (by uuid) in
 a
 concurrent, weak map but EHCache might be the better solution, I guess.

 Thanks a lot,
 Joachim

  On this note, I wrote an image cache for use in conjunction with
  MappedBinary - if anyone is interested I'm happy to post the code. It
  uses EHCache and first checks the cache for the right image, and grabs
  it if it's there, otherwise it does the database read. If your needing
  to store images in the database, using an object cache can vastly cut
  the amount of DB access and reduce server load
 
  Cheers
 
  Tim
 
  On Jan 28, 12:00 am, Alli allilis...@gmail.com wrote:
   Thanks, will definitely order a PDF or your book when it's out.
  
   Cheers,
   Alli
  
   On Jan 27, 11:56 pm, David Pollak feeder.of.the.be...@gmail.com
  
   wrote:
On Tue, Jan 27, 2009 at 3:53 PM, Alli allilis...@gmail.com wrote:
 Is it possible to make the extension a wild card somehow, e.g.
 if i want jpg,png,gif,bmp ?
   
LiftRules.dispatch.append {
 case r @ Req(picture :: fileName :: Nil, extension, GetRequest) if
List(jpg, png, gif).contains(extension) = () =
...
   
}
   
Note that this is not a speed-optimal solution (you'd pre-populate
 set
with the valid extensions).  But it demonstrates using extractors and
guards... the stuff I'm writing about this very day in *Beginning
Scala*.
   
Thanks,
David
   
 On Jan 27, 11:50 pm, Alli allilis...@gmail.com wrote:
  Thanks chaps, can't believe i didn't spot it :).
 
  Cheers,
  Alfred
 
  On Jan 27, 11:48 pm, Tim Perrett he...@timperrett.com wrote:
   Change the req to this:
  
   Req(picture :: fileName :: Nil, jpg, GetRequest)
  
   That should then work for you
  
   Cheers, Tim
  
   On Jan 27, 11:39 pm, Alli allilis...@gmail.com wrote:
LiftRules.dispatch.append {
  case r @ Req(picture :: fileName :: Nil, , GetRequest)
 =
() = ...
   
}


 



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

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



[Lift] Re: Potential LiftRules dispatch issue.

2009-01-28 Thread Tim Perrett
Oh I really wasn't aware of that... I'll take a look at it - I use  
ehcache for a lot in general, so in that sense it's less if a waste  
for me :-)

Sent from my iPhone

On 28 Jan 2009, at 19:35, David Pollak feeder.of.the.be...@gmail.com  
wrote:

 IMHO, a third party cache is a huge waste.

 Lift has net.liftweb.util.LRU for this purpose.


 On Wed, Jan 28, 2009 at 11:33 AM, Joachim A. wallaby.po...@googlemail.com 
  wrote:

 Hi,
 I'd be interested to have  a look at the code :)
 I was about to do the same. I'd planned to use a simple cache (by  
 uuid) in a
 concurrent, weak map but EHCache might be the better solution, I  
 guess.

 Thanks a lot,
 Joachim

  On this note, I wrote an image cache for use in conjunction with
  MappedBinary - if anyone is interested I'm happy to post the code.  
 It
  uses EHCache and first checks the cache for the right image, and  
 grabs
  it if it's there, otherwise it does the database read. If your  
 needing
  to store images in the database, using an object cache can vastly  
 cut
  the amount of DB access and reduce server load
 
  Cheers
 
  Tim
 
  On Jan 28, 12:00 am, Alli allilis...@gmail.com wrote:
   Thanks, will definitely order a PDF or your book when it's out.
  
   Cheers,
   Alli
  
   On Jan 27, 11:56 pm, David Pollak feeder.of.the.be...@gmail.com
  
   wrote:
On Tue, Jan 27, 2009 at 3:53 PM, Alli allilis...@gmail.com  
 wrote:
 Is it possible to make the extension a wild card somehow, e.g.
 if i want jpg,png,gif,bmp ?
   
LiftRules.dispatch.append {
 case r @ Req(picture :: fileName :: Nil, extension,  
 GetRequest) if
List(jpg, png, gif).contains(extension) = () =
...
   
}
   
Note that this is not a speed-optimal solution (you'd pre- 
 populate set
with the valid extensions).  But it demonstrates using  
 extractors and
guards... the stuff I'm writing about this very day in  
 *Beginning
Scala*.
   
Thanks,
David
   
 On Jan 27, 11:50 pm, Alli allilis...@gmail.com wrote:
  Thanks chaps, can't believe i didn't spot it :).
 
  Cheers,
  Alfred
 
  On Jan 27, 11:48 pm, Tim Perrett he...@timperrett.com  
 wrote:
   Change the req to this:
  
   Req(picture :: fileName :: Nil, jpg, GetRequest)
  
   That should then work for you
  
   Cheers, Tim
  
   On Jan 27, 11:39 pm, Alli allilis...@gmail.com wrote:
LiftRules.dispatch.append {
  case r @ Req(picture :: fileName :: Nil, ,  
 GetRequest) =
() = ...
   
}






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

 

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



[Lift] Re: StatefulComet

2009-01-28 Thread Charles F. Munat

Ditto.

Chas.

Meredith Gregory wrote:
 David,
 
 i would definitely benefit from an example like the tic-tac-toe.
 
 Best wishes,
 
 --greg
 
 On Wed, Jan 28, 2009 at 9:27 AM, David Pollak 
 feeder.of.the.be...@gmail.com mailto:feeder.of.the.be...@gmail.com 
 wrote:
 
 Folks,
 
 Thanks to some excellent prodding from Greg Meredith, I've added
 StatefulComet which is a subclass of CometActor that supports games
 and other Comet applications.
 
 What do you have to implement:
 trait StatefulComet extends CometActor {
   type Delta : DeltaTrait
   type State : CometState[Delta, State]
 
 Define the types.  Delta is a difference between two State
 objects.  Deltas know how to turn themselves into the JavaScript
 commands that update display state.  State is an immutable data
 structure that contains the current state to be displayed.
 
   /**
* Test the parameter to see if it's an updated state object
*/
   def testState(in: Any): Box[State]
 
   /**
* Return the empty state object
*/
   def emptyState: State
 
 }
 
 You also have to implement a CometState object that holds the
 current state:
 
 trait CometState[DeltaType : DeltaTrait,  MyType :
 CometState[DeltaType, MyType]] {
   self: MyType =
  
   def -(other: MyType): Seq[DeltaType]
   def render: NodeSeq
 }
 
 CometState knows how to diff itself and render itself.
 
 You can implement a very powerful game or other multi-user system on
 top of this paradigm.  I hope to get some example code built around
 a tic-tac-toe game later today or tomorrow.
 
 Thanks,
 
 David
 
 -- 
 Lift, the simply functional web framework http://liftweb.net
 Beginning Scala http://www.apress.com/book/view/1430219890
 Follow me: http://twitter.com/dpp
 Git some: http://github.com/dpp
 
 
 
 
 -- 
 L.G. Meredith
 Managing Partner
 Biosimilarity LLC
 806 55th St NE
 Seattle, WA 98105
 
 +1 206.650.3740
 
 http://biosimilarity.blogspot.com
 
  

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