X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FDomainPingConfiguration.java;h=1146cca0c5c8b0b451c1f75c334cff0f71e87a91;hb=5296e49740e5bb1c963889a285f561f03dbb4547;hp=a031b9e48f14b3b4e651966f22616d625ad8bfde;hpb=76e3ad5851967bea57005ec9858625d4a7071d7c;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java b/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java index a031b9e4..1146cca0 100644 --- a/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java +++ b/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java @@ -1,10 +1,8 @@ package org.cacert.gigi.dbObjects; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.database.GigiPreparedStatement; +import org.cacert.gigi.database.GigiResultSet; public class DomainPingConfiguration implements IdCachable { @@ -12,19 +10,19 @@ public class DomainPingConfiguration implements IdCachable { EMAIL, DNS, HTTP, SSL; } - int id; + private int id; - Domain target; + private Domain target; - PingType type; + private PingType type; - String info; + private String info; - private DomainPingConfiguration(int id) throws SQLException { - PreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id, domainid, type, info FROM pingconfig WHERE id=?"); + private DomainPingConfiguration(int id) { + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id, domainid, type, info FROM pingconfig WHERE id=?"); ps.setInt(1, id); - ResultSet rs = ps.executeQuery(); + GigiResultSet rs = ps.executeQuery(); if ( !rs.next()) { throw new IllegalArgumentException("Invalid pingconfig id " + id); } @@ -53,16 +51,18 @@ public class DomainPingConfiguration implements IdCachable { private static ObjectCache cache = new ObjectCache<>(); - public static DomainPingConfiguration getById(int id) { + public static synchronized DomainPingConfiguration getById(int id) { DomainPingConfiguration res = cache.get(id); if (res == null) { - try { - cache.put(res = new DomainPingConfiguration(id)); - } catch (SQLException e) { - throw new IllegalArgumentException(e); - } + cache.put(res = new DomainPingConfiguration(id)); } return res; } + public void requestReping() { + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("UPDATE pingconfig set reping='y' WHERE id=?"); + ps.setInt(1, id); + ps.execute(); + } + }