package com.andreiolar.abms.server; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.andreiolar.abms.client.rpc.DBInsertEmail; import com.google.gwt.user.server.rpc.RemoteServiceServlet; public class DBInsertEmailImpl extends RemoteServiceServlet implements DBInsertEmail { private static final long serialVersionUID = -4365048722221945570L; @SuppressWarnings("resource") @Override public Boolean insertEmail(String email, String aptNumber) throws Exception { Boolean result = new Boolean(false); int execute = 0; Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { conn = MyConnection.getConnection(); try { String q = "select apartment_number from user_info where apartment_number=?"; stmt = conn.prepareStatement(q); stmt.setString(1, aptNumber); rs = stmt.executeQuery(); if (!rs.next()) { String q2 = "select * from email_for_registration where apartment_number=?"; stmt = conn.prepareStatement(q2); stmt.setString(1, aptNumber); rs = stmt.executeQuery(); if (!rs.next()) { String q3 = "insert into email_for_registration(email, apartment_number) values(?,?)"; stmt = conn.prepareStatement(q3); stmt.setString(1, email); stmt.setString(2, aptNumber); execute = stmt.executeUpdate(); } else { result = null; } } else { result = null; } } catch (Exception ex) { ex.printStackTrace(); } finally { rs.close(); stmt.close(); } } catch (Exception ex) { ex.printStackTrace(); } finally { conn.close(); } if (result == null) { throw new Exception("Apartment Number: " + aptNumber + " is already occupied!"); } if (execute > 0) { result = new Boolean(true); } if (result.booleanValue() == false) { throw new Exception("Error inserting E-Mail address and Apartment Number into DB!"); } return result; } }