Thanks so much. How would I handle optional parameters? My knowledge
of for comprehensions is quite limited...

Peter

On Jul 14, 10:25 am, David Pollak <[email protected]>
wrote:
> On Mon, Jul 13, 2009 at 5:31 PM, Peter Robinett 
> <[email protected]>wrote:
>
>
>
>
>
> > Thanks, David. Here is its class definition:
>
> > class Packet extends LongKeyedMapper[Packet] with IdPK {
> >  def getSingleton = Packet
> >  object node extends MappedLongForeignKey(this, Node)
> >  object dt extends MappedDateTime(this)
> >  object temp extends MappedDouble(this)
> >  object mAh extends MappedDouble(this)
> >  object lux extends MappedDouble(this)
> >  object rssi extends MappedDouble(this)
> > }
>
> > Also, the Web Services demo (http://demo.liftweb.net/ws) seems to have
> > exactly what I need but the code seems to be old – I get lots of
> > compiler errors.
>
> object RestAPI extends XMLApiHelper {
>  def dispatch: LiftRules.DispatchPF = {
>        case r @ Req("api" :: "packet" :: Nil, "", PostRequest) => () =>
> addPacket(r)
>  }
>  def addPacket(req: Req): LiftResponse = {
>               for {
>                 nodeId <- S.param("node")
>                 node <- Node.find(nodeId)
>                 temp <- S.param("temp").flatMap(s => tryo(s.toDouble))
>               } Packet.create.node(node).temp(temp).save
>
>        OkResponse
>  }
>
>
>
> }
>
> > Peter
>
> > On Jul 13, 5:14 pm, David Pollak <[email protected]>
> > wrote:
> > > On Mon, Jul 13, 2009 at 5:12 PM, Peter Robinett <[email protected]
> > >wrote:
>
> > > > Hello,
>
> > > > I'd appreciate any tips on how to take POSTed data and use it to save
> > > > a new object. Using previous threads here I've figured out how to do
> > > > the basic request processing but my limited knowledge of Mapper and
> > > > Scala's maps mean that I'm not sure how exactly to save the data I
> > > > receive. I'm guessing that I need to use some sort of for
> > > > comprehension to assign all the POST parameters to the object.
>
> > > > Here is what I have:
>
> > > > object RestAPI extends XMLApiHelper {
> > > >  def dispatch: LiftRules.DispatchPF = {
> > > >        case r @ Req("api" :: "packet" :: Nil, "", PostRequest) => () =>
> > > > addPacket(r)
> > > >  }
> > > >  def addPacket(req: Req): LiftResponse = {
> > > >        val packet = Packet.create
> > > >        /* I want to assign the contents of req.params - Map("node" ->
> > > > List("44"), "temp" -> List("24.32525")) - into packet */
> > > >        packet.save
> > > >        OkResponse
> > > >  }
> > > > }
>
> > > Please include the source for Packet (or at least a list of fields and
> > > types)
>
> > > > Thanks,
> > > > Peter Robinett
>
> > > --
> > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > Follow me:http://twitter.com/dpp
> > > Git some:http://github.com/dpp
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to [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