Use Dagger to @Inject WhoisReader instances

This is a precursor to adding metrics to WHOIS queries (as I'd like
to be able to @Inject the metrics builders).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149418018
This commit is contained in:
mcilwain 2017-03-07 07:47:38 -08:00 committed by Ben McIlwain
parent 53785c2fc7
commit bd7db61606
8 changed files with 51 additions and 51 deletions

View file

@ -26,24 +26,25 @@ public final class Whois {
private final Clock clock;
private final String disclaimer;
private final WhoisCommandFactory commandFactory;
private final WhoisReaderFactory whoisReaderFactory;
@Inject
public Whois(
Clock clock,
@Config("whoisDisclaimer") String disclaimer,
@Config("whoisCommandFactory") WhoisCommandFactory commandFactory) {
WhoisReaderFactory whoisReader) {
this.clock = clock;
this.disclaimer = disclaimer;
this.commandFactory = commandFactory;
this.whoisReaderFactory = whoisReader;
}
/** Performs a WHOIS lookup on a plaintext query string. */
public String lookup(String query, boolean preferUnicode) {
DateTime now = clock.nowUtc();
try {
return new WhoisReader(new StringReader(query), commandFactory, now)
.readCommand()
return whoisReaderFactory
.create(now)
.readCommand(new StringReader(query))
.executeQuery(now)
.getPlainTextOutput(preferUnicode, disclaimer);
} catch (WhoisException e) {