]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/CertificateOwner.java
Empty: rename fname,mname,lname,dob
[gigi.git] / src / org / cacert / gigi / dbObjects / CertificateOwner.java
index 7c111beea4b1ecfb26b50acebe4e3b6f3cb2cf7c..82143db50030301a04ae6da8bdadd45b8d0f01a1 100644 (file)
@@ -41,10 +41,10 @@ public abstract class CertificateOwner implements IdCachable {
     }
 
     protected int insert() {
-        if (id != 0) {
-            throw new Error("refusing to insert");
-        }
         synchronized (User.class) {
+            if (id != 0) {
+                throw new Error("refusing to insert");
+            }
             GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO certOwners() VALUES()");
             ps.execute();
             id = ps.lastInsertId();
@@ -91,8 +91,13 @@ public abstract class CertificateOwner implements IdCachable {
 
     }
 
-    public Certificate[] getCertificates() {
-        GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT serial FROM certs WHERE memid=? AND revoked IS NULL");
+    public Certificate[] getCertificates(boolean includeRevoked) {
+        GigiPreparedStatement ps;
+        if (includeRevoked) {
+            ps = DatabaseConnection.getInstance().prepare("SELECT serial FROM certs WHERE memid=?");
+        } else {
+            ps = DatabaseConnection.getInstance().prepare("SELECT serial FROM certs WHERE memid=? AND revoked IS NULL");
+        }
         ps.setInt(1, getId());
         GigiResultSet rs = ps.executeQuery();
         rs.last();
@@ -130,7 +135,7 @@ public abstract class CertificateOwner implements IdCachable {
     }
 
     public void delete() {
-        GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("UPDATE certowners set deleted=NOW() WHERE id=?");
+        GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("UPDATE certOwners set deleted=NOW() WHERE id=?");
         ps.setInt(1, getId());
         ps.execute();
         myCache.remove(this);