comparison artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 148:101a52d3ad08

Added code to load all users from database. artifacts/trunk@1373 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 02 Mar 2011 18:18:16 +0000
parents 9a64e0c1c737
children 3d70de111af1
comparison
equal deleted inserted replaced
147:9a64e0c1c737 148:101a52d3ad08
18 import java.sql.Connection; 18 import java.sql.Connection;
19 import java.sql.PreparedStatement; 19 import java.sql.PreparedStatement;
20 import java.sql.ResultSet; 20 import java.sql.ResultSet;
21 import java.sql.SQLException; 21 import java.sql.SQLException;
22 import java.sql.Types; 22 import java.sql.Types;
23
24 import java.util.ArrayList;
23 25
24 import javax.sql.DataSource; 26 import javax.sql.DataSource;
25 27
26 import org.apache.log4j.Logger; 28 import org.apache.log4j.Logger;
27 29
104 SQL.get("users.delete.id"); 106 SQL.get("users.delete.id");
105 107
106 public static final String SQL_USERS_DELETE_COLLECTIONS = 108 public static final String SQL_USERS_DELETE_COLLECTIONS =
107 SQL.get("users.delete.collections"); 109 SQL.get("users.delete.collections");
108 110
109 public static final String SQL_USER_SELECT_ALL = 111 public static final String SQL_USERS_SELECT_ALL =
110 SQL.get("users.select.all"); 112 SQL.get("users.select.all");
111 113
112 public static final String SQL_USERS_COLLECTIONS = 114 public static final String SQL_USERS_COLLECTIONS =
113 SQL.get("users.collections"); 115 SQL.get("users.collections");
114 116
1029 1031
1030 return null; 1032 return null;
1031 } 1033 }
1032 1034
1033 public User [] getUsers() { 1035 public User [] getUsers() {
1034 // TODO: implement me! 1036 Connection conn = null;
1037 ResultSet result = null;
1038 PreparedStatement stmnt = null;
1039
1040 DataSource dataSource = DBConnection.getDataSource();
1041 try {
1042 conn = dataSource.getConnection();
1043 stmnt = conn.prepareStatement(SQL_USERS_SELECT_ALL);
1044 result = stmnt.executeQuery();
1045
1046 ArrayList<User> users = new ArrayList<User>();
1047
1048 while (result.next()) {
1049 // omit id
1050 String identifier = result.getString(2);
1051 String name = result.getString(3);
1052 byte [] roleData = result.getBytes(4);
1053
1054 Document role = XMLUtils.fromByteArray(roleData);
1055 User user = new DefaultUser(identifier, name, role);
1056 users.add(user);
1057 }
1058
1059 return users.toArray(new User[users.size()]);
1060 }
1061 catch (SQLException sqle) {
1062 logger.error(sqle.getLocalizedMessage(), sqle);
1063 }
1064 finally {
1065 if (result != null) {
1066 try { result.close(); }
1067 catch (SQLException sqle) {}
1068 }
1069 if (stmnt != null) {
1070 try { stmnt.close(); }
1071 catch (SQLException sqle) {}
1072 }
1073 if (conn != null) {
1074 try { conn.close(); }
1075 catch (SQLException sqle) {}
1076 }
1077 }
1078
1035 return null; 1079 return null;
1036 } 1080 }
1037 } 1081 }
1038 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 1082 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org