[Lift] Re: howto do simple calculation with MappedInt
Dave, This helped me a lot to understand things better! thanks. Sorry it took so long to get to this... my inbox keeps growing... sigh. Anyway, Order.scala: 64 should be: def currentCost = Order.this.lots * (Order.this.marketPlace.obj.map(_.lotValue.is) openOr 0 ) The marketplace field is a foreign key reference... so you have to get the row that's represented by the foreign key (.obj) which is a Box[MarketPlace] and then get the lotValue field from the marketplace. I'm enclosing the revised (compiling) files. Thanks, David On Sun, Jul 5, 2009 at 6:31 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: here are the two files, thanks! Send me the file and I'll debug it. On Fri, Jul 3, 2009 at 3:06 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: Thanks Dave, but still getting this error: /home/wacky/NetBeansProjects/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lotValue is not a member of Long override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) What is the explanation for this behavior? thanks On Sun, Jun 21, 2009 at 6:38 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: I'm stucked again with the simple things I've a trait that extends BaseLongKeyedMapper and I wanna add a field (currentCost) that does some calculation. Nothing special. Here's the code: /* * Order.scala * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.tobster.model import net.liftweb._ import mapper._ import http._ import SHtml._ import util._ import model._ /* Describes a general order. */ trait Order extends BaseLongKeyedMapper{ /* The number of lots this order has */ object lots extends MappedInt(this.asInstanceOf[MapperType]) /* The person who owns the order */ object owner extends MappedLongForeignKey(this.asInstanceOf[MapperType], User){ // hides this field in the CRUDify list/create forms override def dbDisplay_? = false //set the default value to the current logged in user (at creation time) override def defaultValue = User.currentUser.map(_.id.is http://id.is http://id.is http://id.is) openOr 0L } /* The market place where the order belongs to */ object marketPlace extends MappedLongForeignKey(this.asInstanceOf[MapperType], MarketPlaceMetaObj){ override def _toForm = Full(SHtml.selectObj[MarketPlace]( MarketPlaceMetaObj.findAll.map(mp = (mp, mp.name.is http://mp.name.is http://mp.name.is http://mp.name.is)), obj, (mp: MarketPlace) = apply(mp))) } /* The basic trade types are: BUY and SELL */ object tradeType extends MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){ override def _toForm = Full(SHtml.selectObj[TradeType]( TradeTypeMetaObj.findAll.map(t = (t, t.name.is http://t.name.is http://t.name.is http://t.name.is)), obj, (t: TradeType) = apply(t))) } object currentCost extends MappedInt(this.asInstanceOf[MapperType]){ override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) Try: override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p)
[Lift] Re: howto do simple calculation with MappedInt
here are the two files, thanks! Send me the file and I'll debug it. On Fri, Jul 3, 2009 at 3:06 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: Thanks Dave, but still getting this error: /home/wacky/NetBeansProjects/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lotValue is not a member of Long override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) What is the explanation for this behavior? thanks On Sun, Jun 21, 2009 at 6:38 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: I'm stucked again with the simple things I've a trait that extends BaseLongKeyedMapper and I wanna add a field (currentCost) that does some calculation. Nothing special. Here's the code: /* * Order.scala * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.tobster.model import net.liftweb._ import mapper._ import http._ import SHtml._ import util._ import model._ /* Describes a general order. */ trait Order extends BaseLongKeyedMapper{ /* The number of lots this order has */ object lots extends MappedInt(this.asInstanceOf[MapperType]) /* The person who owns the order */ object owner extends MappedLongForeignKey(this.asInstanceOf[MapperType], User){ // hides this field in the CRUDify list/create forms override def dbDisplay_? = false //set the default value to the current logged in user (at creation time) override def defaultValue = User.currentUser.map(_.id.is http://id.is http://id.is) openOr 0L } /* The market place where the order belongs to */ object marketPlace extends MappedLongForeignKey(this.asInstanceOf[MapperType], MarketPlaceMetaObj){ override def _toForm = Full(SHtml.selectObj[MarketPlace]( MarketPlaceMetaObj.findAll.map(mp = (mp, mp.name.is http://mp.name.is http://mp.name.is)), obj, (mp: MarketPlace) = apply(mp))) } /* The basic trade types are: BUY and SELL */ object tradeType extends MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){ override def _toForm = Full(SHtml.selectObj[TradeType]( TradeTypeMetaObj.findAll.map(t = (t, t.name.is http://t.name.is http://t.name.is)), obj, (t: TradeType) = apply(t))) } object currentCost extends MappedInt(this.asInstanceOf[MapperType]){ override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) Try: override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) } } I get the following compiler error: [WARNING] /home/wacky/workspace_VirtuelleBoerse/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lots is not a member of Int [WARNING] override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) [WARNING] ^ [WARNING] one error found The field marketPlace.lotValue is of type MappedInt as well as the field lots. I tried things like this.lots.is http://this.lots.is http://this.lots.is or this.lots.i_is_! but without success. I ran out of ideas... thanks. -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post
[Lift] Re: howto do simple calculation with MappedInt
Thanks Dave, but still getting this error: /home/wacky/NetBeansProjects/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lotValue is not a member of Long override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) What is the explanation for this behavior? thanks On Sun, Jun 21, 2009 at 6:38 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: I'm stucked again with the simple things I've a trait that extends BaseLongKeyedMapper and I wanna add a field (currentCost) that does some calculation. Nothing special. Here's the code: /* * Order.scala * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.tobster.model import net.liftweb._ import mapper._ import http._ import SHtml._ import util._ import model._ /* Describes a general order. */ trait Order extends BaseLongKeyedMapper{ /* The number of lots this order has */ object lots extends MappedInt(this.asInstanceOf[MapperType]) /* The person who owns the order */ object owner extends MappedLongForeignKey(this.asInstanceOf[MapperType], User){ // hides this field in the CRUDify list/create forms override def dbDisplay_? = false //set the default value to the current logged in user (at creation time) override def defaultValue = User.currentUser.map(_.id.is http://id.is) openOr 0L } /* The market place where the order belongs to */ object marketPlace extends MappedLongForeignKey(this.asInstanceOf[MapperType], MarketPlaceMetaObj){ override def _toForm = Full(SHtml.selectObj[MarketPlace]( MarketPlaceMetaObj.findAll.map(mp = (mp, mp.name.is http://mp.name.is)), obj, (mp: MarketPlace) = apply(mp))) } /* The basic trade types are: BUY and SELL */ object tradeType extends MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){ override def _toForm = Full(SHtml.selectObj[TradeType]( TradeTypeMetaObj.findAll.map(t = (t, t.name.is http://t.name.is)), obj, (t: TradeType) = apply(t))) } object currentCost extends MappedInt(this.asInstanceOf[MapperType]){ override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) Try: override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) } } I get the following compiler error: [WARNING] /home/wacky/workspace_VirtuelleBoerse/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lots is not a member of Int [WARNING] override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) [WARNING] ^ [WARNING] one error found The field marketPlace.lotValue is of type MappedInt as well as the field lots. I tried things like this.lots.is http://this.lots.is or this.lots.i_is_! but without success. I ran out of ideas... thanks. -- 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: howto do simple calculation with MappedInt
Send me the file and I'll debug it. On Fri, Jul 3, 2009 at 3:06 AM, Tobias Daub hannes.flo...@gmx.li wrote: Thanks Dave, but still getting this error: /home/wacky/NetBeansProjects/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lotValue is not a member of Long override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) What is the explanation for this behavior? thanks On Sun, Jun 21, 2009 at 6:38 AM, Tobias Daub hannes.flo...@gmx.li mailto:hannes.flo...@gmx.li wrote: I'm stucked again with the simple things I've a trait that extends BaseLongKeyedMapper and I wanna add a field (currentCost) that does some calculation. Nothing special. Here's the code: /* * Order.scala * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.tobster.model import net.liftweb._ import mapper._ import http._ import SHtml._ import util._ import model._ /* Describes a general order. */ trait Order extends BaseLongKeyedMapper{ /* The number of lots this order has */ object lots extends MappedInt(this.asInstanceOf[MapperType]) /* The person who owns the order */ object owner extends MappedLongForeignKey(this.asInstanceOf[MapperType], User){ // hides this field in the CRUDify list/create forms override def dbDisplay_? = false //set the default value to the current logged in user (at creation time) override def defaultValue = User.currentUser.map(_.id.is http://id.is) openOr 0L } /* The market place where the order belongs to */ object marketPlace extends MappedLongForeignKey(this.asInstanceOf[MapperType], MarketPlaceMetaObj){ override def _toForm = Full(SHtml.selectObj[MarketPlace]( MarketPlaceMetaObj.findAll.map(mp = (mp, mp.name.is http://mp.name.is)), obj, (mp: MarketPlace) = apply(mp))) } /* The basic trade types are: BUY and SELL */ object tradeType extends MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){ override def _toForm = Full(SHtml.selectObj[TradeType]( TradeTypeMetaObj.findAll.map(t = (t, t.name.is http://t.name.is)), obj, (t: TradeType) = apply(t))) } object currentCost extends MappedInt(this.asInstanceOf[MapperType]){ override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) Try: override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) } } I get the following compiler error: [WARNING] /home/wacky/workspace_VirtuelleBoerse/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lots is not a member of Int [WARNING] override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) [WARNING] ^ [WARNING] one error found The field marketPlace.lotValue is of type MappedInt as well as the field lots. I tried things like this.lots.is http://this.lots.is or this.lots.i_is_! but without success. I ran out of ideas... thanks. -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: howto do simple calculation with MappedInt
On Sun, Jun 21, 2009 at 6:38 AM, Tobias Daub hannes.flo...@gmx.li wrote: I'm stucked again with the simple things I've a trait that extends BaseLongKeyedMapper and I wanna add a field (currentCost) that does some calculation. Nothing special. Here's the code: /* * Order.scala * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.tobster.model import net.liftweb._ import mapper._ import http._ import SHtml._ import util._ import model._ /* Describes a general order. */ trait Order extends BaseLongKeyedMapper{ /* The number of lots this order has */ object lots extends MappedInt(this.asInstanceOf[MapperType]) /* The person who owns the order */ object owner extends MappedLongForeignKey(this.asInstanceOf[MapperType], User){ // hides this field in the CRUDify list/create forms override def dbDisplay_? = false //set the default value to the current logged in user (at creation time) override def defaultValue = User.currentUser.map(_.id.is) openOr 0L } /* The market place where the order belongs to */ object marketPlace extends MappedLongForeignKey(this.asInstanceOf[MapperType], MarketPlaceMetaObj){ override def _toForm = Full(SHtml.selectObj[MarketPlace]( MarketPlaceMetaObj.findAll.map(mp = (mp, mp.name.is)), obj, (mp: MarketPlace) = apply(mp))) } /* The basic trade types are: BUY and SELL */ object tradeType extends MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){ override def _toForm = Full(SHtml.selectObj[TradeType]( TradeTypeMetaObj.findAll.map(t = (t, t.name.is)), obj, (t: TradeType) = apply(t))) } object currentCost extends MappedInt(this.asInstanceOf[MapperType]){ override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) Try: override def _toForm = Full(p{Order.this.lots * Order.this.marketPlace.lotValue}/p) } } I get the following compiler error: [WARNING] /home/wacky/workspace_VirtuelleBoerse/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51: error: value lots is not a member of Int [WARNING] override def _toForm = Full(p{this.lots * this.marketPlace.lotValue}/p) [WARNING] ^ [WARNING] one error found The field marketPlace.lotValue is of type MappedInt as well as the field lots. I tried things like this.lots.is or this.lots.i_is_! but without success. I ran out of ideas... thanks. -- 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 -~--~~~~--~~--~--~---