package com.andreiolar.abms.server;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.andreiolar.abms.client.rpc.DBGetTenantSuggestions;
import com.andreiolar.abms.shared.UserInfo;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class DBGetTenantSuggestionsImpl extends RemoteServiceServlet implements DBGetTenantSuggestions {
private static final long serialVersionUID = 4754068415026080673L;
@Override
public List<String> getTenantSuggestions(UserInfo userInfo) throws Exception {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
List<String> tenantSuggestions = new ArrayList<String>();
try {
conn = MyConnection.getConnection();
try {
String q = "select * from user_info where not(username=?)";
stmt = conn.prepareStatement(q);
stmt.setString(1, userInfo.getUsername());
rs = stmt.executeQuery();
while (rs.next()) {
String apartmentNumber = rs.getString("apartment_number");
String firstName = rs.getString("first_name");
String lastName = rs.getString("last_name");
StringBuilder sb = new StringBuilder();
sb.append(firstName);
sb.append(" ");
sb.append(lastName);
sb.append(", ");
sb.append("Apt. Number: ");
sb.append(apartmentNumber);
tenantSuggestions.add(sb.toString());
}
} finally {
rs.close();
stmt.close();
}
} finally {
conn.close();
}
if (tenantSuggestions.isEmpty()) {
throw new Exception("No tenant suggestions have been found!");
}
return tenantSuggestions;
}
}