[Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread Joni Freeman
Hi,

I believe this bug is already fixed in trunk. If I'm right, the
problem was missing conversion from JInt to float. You could fix it by
changing these values passMarkApplied:0,thresholdApplied:0 to
passMarkApplied:0.0,thresholdApplied:0.0

But it would be great if you have time to test with latest snapshot.
It worked for me at least.

Cheers Joni

On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
 Hello guys,

 I am having a very strange error parsing JSON messages. Everything was 
 working perfect until I introduce a new array in the message. It supposed to 
 be a very small change, but the system seems to be parsing java data types 
 instead of scala data types.

 This is the error message:

 net.liftweb.json.MappingException: Parsed JSON values do not match with class 
 constructor
 args=129567,248,1,1,0,0, String
 arg 
 types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
 constructor=public 
 com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)

 I do not know how to solve this. There is another array in the same structure 
 that works just fine.

 This is the JSON message coming into the API:

 {lastSync:Thursday, February11,2010,
 tribeId:1,
 filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
 history:7,
 deviceId:1036,
 source:248,
 showNews:true,
 userId:1049,
 syncFlag:false,
 showNewsChanged:false,
 updatedFeeds:[]}

 The error is with the array filter. I am parsing it with the following code 
 (this is an extraction of the entire definition):

             case class FilterLogging(entryId: Long,
                                      sourceId: Long,
                                      objectFiltered: Long,
                                      filterApplied: Long,
                                      passMarkApplied: Float,
                                      thresholdApplied: Float,
                                      evaluationDescription: String
             )

             case class UpdatedSource(userId: Long,
                                      deviceId: Long,
                                      tribeId: Long,
                                      syncFlag: Boolean,
                                      lastSync: String,
                                      history: Int,
                                      source: Long,
                                      updatedFeeds: List[UpdatedFeeds],
                                      filterLogging: List[FilterLogging]
             )

             val json = parse(req.body.map(bytes = new String(bytes, 
 UTF-8)) openOr )
             val request: UpdatedSource = json.extract[UpdatedSource]

 Any ideas?

 Thanks in advance,

 GA

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



Re: [Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread GA
That's exactly what I've just found out. :-)

As a workaround I am forcing the client app to send 0.0.

are you saying that the bug is fixed in Lift 2.0-M2?

Thanks for the answer,

cheers,

GA


On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:

 Hi,
 
 I believe this bug is already fixed in trunk. If I'm right, the
 problem was missing conversion from JInt to float. You could fix it by
 changing these values passMarkApplied:0,thresholdApplied:0 to
 passMarkApplied:0.0,thresholdApplied:0.0
 
 But it would be great if you have time to test with latest snapshot.
 It worked for me at least.
 
 Cheers Joni
 
 On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
 Hello guys,
 
 I am having a very strange error parsing JSON messages. Everything was 
 working perfect until I introduce a new array in the message. It supposed to 
 be a very small change, but the system seems to be parsing java data types 
 instead of scala data types.
 
 This is the error message:
 
 net.liftweb.json.MappingException: Parsed JSON values do not match with 
 class constructor
 args=129567,248,1,1,0,0, String
 arg 
 types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
 constructor=public 
 com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
 
 I do not know how to solve this. There is another array in the same 
 structure that works just fine.
 
 This is the JSON message coming into the API:
 
 {lastSync:Thursday, February11,2010,
 tribeId:1,
 filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
 history:7,
 deviceId:1036,
 source:248,
 showNews:true,
 userId:1049,
 syncFlag:false,
 showNewsChanged:false,
 updatedFeeds:[]}
 
 The error is with the array filter. I am parsing it with the following 
 code (this is an extraction of the entire definition):
 
 case class FilterLogging(entryId: Long,
  sourceId: Long,
  objectFiltered: Long,
  filterApplied: Long,
  passMarkApplied: Float,
  thresholdApplied: Float,
  evaluationDescription: String
 )
 
 case class UpdatedSource(userId: Long,
  deviceId: Long,
  tribeId: Long,
  syncFlag: Boolean,
  lastSync: String,
  history: Int,
  source: Long,
  updatedFeeds: List[UpdatedFeeds],
  filterLogging: List[FilterLogging]
 )
 
 val json = parse(req.body.map(bytes = new String(bytes, 
 UTF-8)) openOr )
 val request: UpdatedSource = json.extract[UpdatedSource]
 
 Any ideas?
 
 Thanks in advance,
 
 GA
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@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.
 

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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: Parsed JSON values do not match with class constructor

2010-02-11 Thread Joni Freeman
Yes, it is fixed in 2.0-M2.

Cheers Joni

On Feb 11, 6:54 pm, GA my_li...@me.com wrote:
 That's exactly what I've just found out. :-)

 As a workaround I am forcing the client app to send 0.0.

 are you saying that the bug is fixed in Lift 2.0-M2?

 Thanks for the answer,

 cheers,

 GA

 On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:

  Hi,

  I believe this bug is already fixed in trunk. If I'm right, the
  problem was missing conversion from JInt to float. You could fix it by
  changing these values passMarkApplied:0,thresholdApplied:0 to
  passMarkApplied:0.0,thresholdApplied:0.0

  But it would be great if you have time to test with latest snapshot.
  It worked for me at least.

  Cheers Joni

  On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
  Hello guys,

  I am having a very strange error parsing JSON messages. Everything was 
  working perfect until I introduce a new array in the message. It supposed 
  to be a very small change, but the system seems to be parsing java data 
  types instead of scala data types.

  This is the error message:

  net.liftweb.json.MappingException: Parsed JSON values do not match with 
  class constructor
  args=129567,248,1,1,0,0, String
  arg 
  types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
  constructor=public 
  com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)

  I do not know how to solve this. There is another array in the same 
  structure that works just fine.

  This is the JSON message coming into the API:

  {lastSync:Thursday, February11,2010,
  tribeId:1,
  filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
  history:7,
  deviceId:1036,
  source:248,
  showNews:true,
  userId:1049,
  syncFlag:false,
  showNewsChanged:false,
  updatedFeeds:[]}

  The error is with the array filter. I am parsing it with the following 
  code (this is an extraction of the entire definition):

              case class FilterLogging(entryId: Long,
                                       sourceId: Long,
                                       objectFiltered: Long,
                                       filterApplied: Long,
                                       passMarkApplied: Float,
                                       thresholdApplied: Float,
                                       evaluationDescription: String
              )

              case class UpdatedSource(userId: Long,
                                       deviceId: Long,
                                       tribeId: Long,
                                       syncFlag: Boolean,
                                       lastSync: String,
                                       history: Int,
                                       source: Long,
                                       updatedFeeds: List[UpdatedFeeds],
                                       filterLogging: List[FilterLogging]
              )

              val json = parse(req.body.map(bytes = new String(bytes, 
  UTF-8)) openOr )
              val request: UpdatedSource = json.extract[UpdatedSource]

  Any ideas?

  Thanks in advance,

  GA

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



-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



Re: [Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread GA
Thanks I am gonna try and test it.

When is 2.0-M2 going to be released?

Cheers, GA



On Feb 11, 2010, at 6:00 PM, Joni Freeman wrote:

 Yes, it is fixed in 2.0-M2.
 
 Cheers Joni
 
 On Feb 11, 6:54 pm, GA my_li...@me.com wrote:
 That's exactly what I've just found out. :-)
 
 As a workaround I am forcing the client app to send 0.0.
 
 are you saying that the bug is fixed in Lift 2.0-M2?
 
 Thanks for the answer,
 
 cheers,
 
 GA
 
 On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:
 
 Hi,
 
 I believe this bug is already fixed in trunk. If I'm right, the
 problem was missing conversion from JInt to float. You could fix it by
 changing these values passMarkApplied:0,thresholdApplied:0 to
 passMarkApplied:0.0,thresholdApplied:0.0
 
 But it would be great if you have time to test with latest snapshot.
 It worked for me at least.
 
 Cheers Joni
 
 On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
 Hello guys,
 
 I am having a very strange error parsing JSON messages. Everything was 
 working perfect until I introduce a new array in the message. It supposed 
 to be a very small change, but the system seems to be parsing java data 
 types instead of scala data types.
 
 This is the error message:
 
 net.liftweb.json.MappingException: Parsed JSON values do not match with 
 class constructor
 args=129567,248,1,1,0,0, String
 arg 
 types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
 constructor=public 
 com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
 
 I do not know how to solve this. There is another array in the same 
 structure that works just fine.
 
 This is the JSON message coming into the API:
 
 {lastSync:Thursday, February11,2010,
 tribeId:1,
 filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
 history:7,
 deviceId:1036,
 source:248,
 showNews:true,
 userId:1049,
 syncFlag:false,
 showNewsChanged:false,
 updatedFeeds:[]}
 
 The error is with the array filter. I am parsing it with the following 
 code (this is an extraction of the entire definition):
 
 case class FilterLogging(entryId: Long,
  sourceId: Long,
  objectFiltered: Long,
  filterApplied: Long,
  passMarkApplied: Float,
  thresholdApplied: Float,
  evaluationDescription: String
 )
 
 case class UpdatedSource(userId: Long,
  deviceId: Long,
  tribeId: Long,
  syncFlag: Boolean,
  lastSync: String,
  history: Int,
  source: Long,
  updatedFeeds: List[UpdatedFeeds],
  filterLogging: List[FilterLogging]
 )
 
 val json = parse(req.body.map(bytes = new String(bytes, 
 UTF-8)) openOr )
 val request: UpdatedSource = json.extract[UpdatedSource]
 
 Any ideas?
 
 Thanks in advance,
 
 GA
 
 --
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group 
 athttp://groups.google.com/group/liftweb?hl=en.
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@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.
 

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



Re: [Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread David Pollak
On Thu, Feb 11, 2010 at 9:05 AM, GA my_li...@me.com wrote:

 Thanks I am gonna try and test it.

 When is 2.0-M2 going to be released?


Yesterday... trying to figure out why it didn't happen.  Likely today.


 Cheers, GA



 On Feb 11, 2010, at 6:00 PM, Joni Freeman wrote:

  Yes, it is fixed in 2.0-M2.
 
  Cheers Joni
 
  On Feb 11, 6:54 pm, GA my_li...@me.com wrote:
  That's exactly what I've just found out. :-)
 
  As a workaround I am forcing the client app to send 0.0.
 
  are you saying that the bug is fixed in Lift 2.0-M2?
 
  Thanks for the answer,
 
  cheers,
 
  GA
 
  On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:
 
  Hi,
 
  I believe this bug is already fixed in trunk. If I'm right, the
  problem was missing conversion from JInt to float. You could fix it by
  changing these values passMarkApplied:0,thresholdApplied:0 to
  passMarkApplied:0.0,thresholdApplied:0.0
 
  But it would be great if you have time to test with latest snapshot.
  It worked for me at least.
 
  Cheers Joni
 
  On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
  Hello guys,
 
  I am having a very strange error parsing JSON messages. Everything was
 working perfect until I introduce a new array in the message. It supposed to
 be a very small change, but the system seems to be parsing java data types
 instead of scala data types.
 
  This is the error message:
 
  net.liftweb.json.MappingException: Parsed JSON values do not match
 with class constructor
  args=129567,248,1,1,0,0, String
  arg
 types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
  constructor=public
 com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
 
  I do not know how to solve this. There is another array in the same
 structure that works just fine.
 
  This is the JSON message coming into the API:
 
  {lastSync:Thursday, February11,2010,
  tribeId:1,
 
 filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
  history:7,
  deviceId:1036,
  source:248,
  showNews:true,
  userId:1049,
  syncFlag:false,
  showNewsChanged:false,
  updatedFeeds:[]}
 
  The error is with the array filter. I am parsing it with the
 following code (this is an extraction of the entire definition):
 
  case class FilterLogging(entryId: Long,
   sourceId: Long,
   objectFiltered: Long,
   filterApplied: Long,
   passMarkApplied: Float,
   thresholdApplied: Float,
   evaluationDescription: String
  )
 
  case class UpdatedSource(userId: Long,
   deviceId: Long,
   tribeId: Long,
   syncFlag: Boolean,
   lastSync: String,
   history: Int,
   source: Long,
   updatedFeeds: List[UpdatedFeeds],
   filterLogging:
 List[FilterLogging]
  )
 
  val json = parse(req.body.map(bytes = new String(bytes,
 UTF-8)) openOr )
  val request: UpdatedSource = json.extract[UpdatedSource]
 
  Any ideas?
 
  Thanks in advance,
 
  GA
 
  --
  You received this message because you are subscribed to the Google
 Groups Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group athttp://
 groups.google.com/group/liftweb?hl=en.
 
 
 
  --
  You received this message because you are subscribed to the Google Groups
 Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.
 

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




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

Re: [Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread Ross Mellgren
It's up on repo-releases, though maybe it is not complete?

-Ross


On Feb 11, 2010, at 12:07 PM, David Pollak wrote:

 
 
 On Thu, Feb 11, 2010 at 9:05 AM, GA my_li...@me.com wrote:
 Thanks I am gonna try and test it.
 
 When is 2.0-M2 going to be released?
 
 
 Yesterday... trying to figure out why it didn't happen.  Likely today.
  
 Cheers, GA
 
 
 
 On Feb 11, 2010, at 6:00 PM, Joni Freeman wrote:
 
  Yes, it is fixed in 2.0-M2.
 
  Cheers Joni
 
  On Feb 11, 6:54 pm, GA my_li...@me.com wrote:
  That's exactly what I've just found out. :-)
 
  As a workaround I am forcing the client app to send 0.0.
 
  are you saying that the bug is fixed in Lift 2.0-M2?
 
  Thanks for the answer,
 
  cheers,
 
  GA
 
  On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:
 
  Hi,
 
  I believe this bug is already fixed in trunk. If I'm right, the
  problem was missing conversion from JInt to float. You could fix it by
  changing these values passMarkApplied:0,thresholdApplied:0 to
  passMarkApplied:0.0,thresholdApplied:0.0
 
  But it would be great if you have time to test with latest snapshot.
  It worked for me at least.
 
  Cheers Joni
 
  On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
  Hello guys,
 
  I am having a very strange error parsing JSON messages. Everything was 
  working perfect until I introduce a new array in the message. It 
  supposed to be a very small change, but the system seems to be parsing 
  java data types instead of scala data types.
 
  This is the error message:
 
  net.liftweb.json.MappingException: Parsed JSON values do not match with 
  class constructor
  args=129567,248,1,1,0,0, String
  arg 
  types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
  constructor=public 
  com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
 
  I do not know how to solve this. There is another array in the same 
  structure that works just fine.
 
  This is the JSON message coming into the API:
 
  {lastSync:Thursday, February11,2010,
  tribeId:1,
  filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
  history:7,
  deviceId:1036,
  source:248,
  showNews:true,
  userId:1049,
  syncFlag:false,
  showNewsChanged:false,
  updatedFeeds:[]}
 
  The error is with the array filter. I am parsing it with the following 
  code (this is an extraction of the entire definition):
 
  case class FilterLogging(entryId: Long,
   sourceId: Long,
   objectFiltered: Long,
   filterApplied: Long,
   passMarkApplied: Float,
   thresholdApplied: Float,
   evaluationDescription: String
  )
 
  case class UpdatedSource(userId: Long,
   deviceId: Long,
   tribeId: Long,
   syncFlag: Boolean,
   lastSync: String,
   history: Int,
   source: Long,
   updatedFeeds: List[UpdatedFeeds],
   filterLogging: List[FilterLogging]
  )
 
  val json = parse(req.body.map(bytes = new String(bytes, 
  UTF-8)) openOr )
  val request: UpdatedSource = json.extract[UpdatedSource]
 
  Any ideas?
 
  Thanks in advance,
 
  GA
 
  --
  You received this message because you are subscribed to the Google Groups 
  Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to 
  liftweb+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/liftweb?hl=en.
 
 
 
  --
  You received this message because you are subscribed to the Google Groups 
  Lift group.
  To post to this group, send email to lift...@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.
 
 
 --
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@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, 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 

Re: [Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread David Pollak
On Thu, Feb 11, 2010 at 9:09 AM, Ross Mellgren dri...@gmail.com wrote:

 It's up on repo-releases, though maybe it is not complete?


It's out... we just don't have the official announcement yet.



 -Ross


 On Feb 11, 2010, at 12:07 PM, David Pollak wrote:



 On Thu, Feb 11, 2010 at 9:05 AM, GA my_li...@me.com wrote:

 Thanks I am gonna try and test it.

 When is 2.0-M2 going to be released?


 Yesterday... trying to figure out why it didn't happen.  Likely today.


 Cheers, GA



 On Feb 11, 2010, at 6:00 PM, Joni Freeman wrote:

  Yes, it is fixed in 2.0-M2.
 
  Cheers Joni
 
  On Feb 11, 6:54 pm, GA my_li...@me.com wrote:
  That's exactly what I've just found out. :-)
 
  As a workaround I am forcing the client app to send 0.0.
 
  are you saying that the bug is fixed in Lift 2.0-M2?
 
  Thanks for the answer,
 
  cheers,
 
  GA
 
  On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:
 
  Hi,
 
  I believe this bug is already fixed in trunk. If I'm right, the
  problem was missing conversion from JInt to float. You could fix it by
  changing these values passMarkApplied:0,thresholdApplied:0 to
  passMarkApplied:0.0,thresholdApplied:0.0
 
  But it would be great if you have time to test with latest snapshot.
  It worked for me at least.
 
  Cheers Joni
 
  On Feb 11, 6:11 pm, GA my_li...@me.com wrote:
  Hello guys,
 
  I am having a very strange error parsing JSON messages. Everything
 was working perfect until I introduce a new array in the message. It
 supposed to be a very small change, but the system seems to be parsing java
 data types instead of scala data types.
 
  This is the error message:
 
  net.liftweb.json.MappingException: Parsed JSON values do not match
 with class constructor
  args=129567,248,1,1,0,0, String
  arg
 types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
  constructor=public
 com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
 
  I do not know how to solve this. There is another array in the same
 structure that works just fine.
 
  This is the JSON message coming into the API:
 
  {lastSync:Thursday, February11,2010,
  tribeId:1,
 
 filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
  history:7,
  deviceId:1036,
  source:248,
  showNews:true,
  userId:1049,
  syncFlag:false,
  showNewsChanged:false,
  updatedFeeds:[]}
 
  The error is with the array filter. I am parsing it with the
 following code (this is an extraction of the entire definition):
 
  case class FilterLogging(entryId: Long,
   sourceId: Long,
   objectFiltered: Long,
   filterApplied: Long,
   passMarkApplied: Float,
   thresholdApplied: Float,
   evaluationDescription: String
  )
 
  case class UpdatedSource(userId: Long,
   deviceId: Long,
   tribeId: Long,
   syncFlag: Boolean,
   lastSync: String,
   history: Int,
   source: Long,
   updatedFeeds:
 List[UpdatedFeeds],
   filterLogging:
 List[FilterLogging]
  )
 
  val json = parse(req.body.map(bytes = new String(bytes,
 UTF-8)) openOr )
  val request: UpdatedSource = json.extract[UpdatedSource]
 
  Any ideas?
 
  Thanks in advance,
 
  GA
 
  --
  You received this message because you are subscribed to the Google
 Groups Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group athttp://
 groups.google.com/group/liftweb?hl=en.
 
 
 
  --
  You received this message because you are subscribed to the Google
 Groups Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.
 

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




 --
 Lift, the simply functional web framework 

Re: [Lift] Re: Parsed JSON values do not match with class constructor

2010-02-11 Thread Indrajit Raychaudhuri


On 11/02/10 10:37 PM, David Pollak wrote:



On Thu, Feb 11, 2010 at 9:05 AM, GA my_li...@me.com
mailto:my_li...@me.com wrote:

Thanks I am gonna try and test it.

When is 2.0-M2 going to be released?


Yesterday... trying to figure out why it didn't happen.  Likely today.


The announcement got delayed. The release was spun out yesterday :)



Cheers, GA



On Feb 11, 2010, at 6:00 PM, Joni Freeman wrote:

  Yes, it is fixed in 2.0-M2.
 
  Cheers Joni
 
  On Feb 11, 6:54 pm, GA my_li...@me.com mailto:my_li...@me.com
wrote:
  That's exactly what I've just found out. :-)
 
  As a workaround I am forcing the client app to send 0.0.
 
  are you saying that the bug is fixed in Lift 2.0-M2?
 
  Thanks for the answer,
 
  cheers,
 
  GA
 
  On Feb 11, 2010, at 5:42 PM, Joni Freeman wrote:
 
  Hi,
 
  I believe this bug is already fixed in trunk. If I'm right, the
  problem was missing conversion from JInt to float. You could
fix it by
  changing these values passMarkApplied:0,thresholdApplied:0 to
  passMarkApplied:0.0,thresholdApplied:0.0
 
  But it would be great if you have time to test with latest
snapshot.
  It worked for me at least.
 
  Cheers Joni
 
  On Feb 11, 6:11 pm, GA my_li...@me.com
mailto:my_li...@me.com wrote:
  Hello guys,
 
  I am having a very strange error parsing JSON messages.
Everything was working perfect until I introduce a new array in the
message. It supposed to be a very small change, but the system seems
to be parsing java data types instead of scala data types.
 
  This is the error message:
 
  net.liftweb.json.MappingException: Parsed JSON values do not
match with class constructor
  args=129567,248,1,1,0,0, String
  arg

types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
  constructor=public

com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
 
  I do not know how to solve this. There is another array in the
same structure that works just fine.
 
  This is the JSON message coming into the API:
 
  {lastSync:Thursday, February11,2010,
  tribeId:1,
 

filterLogging:[{passMarkApplied:0,thresholdApplied:0,entryId:129567,evaluationDescription:String,objectFiltered:1,filterApplied:1,sourceId:248}],
  history:7,
  deviceId:1036,
  source:248,
  showNews:true,
  userId:1049,
  syncFlag:false,
  showNewsChanged:false,
  updatedFeeds:[]}
 
  The error is with the array filter. I am parsing it with the
following code (this is an extraction of the entire definition):
 
  case class FilterLogging(entryId: Long,
   sourceId: Long,
   objectFiltered: Long,
   filterApplied: Long,
   passMarkApplied: Float,
   thresholdApplied: Float,
   evaluationDescription: String
  )
 
  case class UpdatedSource(userId: Long,
   deviceId: Long,
   tribeId: Long,
   syncFlag: Boolean,
   lastSync: String,
   history: Int,
   source: Long,
   updatedFeeds:
List[UpdatedFeeds],
   filterLogging:
List[FilterLogging]
  )
 
  val json = parse(req.body.map(bytes = new
String(bytes, UTF-8)) openOr )
  val request: UpdatedSource =
json.extract[UpdatedSource]
 
  Any ideas?
 
  Thanks in advance,
 
  GA
 
  --
  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
mailto:liftweb@googlegroups.com.
  To unsubscribe from this group, send email to
liftweb+unsubscr...@googlegroups.com
mailto:liftweb%2bunsubscr...@googlegroups.com.
  For more options, visit this group
athttp://groups.google.com/group/liftweb?hl=en
http://groups.google.com/group/liftweb?hl=en.
 
 
 
  --
  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
mailto:liftweb@googlegroups.com.
  To unsubscribe from this group, send email to
liftweb+unsubscr...@googlegroups.com