mirror of
https://github.com/google/nomulus.git
synced 2025-06-29 07:43:37 +02:00
* Make cross database comparison recursive Cross-database comparison was previously just a shallow check: fields marked with DoNotCompare on nested objects were still compared. This causes problems in some cases where there are nested immutable objects. This change introduces recursive comparison. It also provides a hasCorrectHashCode() method that verifies that an object has not been mutated since the hash code was calculated, which has been a problem in certain cases. Finally, this also fixes the problem of objects that are mutated in multiple transactions: we were previously comparing against the value in datastore, but this doesn't work in these cases because the object in datastore may have changed since the transaction that we are verifying. Instead, check against the value that we would have persisted in the original transaction. * Changes requested in review * Converted check method interfaces Per review discussion, converted check method interface so that they consistently return a ComparisonResult object which encapsulates a success indicator and an optional error message. * Another round of changes on ImmutableObjectSubject * Final changes for review Removed unnecessary null check, minor reformatting. (this also removes an obsolete nullness assertion from an earlier commit that should have been fixed in the rebase) * Try removing that nullness check import again.... |
||
---|---|---|
.. | ||
gradle/dependency-locks | ||
src | ||
WEB-INF/appengine-generated | ||
build.gradle | ||
Dockerfile | ||
karma.conf.js |