]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java
ADD: SuupportedUser object for support actions
[gigi.git] / src / org / cacert / gigi / dbObjects / DomainPingConfiguration.java
index a031b9e48f14b3b4e651966f22616d625ad8bfde..1146cca0c5c8b0b451c1f75c334cff0f71e87a91 100644 (file)
@@ -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<DomainPingConfiguration> 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();
+    }
+
 }