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 {
+ private static final int REPING_MINIMUM_DELAY = 5 * 60 * 1000;
+
private int id;
private Domain target;
public synchronized void requestReping() throws GigiApiException {
Date lastExecution = getLastExecution();
- if (lastExecution.getTime() + 5 * 60 * 1000 < System.currentTimeMillis()) {
+ if (lastExecution.getTime() + REPING_MINIMUM_DELAY < System.currentTimeMillis()) {
Gigi.notifyPinger(this);
return;
}
- Map<String, Object> data = new HashMap<String, Object>();
- data.put("data", new Date(lastExecution.getTime() + 5 * 60 * 1000));
- 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)));
}
}