X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FDomainPinger.java;h=942334920fc0432b434913379b0cb641959046e2;hp=8be4c2bf227c7b1deb01d845493a143162c6d876;hb=d7be034f96e06985f57d86d2779c434276b5bd4d;hpb=f09e6d3da3f51938c76eac7fa354206acb00406a diff --git a/src/org/cacert/gigi/ping/DomainPinger.java b/src/org/cacert/gigi/ping/DomainPinger.java index 8be4c2bf..94233492 100644 --- a/src/org/cacert/gigi/ping/DomainPinger.java +++ b/src/org/cacert/gigi/ping/DomainPinger.java @@ -1,5 +1,36 @@ package org.cacert.gigi.ping; +import org.cacert.gigi.database.GigiPreparedStatement; +import org.cacert.gigi.dbObjects.CertificateOwner; +import org.cacert.gigi.dbObjects.Domain; + public abstract class DomainPinger { - public abstract void ping(String domain, String configuration, String token); + + public static final String PING_STILL_PENDING = null; + + public static final String PING_SUCCEDED = ""; + + public abstract void ping(Domain domain, String configuration, CertificateOwner target, int confId); + + protected static void enterPingResult(int configId, String state, String result, String token) { + 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.setString(3, result); + enterPingResult.setString(4, token); + enterPingResult.execute(); + } + + } + + protected static void updatePingResult(int configId, String state, String result, String token) { + try (GigiPreparedStatement updatePingResult = new GigiPreparedStatement("UPDATE `domainPinglog` SET `state`=?::`pingState`, `result`=? WHERE `configId`=? AND `challenge`=?")) { + updatePingResult.setString(1, DomainPinger.PING_STILL_PENDING == state ? "open" : DomainPinger.PING_SUCCEDED.equals(state) ? "success" : "failed"); + updatePingResult.setString(2, result); + updatePingResult.setInt(3, configId); + updatePingResult.setString(4, token); + updatePingResult.execute(); + } + + } }