X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FDomainPinger.java;h=68ef91eb6e0092d9ff8c2f8433dfbb9753b46dcc;hb=6d65334306c8b7bd10fbbfa07bc8f38475ff6d08;hp=2a14cc1e8ff97f2b3c28a67fc4ea3b1b1bd52e79;hpb=e409ba881965634f63f0b67824bc93dda4ec4327;p=gigi.git diff --git a/src/org/cacert/gigi/ping/DomainPinger.java b/src/org/cacert/gigi/ping/DomainPinger.java index 2a14cc1e..68ef91eb 100644 --- a/src/org/cacert/gigi/ping/DomainPinger.java +++ b/src/org/cacert/gigi/ping/DomainPinger.java @@ -1,5 +1,7 @@ package org.cacert.gigi.ping; +import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.dbObjects.Domain; import org.cacert.gigi.dbObjects.User; @@ -9,5 +11,25 @@ public abstract class DomainPinger { public static final String PING_SUCCEDED = ""; - public abstract String ping(Domain domain, String configuration, User user); + public abstract void ping(Domain domain, String configuration, User user, int confId); + + protected static void enterPingResult(int configId, String state, String result, String token) { + GigiPreparedStatement enterPingResult = DatabaseConnection.getInstance().prepare("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 token, String state, String result) { + GigiPreparedStatement updatePingResult = DatabaseConnection.getInstance().prepare("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(); + + } }