38 import java.util.ArrayList; |
38 import java.util.ArrayList; |
39 import java.util.List; |
39 import java.util.List; |
40 import java.util.Objects; |
40 import java.util.Objects; |
41 import java.util.Optional; |
41 import java.util.Optional; |
42 |
42 |
|
43 import static de.uapcore.lightpit.dao.Functions.getSafeString; |
43 import static de.uapcore.lightpit.dao.Functions.setStringOrNull; |
44 import static de.uapcore.lightpit.dao.Functions.setStringOrNull; |
44 |
45 |
45 public final class PGUserDao implements UserDao { |
46 public final class PGUserDao implements UserDao { |
46 |
47 |
47 private final PreparedStatement insert, update, list, find, findByUsername; |
48 private final PreparedStatement insert, update, list, find, findByUsername; |
66 static User mapColumns(ResultSet result) throws SQLException { |
67 static User mapColumns(ResultSet result) throws SQLException { |
67 final int id = result.getInt("userid"); |
68 final int id = result.getInt("userid"); |
68 if (id == 0) return null; |
69 if (id == 0) return null; |
69 final var user = new User(id); |
70 final var user = new User(id); |
70 user.setUsername(result.getString("username")); |
71 user.setUsername(result.getString("username")); |
71 user.setGivenname(result.getString("givenname")); |
72 user.setGivenname(getSafeString(result, "givenname")); |
72 user.setLastname(result.getString("lastname")); |
73 user.setLastname(getSafeString(result, "lastname")); |
73 user.setMail(result.getString("mail")); |
74 user.setMail(getSafeString(result, "mail")); |
74 return user; |
75 return user; |
75 } |
76 } |
76 |
77 |
77 @Override |
78 @Override |
78 public void save(User instance) throws SQLException { |
79 public void save(User instance) throws SQLException { |