2014-08-09 4:22 GMT+02:00 Luis Limas <luiscl...@hotmail.com>: > On 08/08/2014 02:24 p. m., Lukasz Lenart wrote: >> >> 2014-08-08 17:38 GMT+02:00 Luis Limas <luiscl...@hotmail.com>: >>> >>> Thanks again for the reply Lukasz, you misunderstood me, im not doing >>> serialize/deserialize my entities for any logic, the deserialize >>> instruction >>> is being called inside struts (Project: Struts 2 JSON Plugin, >>> JSONInterceptor.java : 123) when parsing JSON to Map (before calling the >>> setters inside JSONReader) and then to Object, i mentioned the >>> deserialize >>> thing because there is where it seems to me that setters are not being >>> called. The serialize instruction i only use it for debuging purposes so >>> i >>> was able to see how it looks the populated (final) object, >> >> Yes I know, but you're exposing Hibernate entity directly not some VO >> - it always will be an issue, as you can see [1], JSONWriter already >> contains some logic to detect Hibernate bean, but JSONReader can't do >> that. >> >>> The issue seems to be that JSONWriter is not working propely. Also im not >>> sure to understand what do you mean with "there's no way to do the >>> opposite", isn't JSONReader doing that? >> >> ...create proper Hibernate entity from JSON - only Hibernate can do >> that and creating entities by hand can cause some problems like your. >> >> To clarify few things: >> - JSONWriter serializes an object to JSON (writes to request) >> - JSONRead deserializes JSON into an object (reads from request) >> >> As I understand you have problem with converting JSON into an object? >> So in that case JSONReader and JSONPopulator are involved. >> >> [1] >> https://github.com/apache/struts/blob/aa744b811f9c41b80cc30ad6cf41ccaa75da5323/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java#L290-L312 >> >> >> Regards > > My problem is that struts calls JSONReader when using SMDMethod=true to > convert JSON to Object. And so on, JSONReader fails to do the conversion. > > This is an example of SMDMethod im calling > > @SMDMethod > public String mySMDMethod(Request obj /*I showed Request.java at previews > mail */) { > if(obj.getId() == null) { > System.out.println("Unexpected behavior, actually the JSON sended > from client was {id:99}. Somehow struts didn't managed to populate "); > } > //logic stuff... > return "succesfull example"; > } > > At client side im sending always at least a JSON like this {id:99}. > > So you think this issue ocurrs because the "obj" parameter at "mySMDMethod" > is an entity? that means that the issue should cease to happen by just > removing all hibernate annotations?? (because thats the only special thing > about entities at this call) > > Thanks for your kind help :)
Did you try to setup higher level for logger used with JSON plugin? ie. log4j.logger.org.apache.struts2.json = debug Regards -- Ćukasz + 48 606 323 122 http://www.lenart.org.pl/ --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org