[
https://issues.apache.org/jira/browse/OFBIZ-4602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13177159#comment-13177159
]
Adrian Crum commented on OFBIZ-4602:
------------------------------------
As I mentioned on the dev mailing list, this patch and this "solution" does not
make sense. It would be best to understand the problem thoroughly so that a
proper solution can be designed.
If I understand correctly, the problem that needs to be solved is this: OFBiz
does not serialize field values that are null. That causes a problem with
entity sync, because a field's value might have changed from non-null to null.
Since null field values are not serialized, the change is not propagated to the
entity sync clients.
So, we need a way to serialize null field values. The patch does this by
serializing a null value as the String "null". But the patch only does that for
field data types that are not String. Why are String fields excluded?
>From my perspective, null field values should be tokenized and the token
>should be serialized - in ALL fields, not just non-String fields. A good
>candidate for the token would be GenericEntity.NULL_FIELD.
So, the change to GenericEntity.java line 1079 could look something like this:
{code}
} else {
element.setAttribute(name, GenericEntity.NULL_FIELD.toString());
}
{code}
Now null field values are serialized in a predictable manner. But that change
could adversely impact other modes of entity serialization. Also, entity sync
clients will need to be updated to unmarshall the null value tokens.
> Null values are not synchronized in http mode
> ---------------------------------------------
>
> Key: OFBIZ-4602
> URL: https://issues.apache.org/jira/browse/OFBIZ-4602
> Project: OFBiz
> Issue Type: Bug
> Components: framework
> Affects Versions: Release 4.0, Release 09.04, Release 09.04.01, Release
> 10.04, SVN trunk
> Environment: Using entity synchronization over HTTP (not RMI)
> Reporter: Patrick Antivackis
> Assignee: Jacques Le Roux
> Fix For: Release Branch 4.0, Release Branch 09.04, Release Branch
> 10.04, Release Branch 11.04, SVN trunk
>
> Attachments: patch-OFBIZ-4602.txt
>
>
> In order to send over http the values to create, store and remove, Ofbiz is
> Xml serializing the values. GenericValue xml serialization is managed in
> GenericEntity.makeXmlElement, unfortunately this method just don't serialized
> null valued fields.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira