google-nomulus/java/google/registry
Ben McIlwain f5e76868f0 Add generic implementation comparator
This is an alternative to the "manually constructed" version in []

This generator recieves two objects implementing some interface. It returns a new implementation that exactly duplicates the behavior (return values, exceptions etc.) of the first ("original") object, but also logs any differences (in either return value or thrown exception) from the second object.

Nothing in the second object's execution will affect the results - not even thrown exceptions - it's only used for logging any differences.

This is useful when switching backend architecture for the some interface (say... from keystore to datastore+KMS for the Keyring interface :)) as we can make sure everything was OK for some extended period of real data before doing the switch.

This is better than just comparing the outputs once because having a completely different backend out of our control can result in "glitches" that are rare but relevant: maybe the new backend has lower availability, or sometimes fails and gives wrong results, or... well, that's it.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149706165
2017-03-13 11:22:55 -04:00
..
backup Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
batch Fix handling around size of batches of mapreduce entities to process 2017-03-13 10:42:44 -04:00
bigquery Change BigQuery call from update to patch 2017-02-06 16:45:23 -05:00
braintree Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
builddefs Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
config Add missing newline to default-config.yaml 2017-03-07 13:22:52 -05:00
cron Use Immutable types for static final fields 2017-03-07 13:53:46 -05:00
dns Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
eclipse Restructure Maven dependencies in build 2017-01-09 11:59:04 -05:00
env Add mapreduce cleanup action 2017-03-13 10:24:57 -04:00
export Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
flows Use Immutable types for static final fields 2017-03-07 13:56:41 -05:00
gcs Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
groups Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
idn Run buildifier on codebase to format BUILD files 2016-11-28 18:15:21 -05:00
keyring Fix bugs in KmsConnectionImpl 2017-03-07 13:25:51 -05:00
loadtest Inject token manager into LoadTestAction constructor 2017-03-13 10:29:22 -04:00
mapreduce Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
model Clarify what affects the size of the premium list entry cache 2017-03-13 11:22:55 -04:00
module Add mapreduce cleanup action 2017-03-13 10:24:57 -04:00
monitoring Use Immutable types for static final fields 2017-03-07 13:53:46 -05:00
pricing Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
rdap Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
rde Use Immutable types for static final fields 2017-03-07 13:50:53 -05:00
request Add mapreduce cleanup action 2017-03-13 10:24:57 -04:00
security Change XsrfTokenManager to support new HMAC token format 2017-03-07 13:31:46 -05:00
storage/drive Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
tldconfig/idn Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
tmch Use Immutable types for static final fields 2017-03-07 13:55:13 -05:00
tools Don't log premium list nomulus tool usage errors as SEVERE 2017-03-13 11:22:55 -04:00
ui Change XsrfTokenManager to support new HMAC token format 2017-03-07 13:31:46 -05:00
util Add generic implementation comparator 2017-03-13 11:22:55 -04:00
whois Refactor WhoisReader.readCommand() method to take a now param 2017-03-13 10:45:40 -04:00
xjc Add mapper to import domains from RDE deposits 2017-02-06 16:46:46 -05:00
xml Replace Throwables.propagate and variants with Guava 20 versions 2017-02-02 17:01:23 -05:00
BUILD Move the environment configuration YAML files into the main JAR 2017-02-06 16:46:52 -05:00
repositories.bzl Add generates_api to Auto Factory too 2017-03-13 10:32:24 -04:00