-
-
Notifications
You must be signed in to change notification settings - Fork 261
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
Add support for JSON bean mutation detection via HASH and SOURCE of JSON string content #2274
Commits on Jul 23, 2021
-
JSON bean dirty detection via MD5 of JSON string content
- MD5 of json content stored on EntityBeanIntercept for dirty detection - Only convert to JSON once (at dirty detection time). Store this json content on EntityBeanIntercept to later push to ScalarTypeJsonObjectMapper for bind Should consider alternative to extend BeanProperty rather than have these if blocks.
Configuration menu - View commit details
-
Copy full SHA for 6c262f1 - Browse repository at this point
Copy the full SHA 6c262f1View commit details
Commits on Jul 28, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 11eed4c - Browse repository at this point
Copy the full SHA 11eed4cView commit details -
Modify SqlBeanLoad to use readSet()
Note that we don't need to use readSetIntercept() now as there is no property change listener support
Configuration menu - View commit details
-
Copy full SHA for 49b86d0 - Browse repository at this point
Copy the full SHA 49b86d0View commit details -
Proof of concept to support also bean change detection / changelog on…
… mutable properties
Configuration menu - View commit details
-
Copy full SHA for 5e595ec - Browse repository at this point
Copy the full SHA 5e595ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for b497b86 - Browse repository at this point
Copy the full SHA b497b86View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb70c7e - Browse repository at this point
Copy the full SHA eb70c7eView commit details -
Merge branch 'FOCONIS-feature/json-dirty-detection-md5' into feature/…
…json-dirty-detection-md5
Configuration menu - View commit details
-
Copy full SHA for 11a047b - Browse repository at this point
Copy the full SHA 11a047bView commit details -
Temporarily disable TestDbJson_Jackson3 updateIncludesJsonColumn_when…
…_list_loadedAndNotDirtyAware() BeanState state = DB.getBeanState(found); assertThat(state.getChangedProps()).containsExactlyInAnyOrder("beanList"); // this test fails, because we have a OmList instead of a GenericObject // TODO: Can/Should we enhance the @DbJson/@DbJsonB annotations with a property "dirtyDetection"
Configuration menu - View commit details
-
Copy full SHA for d0270db - Browse repository at this point
Copy the full SHA d0270dbView commit details -
Refactor move createMutableHash() method from ScalarType to BeanPrope…
…rty / BeanPropertyJsonMapper
Configuration menu - View commit details
-
Copy full SHA for 94fb641 - Browse repository at this point
Copy the full SHA 94fb641View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52fe3cf - Browse repository at this point
Copy the full SHA 52fe3cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 92d7a75 - Browse repository at this point
Copy the full SHA 92d7a75View commit details -
Use scalarType.format(value) removing scalarType.jsonMapper(value)
Remove scalarType.jsonMapper(value) as we can just use format(value) instead
Configuration menu - View commit details
-
Copy full SHA for 86483ff - Browse repository at this point
Copy the full SHA 86483ffView commit details
Commits on Jul 29, 2021
-
No effective change - format EntityBeanIntercept only
Plus adjust timing on SqlQueryCancelTest
Configuration menu - View commit details
-
Copy full SHA for 8832bbc - Browse repository at this point
Copy the full SHA 8832bbcView commit details -
Use new @dbjson dirtyDetection and keepSource attributes
- Bump ebean-annotation with new @dbjson dirtyDetection and keepSource attributes - Get those to BeanPropertyJsonMapper to chose MutableHash implementation - Modify MD5MutableHash to include check for isDirty() - EBasicJsonList needs keepSource=true to pass that test with oldValue
Configuration menu - View commit details
-
Copy full SHA for 5ad8e7e - Browse repository at this point
Copy the full SHA 5ad8e7eView commit details -
Refactor rename MutableHash to MutableValueInfo (and subsequent renam…
…e on methods etc)
Configuration menu - View commit details
-
Copy full SHA for 2bc5d3d - Browse repository at this point
Copy the full SHA 2bc5d3dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 991c6d6 - Browse repository at this point
Copy the full SHA 991c6d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d8e7c8 - Browse repository at this point
Copy the full SHA 0d8e7c8View commit details -
Add MutableValueNext to replace mutableContent such that hash compute…
… is only done once Adds MutableValueInfo.nextDirty() to replace the isEqualToJson() method. The next is computed once and stored. BindablePropertyJsonUpdate makes the .mutableNext(propertyIndex) call to move the next MutableValueInfo and return the json content.
Configuration menu - View commit details
-
Copy full SHA for c66d248 - Browse repository at this point
Copy the full SHA c66d248View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5aa8557 - Browse repository at this point
Copy the full SHA 5aa8557View commit details -
Use MutationDetection replacing dirtyDetection and keepSource
Also adds NoMutationDetection to support NONE
Configuration menu - View commit details
-
Copy full SHA for 20becf9 - Browse repository at this point
Copy the full SHA 20becf9View commit details -
Re-enable TestDbJson_Jackson3 via adding mutationDetection = HASH to …
…beanList property @DbJsonB(mutationDetection = HASH) List<PlainBean> beanList;
Configuration menu - View commit details
-
Copy full SHA for 20e0eb1 - Browse repository at this point
Copy the full SHA 20e0eb1View commit details -
Due to mutableNext handling, with checkMutableProperties() even when …
…known dirty go into beanProperty.checkMutable() As per rPraml's PR and comment Due to handling of mutableNext we need checkMutableProperties() to call into what is now beanProperty.checkMutable() even when we already know it's dirty.
Configuration menu - View commit details
-
Copy full SHA for 822fb73 - Browse repository at this point
Copy the full SHA 822fb73View commit details
Commits on Jul 30, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c43e2e6 - Browse repository at this point
Copy the full SHA c43e2e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea741d0 - Browse repository at this point
Copy the full SHA ea741d0View commit details -
Fix when json/jackson bean inserted as null and not changed
Expectation is that it is not included in update (still null, no change)
Configuration menu - View commit details
-
Copy full SHA for ca1636f - Browse repository at this point
Copy the full SHA ca1636fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7bd7640 - Browse repository at this point
Copy the full SHA 7bd7640View commit details -
Configuration menu - View commit details
-
Copy full SHA for d9f7531 - Browse repository at this point
Copy the full SHA d9f7531View commit details