Added loadUserNames() and loadRealNames() for loading the user and real

names of a list of users who's userids are known.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@78 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2001-03-02 07:36:00 +00:00
parent 13fa067cdf
commit 0708119f29
@@ -1,5 +1,5 @@
// //
// $Id: UserRepository.java,v 1.3 2001/03/02 02:38:31 mdb Exp $ // $Id: UserRepository.java,v 1.4 2001/03/02 07:36:00 mdb Exp $
package com.samskivert.servlet.user; package com.samskivert.servlet.user;
@@ -12,6 +12,7 @@ import org.apache.regexp.*;
import com.samskivert.Log; import com.samskivert.Log;
import com.samskivert.jdbc.MySQLRepository; import com.samskivert.jdbc.MySQLRepository;
import com.samskivert.jdbc.jora.*; import com.samskivert.jdbc.jora.*;
import com.samskivert.util.IntMap;
public class UserRepository extends MySQLRepository public class UserRepository extends MySQLRepository
{ {
@@ -243,6 +244,61 @@ public class UserRepository extends MySQLRepository
}); });
} }
/**
* Loads the usernames of the users identified by the supplied user
* ids and returns them in an array. If any users do not exist, their
* slot in the array will contain a null.
*/
public String[] loadUserNames (int[] userids)
throws SQLException
{
return loadNames(userids, "username");
}
/**
* Loads the real names of the users identified by the supplied user
* ids and returns them in an array. If any users do not exist, their
* slot in the array will contain a null.
*/
public String[] loadRealNames (int[] userids)
throws SQLException
{
return loadNames(userids, "realname");
}
protected String[] loadNames (int[] userids, String column)
throws SQLException
{
// build up the string we need for the query
StringBuffer ids = new StringBuffer();
for (int i = 0; i < userids.length; i++) {
if (ids.length() > 0) {
ids.append(", ");
}
ids.append(userids[i]);
}
// do the query
IntMap map = new IntMap();
Statement stmt = _session.connection.createStatement();
ResultSet rs = stmt.executeQuery("select userid, " + column +
"from users " +
"where userid in (" + ids + ")");
while (rs.next()) {
int userid = rs.getInt(1);
String name = rs.getString(2);
map.put(userid, name);
}
// finally construct our result
String[] result = new String[userids.length];
for (int i = 0; i < userids.length; i++) {
result[i] = (String)map.get(userids[i]);
}
return result;
}
public static void main (String[] args) public static void main (String[] args)
{ {
Properties props = new Properties(); Properties props = new Properties();