Skip to content

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
merged 1 commit into from
Apr 11, 2013
Merged

Revised factorizing implementation and test case data #2

merged 1 commit into from
Apr 11, 2013

Conversation

rwatler
Copy link
Contributor

@rwatler rwatler commented Apr 11, 2013

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)!

…erlapping add/remove diff array index adjustments
@fge
Copy link
Collaborator

fge commented Apr 11, 2013

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)!

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 fge merged commit a9d0bea into java-json-tools:master Apr 11, 2013
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
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants