From 4434b6f12f8813b1a32f6c3cbf925cd5b83f1843 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Fri, 20 Feb 2015 00:00:46 +0100 Subject: [PATCH] Fix: synchronization for db objects --- .../cacert/gigi/dbObjects/EmailAddress.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/EmailAddress.java b/src/org/cacert/gigi/dbObjects/EmailAddress.java index 3ca39b6d..13e2e457 100644 --- a/src/org/cacert/gigi/dbObjects/EmailAddress.java +++ b/src/org/cacert/gigi/dbObjects/EmailAddress.java @@ -47,16 +47,16 @@ public class EmailAddress implements IdCachable { public void insert(Language l) throws GigiApiException { try { - 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); 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"); -- 2.39.2