# HG changeset patch # User Sascha L. Teichmann # Date 1299089896 0 # Node ID 101a52d3ad089ada4423097e38025d5292d98db6 # Parent 9a64e0c1c7377658701fe62bd7c4bd6f415bcce3 Added code to load all users from database. artifacts/trunk@1373 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 9a64e0c1c737 -r 101a52d3ad08 ChangeLog --- a/ChangeLog Wed Mar 02 18:08:37 2011 +0000 +++ b/ChangeLog Wed Mar 02 18:18:16 2011 +0000 @@ -1,3 +1,8 @@ +2011-03-02 Sascha L. Teichmann + + * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: + Added code to load all users from database. + 2011-03-02 Sascha L. Teichmann * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: diff -r 9a64e0c1c737 -r 101a52d3ad08 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java --- a/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Wed Mar 02 18:08:37 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Wed Mar 02 18:18:16 2011 +0000 @@ -21,6 +21,8 @@ import java.sql.SQLException; import java.sql.Types; +import java.util.ArrayList; + import javax.sql.DataSource; import org.apache.log4j.Logger; @@ -106,7 +108,7 @@ public static final String SQL_USERS_DELETE_COLLECTIONS = SQL.get("users.delete.collections"); - public static final String SQL_USER_SELECT_ALL = + public static final String SQL_USERS_SELECT_ALL = SQL.get("users.select.all"); public static final String SQL_USERS_COLLECTIONS = @@ -1031,7 +1033,49 @@ } public User [] getUsers() { - // TODO: implement me! + Connection conn = null; + ResultSet result = null; + PreparedStatement stmnt = null; + + DataSource dataSource = DBConnection.getDataSource(); + try { + conn = dataSource.getConnection(); + stmnt = conn.prepareStatement(SQL_USERS_SELECT_ALL); + result = stmnt.executeQuery(); + + ArrayList users = new ArrayList(); + + while (result.next()) { + // omit id + String identifier = result.getString(2); + String name = result.getString(3); + byte [] roleData = result.getBytes(4); + + Document role = XMLUtils.fromByteArray(roleData); + User user = new DefaultUser(identifier, name, role); + users.add(user); + } + + return users.toArray(new User[users.size()]); + } + catch (SQLException sqle) { + logger.error(sqle.getLocalizedMessage(), sqle); + } + finally { + if (result != null) { + try { result.close(); } + catch (SQLException sqle) {} + } + if (stmnt != null) { + try { stmnt.close(); } + catch (SQLException sqle) {} + } + if (conn != null) { + try { conn.close(); } + catch (SQLException sqle) {} + } + } + return null; } }