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 :)
---
Este mensaje no contiene virus ni malware porque la protección de avast!
Antivirus está activa.
http://www.avast.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org