X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FDomainPinger.java;h=c5eb3926bea8d8a2fed6b0b766b11171d9a13ae0;hp=15dd0eb9cc259c762c9c92805061fcef78dce067;hb=0b86fb147b4a61f315770fa5bba4466ca18ddfa8;hpb=d7c0f42f9a60ae6dfff83d1f01e547bbf5681c0d diff --git a/src/org/cacert/gigi/ping/DomainPinger.java b/src/org/cacert/gigi/ping/DomainPinger.java index 15dd0eb9..c5eb3926 100644 --- a/src/org/cacert/gigi/ping/DomainPinger.java +++ b/src/org/cacert/gigi/ping/DomainPinger.java @@ -1,11 +1,21 @@ package org.cacert.gigi.ping; +import org.cacert.gigi.database.DBEnum; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.dbObjects.CertificateOwner; import org.cacert.gigi.dbObjects.Domain; public abstract class DomainPinger { + public static enum PingState implements DBEnum { + OPEN, SUCCESS, FAILED; + + @Override + public String getDBName() { + return toString().toLowerCase(); + } + } + public static final String PING_STILL_PENDING = null; public static final String PING_SUCCEDED = ""; @@ -13,9 +23,10 @@ public abstract class DomainPinger { public abstract void ping(Domain domain, String configuration, CertificateOwner target, int confId); protected static void enterPingResult(int configId, String state, String result, String token) { + PingState estate = DomainPinger.PING_STILL_PENDING == state ? PingState.OPEN : DomainPinger.PING_SUCCEDED.equals(state) ? PingState.SUCCESS : PingState.FAILED; try (GigiPreparedStatement enterPingResult = new GigiPreparedStatement("INSERT INTO `domainPinglog` SET `configId`=?, `state`=?::`pingState`, `result`=?, `challenge`=?")) { enterPingResult.setInt(1, configId); - enterPingResult.setString(2, DomainPinger.PING_STILL_PENDING == state ? "open" : DomainPinger.PING_SUCCEDED.equals(state) ? "success" : "failed"); + enterPingResult.setEnum(2, estate); enterPingResult.setString(3, result); enterPingResult.setString(4, token); enterPingResult.execute();