package com.andreiolar.abms.server;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import com.andreiolar.abms.client.rpc.DBGetContactInfo;
import com.andreiolar.abms.shared.ContactInfo;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class DBGetContactInfoImpl extends RemoteServiceServlet implements DBGetContactInfo {
private static final long serialVersionUID = 1L;
private String URL = new String("jdbc:mysql://localhost:3306");
private String user = "root";
private String pass = "andrei";
private String schema = "administrare_bloc";
public DBGetContactInfoImpl() {
}
private Connection getConnection() throws Exception {
Properties props = new Properties();
props.setProperty("user", user);
props.setProperty("password", pass);
props.setProperty("zeroDateTimeBehavior", "convertToNull");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(URL + "/" + schema, props);
return conn;
}
@Override
public List<ContactInfo> getContacts() throws Exception {
List<ContactInfo> contacts = new ArrayList<ContactInfo>();
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
conn = getConnection();
try {
String q = "select * from contact_info";
stmt = conn.prepareStatement(q);
rs = stmt.executeQuery();
while (rs.next()) {
String familyName = rs.getString("family_name");
String contactPerson = rs.getString("contact_person");
String apartmentNumber = rs.getString("apartment_number");
String email = rs.getString("email");
String mobileNumber = rs.getString("mobile_number");
String username = rs.getString("username");
String gender = rs.getString("gender");
ContactInfo contactInfo = new ContactInfo(familyName, contactPerson, apartmentNumber, email, mobileNumber, username, gender);
contacts.add(contactInfo);
}
} catch (Exception ex) {
ex.printStackTrace();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
if (contacts == null || contacts.isEmpty()) {
throw new Exception("Error retrieving contacts!");
}
return contacts;
}
}