XWIKI-22782: Only save modified xobjects #3798
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Jira URL
https://jira.xwiki.org/browse/XWIKI-22782
Changes
Description
Serializable
cleanup (revapi was getting a bit lost). It's not even clear to me whatBaseElement
and its derivatives areSerializable
in the first place, but that's another story…Clarifications
The general idea is to try to reduce the useless requests during document save. This pull request is focusing in making sure we don't re-save xobject which are identical to what's in the database already.
The save side of things is the easy part, most of the changes in the pull request are about trying to make sure we properly track modifications made to objects.
Executed Tests
Counting on existing test to validate that at least there is no regression.
TODO: various unit tests to check the behavior of the new BaseObject (actually BaseElement, since BaseObject is not the only element with this concept) dirty flag.
Expected merging strategy