-
Notifications
You must be signed in to change notification settings - Fork 191
Revised factorizing implementation and test case data #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…erlapping add/remove diff array index adjustments
Yup, I have seen that one! Will merge as is, resetting master to the forking point. |
fge
added a commit
that referenced
this pull request
Apr 11, 2013
Revised factorizing implementation and test case data
fge
added a commit
that referenced
this pull request
Apr 12, 2013
* New diff implementation (courtesy of Randy Watler) * Mark old diff implementation as deprecated Francis Galiegue (26): Announce version 1.1 Merge pull request #1 from rwatler/factorizing-diff Update copyrights Changes to pom.xml: add contributors JsonFactorizingDiff: modify a little JsonFactorizingDiff: modify more code JsonFactorizingDiff: more modifications JsonFactorizingDiff: replace Integer.MAX_VALUE with -1 for "not array index" JsonFactorizingDiff: more changes JsonFactorizingDiff: more changes JsonFactorizingDiff: refactor DiffOperation Add comments in DiffOperation JsonFactorizingDiff: implement .toString() on Diff{,Operation} JsonDiff: some code simplification JsonFactorizingDiff: take advantage of ArrayNode's properties JsonFactorizingDiff: refactor getLCSDiffs a little Update README Update README again Merge pull request #2 from rwatler/master Merge pull request #3 from rwatler/master JsonFactorizingDiff: add comments Move JsonFactorizingDiff into its own package Add javadoc to new JsonDiff implementation; obsolete old one. Schedule old JSON diff removal for 1.3, not 1.4 pom.xml: remove unused javadoc link 1.2 Randy Watler (3): Add proposed Factorizing JSON Diff implementation Revise factorizing implementation and test cases to cover multiple overlapping add/remove diff array index adjustments Add factorizing support for converting duplicate add to copy operations
hnguyen08
added a commit
to hnguyen08/json-patch
that referenced
this pull request
Sep 23, 2015
Introduce OmitOperation
stephanedaviet
pushed a commit
to stephanedaviet/json-patch
that referenced
this pull request
Apr 6, 2019
Hieu Nguyen (10): Missed an OPERATION_NAME replace in CopyOperation Add omit? operation and refactor packages Removing the JsonPatchOperationFactory and just using TypeInfo annotation mixins for jackson deserialization/serialization Remove annotations and instead introduce a ExtendedJsonPatch and ExtendedJsonPatchOperation Add factory methods for mappers that can deserialize standard and extended JSON patch operations Remove ExtendedJsonPatchOperation Remove JsonSubTypes annotations on JsonPatchOperation (because we are using registerSubtypes) Code review changes Creating a Standard and Extended JsonPatchFactory that houses the ObjectMapper Set version to 1.12 hnguyen08 (3): Merge pull request java-json-tools#2 from hnguyen08/omit_merged Merge pull request java-json-tools#3 from hnguyen08/omit_optional_operation Merge pull request java-json-tools#6 from hnguyen08/remove_factories_and_support_deserialization Add missing notes for versions 1.10, 1.11, 1.12
BartekGravity
referenced
this pull request
in gravity9-tech/json-patch-path
Jun 20, 2023
* [US642] Implement filtering * [US642] Add filtering tests and query parsing * [US642] Handle booleans, integers and floating point numbers * [US642] Add some test cases * [US642] Handle nested array filter queries * [US642] Add a couple more tests for an add operation * [US642] Improve naming - fix review comments * [US642] Additional tests for add operation * [US642] Optimize imports
BartekGravity
referenced
this pull request
in gravity9-tech/json-patch-path
Jun 20, 2023
…-versioning Feature/prepare release and versioning - change user
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Revise factorizing implementation and test cases to cover multiple overlapping add/remove diff array index adjustments. The implementation now properly tracks multiple deferred and advanced removes so that array indexes can be computed properly as the factorizing pass is made on the diffs. To do this, add and remove diffs are paired up front and the pairings are recorded by new members in the diffs themselves for the subsequent factorizing pass. I am guessing that this moves the approach closer to what you had imagined up front.
Also, I cosmetically enhanced the object diffs by preserving field order for the adds, removes, and commons sets. This predictability makes the tests easier to compose and follow. I suppose that will also apply to anyone looking at the generated diffs.
Finally, the refactoring of the LCS algorithm introduced a significant bug that messed up the order of the result when common beginning elements were supposed to be prepended and instead were appended, (that was a bugger to track down)!