For Graphs I'd recommend Flot :)


On Thu, Mar 26, 2009 at 12:14 AM, David Pollak <
[email protected]> wrote:

> Here's some code to serve an image out of the database.  Here's the Mapper
> definition:
>
> class Image extends LongKeyedMapper[Image] with IdPK {
>   def getSingleton = Image
>
>   object image extends MappedBinary(this)
>   object lookup extends MappedUniqueId(this, 32) {
>     override def dbIndexed_? = true
>   }
>   object saveTime extends MappedLong(this) {
>     override def defaultValue = millis
>   }
>   object mimeType extends MappedString(this, 256)
> }
>
> object Image extends Image with LongKeyedMetaMapper[Image]
>
> And here's the code that serves the image:
>
> object ImageLogic {
>   object TestImage {
>     def unapply(in: String): Option[Image] =
>     Image.find(By(Image.lookup, in.trim))
>   }
>
>   def matcher: LiftRules.DispatchPF = {
>     case r @ Req("image_logic" :: TestImage(img) ::
>                  Nil, _, GetRequest) => () => servImage(img, r)
>   }
>
>   def servImage(img: Image, r: Req): Box[LiftResponse] = {
>     if (r.testIfModifiedSince(img.saveTime))
>     Full(InMemoryResponse(new Array[Byte](0),
>                           List("Last-Modified" ->
>                                toInternetDate(img.saveTime.is)), Nil,
> 304))
>     else Full(InMemoryResponse(img.image.is,
>                                List("Last-Modified" ->
>                                     toInternetDate(img.saveTime.is),
>                                     "Content-Type" -> img.mimeType.is,
>                                     "Content-Length" ->
>                                     img.image.is.length.toString), Nil,
> 200))
>   }
> }
>
> In Boot:
>
>      LiftRules.dispatch.append(ImageLogic.matcher)
>
> Does this help?
>
> Thanks,
>
> David
>
> On Wed, Mar 25, 2009 at 2:38 PM, Thomas Rynne <[email protected]>wrote:
>
>>
>> Hi,
>>  I want to dynamically generate images (actually a graph). I could
>> write a seperate servlet for this but I'd like easy access to the
>> Mapper classes and the logged in User etc so would prefer to write it
>> as a method in lift.
>>
>> Is there a hook for this? I suppose I essentially want direct acccess
>> to the httpresponse.
>>
>> I found some discussion of this here:
>>
>> http://groups.google.com/group/liftweb/browse_thread/thread/9d6f61f69a20765/d98a32e89e87d317
>>
>> but I don't know if it was ever implemented, and need some pointers/
>> documentation if it has been.
>>
>> thanks for any advice,
>> Thomas
>>
>>
>>
>
>
> --
> 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
>
> >
>


-- 
Viktor Klang
Senior Systems Analyst

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

Reply via email to