From 8d81c554173aadd24901c3b430850f4da0bd0c9a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Sun, 19 Jun 2016 11:20:31 +0200 Subject: [PATCH] upd: Reduce Boilerplate in translated SprintfCommands fixes #39 Change-Id: I635355454e9a061896b57bed7fe042f42d4a18f8 --- .../cacert/gigi/dbObjects/DomainPingConfiguration.java | 9 +-------- src/org/cacert/gigi/dbObjects/EmailAddress.java | 8 +------- src/org/cacert/gigi/output/template/SprintfCommand.java | 2 +- 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java b/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java index d63aff9b..772b066f 100644 --- a/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java +++ b/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java @@ -1,15 +1,11 @@ package org.cacert.gigi.dbObjects; -import java.util.Arrays; import java.util.Date; -import java.util.HashMap; -import java.util.Map; import org.cacert.gigi.Gigi; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; -import org.cacert.gigi.output.template.Scope; import org.cacert.gigi.output.template.SprintfCommand; public class DomainPingConfiguration implements IdCachable { @@ -94,9 +90,6 @@ public class DomainPingConfiguration implements IdCachable { Gigi.notifyPinger(this); return; } - Map data = new HashMap(); - data.put("delay", REPING_MINIMUM_DELAY / 60 / 1000); - data.put("data", new Date(lastExecution.getTime() + REPING_MINIMUM_DELAY)); - throw new GigiApiException(new Scope(new SprintfCommand("Reping is only allowed after {0} minutes, yours end at {1}.", Arrays.asList("${delay}", "${data}")), data)); + throw new GigiApiException(SprintfCommand.createSimple("Reping is only allowed after {0} minutes, yours end at {1}.", REPING_MINIMUM_DELAY / 60 / 1000, new Date(lastExecution.getTime() + REPING_MINIMUM_DELAY))); } } diff --git a/src/org/cacert/gigi/dbObjects/EmailAddress.java b/src/org/cacert/gigi/dbObjects/EmailAddress.java index 04108ea2..964d1b68 100644 --- a/src/org/cacert/gigi/dbObjects/EmailAddress.java +++ b/src/org/cacert/gigi/dbObjects/EmailAddress.java @@ -1,11 +1,8 @@ package org.cacert.gigi.dbObjects; import java.io.IOException; -import java.util.Arrays; import java.util.Date; -import java.util.HashMap; import java.util.Locale; -import java.util.Map; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.database.GigiPreparedStatement; @@ -13,7 +10,6 @@ import org.cacert.gigi.database.GigiResultSet; import org.cacert.gigi.email.EmailProvider; import org.cacert.gigi.email.MailProbe; import org.cacert.gigi.localisation.Language; -import org.cacert.gigi.output.template.Scope; import org.cacert.gigi.output.template.SprintfCommand; import org.cacert.gigi.util.RandomToken; @@ -138,9 +134,7 @@ public class EmailAddress implements IdCachable, Verifyable { Date lastExecution = getLastPing(false); if (lastExecution != null && lastExecution.getTime() + REPING_MINIMUM_DELAY >= System.currentTimeMillis()) { - Map data = new HashMap(); - data.put("data", new Date(lastExecution.getTime() + REPING_MINIMUM_DELAY)); - throw new GigiApiException(new Scope(new SprintfCommand("Reping is only allowed after 5 minutes, yours end at {0}.", Arrays.asList("${data}")), data)); + throw new GigiApiException(SprintfCommand.createSimple("Reping is only allowed after {0} minutes, yours end at {1}.", REPING_MINIMUM_DELAY / 60 / 1000, new Date(lastExecution.getTime() + REPING_MINIMUM_DELAY))); } ping(l); return; diff --git a/src/org/cacert/gigi/output/template/SprintfCommand.java b/src/org/cacert/gigi/output/template/SprintfCommand.java index 006155d2..51ea9cf2 100644 --- a/src/org/cacert/gigi/output/template/SprintfCommand.java +++ b/src/org/cacert/gigi/output/template/SprintfCommand.java @@ -111,7 +111,7 @@ public final class SprintfCommand implements Translatable { * the variables to put into the placeholders. * @return the constructed {@link Outputable}. */ - public static Outputable createSimple(String msg, String... vars) { + public static Outputable createSimple(String msg, Object... vars) { HashMap scope = new HashMap<>(); String[] store = new String[vars.length]; for (int i = 0; i < vars.length; i++) { -- 2.39.2