X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FEmailAddress.java;h=c499b1a97264207becee6cb1348e73e9292e5dd0;hb=11afda1a7ca6a6e84b61b72fb2d1a6d3bb0e9051;hp=b945f9eecc23028575b8d4368738ecd5d652c42e;hpb=51490e8e21fc62bc51b646d8adb2ffc06cc9d861;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/EmailAddress.java b/src/org/cacert/gigi/dbObjects/EmailAddress.java index b945f9ee..c499b1a9 100644 --- a/src/org/cacert/gigi/dbObjects/EmailAddress.java +++ b/src/org/cacert/gigi/dbObjects/EmailAddress.java @@ -11,7 +11,7 @@ import org.cacert.gigi.email.MailProbe; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.util.RandomToken; -public class EmailAddress implements IdCachable { +public class EmailAddress implements IdCachable, Verifyable { private String address; @@ -46,17 +46,17 @@ public class EmailAddress implements IdCachable { } public void insert(Language l) throws GigiApiException { - if (id != 0) { - throw new IllegalStateException("already inserted."); - } try { - GigiPreparedStatement psCheck = DatabaseConnection.getInstance().prepare("SELECT 1 FROM `emails` WHERE email=? AND deleted is NULL"); - GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `emails` SET memid=?, hash=?, email=?"); - ps.setInt(1, owner.getId()); - ps.setString(2, hash); - ps.setString(3, address); - psCheck.setString(1, address); synchronized (EmailAddress.class) { + if (id != 0) { + throw new IllegalStateException("already inserted."); + } + GigiPreparedStatement psCheck = DatabaseConnection.getInstance().prepare("SELECT 1 FROM `emails` WHERE email=? AND deleted is NULL"); + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `emails` SET memid=?, hash=?, email=?"); + ps.setInt(1, owner.getId()); + ps.setString(2, hash); + ps.setString(3, address); + psCheck.setString(1, address); GigiResultSet res = psCheck.executeQuery(); if (res.next()) { throw new GigiApiException("The email is currently valid");