comparison artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 157:6e6965873a48

Simplified creation of users. artifacts/trunk@1382 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 03 Mar 2011 10:33:49 +0000
parents a76de72ad6d1
children d718a4d55662
comparison
equal deleted inserted replaced
156:a76de72ad6d1 157:6e6965873a48
6 * or visit http://www.gnu.org/licenses/ if it does not exist. 6 * or visit http://www.gnu.org/licenses/ if it does not exist.
7 */ 7 */
8 8
9 package de.intevation.artifactdatabase; 9 package de.intevation.artifactdatabase;
10 10
11 import de.intevation.artifacts.ArtifactCollection;
11 import de.intevation.artifacts.Artifact; 12 import de.intevation.artifacts.Artifact;
12 import de.intevation.artifacts.ArtifactFactory; 13 import de.intevation.artifacts.ArtifactFactory;
13 import de.intevation.artifacts.ArtifactSerializer; 14 import de.intevation.artifacts.ArtifactSerializer;
14 import de.intevation.artifacts.User; 15 import de.intevation.artifacts.User;
16 import de.intevation.artifacts.UserFactory;
15 17
16 import de.intevation.artifacts.common.utils.XMLUtils; 18 import de.intevation.artifacts.common.utils.XMLUtils;
17 19
18 import java.sql.Connection; 20 import java.sql.Connection;
19 import java.sql.PreparedStatement; 21 import java.sql.PreparedStatement;
816 logger.error(e.getLocalizedMessage(), e); 818 logger.error(e.getLocalizedMessage(), e);
817 } 819 }
818 } 820 }
819 821
820 public User createUser( 822 public User createUser(
821 String name, 823 String name,
822 Document role 824 Document role,
825 UserFactory factory,
826 Object context
823 ) { 827 ) {
824 Connection connection = null; 828 Connection connection = null;
825 PreparedStatement stmnt_next_id = null; 829 PreparedStatement stmnt_next_id = null;
826 PreparedStatement stmnt_insert = null; 830 PreparedStatement stmnt_insert = null;
827 ResultSet result = null; 831 ResultSet result = null;
862 866
863 stmnt_insert.execute(); 867 stmnt_insert.execute();
864 868
865 connection.commit(); 869 connection.commit();
866 870
867 return new DefaultUser(identifier, name, role); 871 return factory.createUser(identifier, name, role, context);
868 } 872 }
869 catch (SQLException sqle) { 873 catch (SQLException sqle) {
870 connection.rollback(); 874 connection.rollback();
871 throw sqle; 875 throw sqle;
872 } 876 }
983 } 987 }
984 988
985 return false; 989 return false;
986 } 990 }
987 991
988 public User getUser(String identifier) { 992 public User getUser(
989 993 String identifier,
994 UserFactory factory,
995 Object context
996 ) {
990 Connection conn = null; 997 Connection conn = null;
991 ResultSet result = null; 998 ResultSet result = null;
992 PreparedStatement stmnt = null; 999 PreparedStatement stmnt = null;
993 1000
994 if (!StringUtils.checkUUID(identifier)) { 1001 if (!StringUtils.checkUUID(identifier)) {
1009 String name = result.getString(2); 1016 String name = result.getString(2);
1010 byte [] roleData = result.getBytes(3); 1017 byte [] roleData = result.getBytes(3);
1011 1018
1012 Document role = XMLUtils.fromByteArray(roleData); 1019 Document role = XMLUtils.fromByteArray(roleData);
1013 1020
1014 return new DefaultUser(identifier, name, role); 1021 return factory.createUser(identifier, name, role, context);
1015 } 1022 }
1016 catch (SQLException sqle) { 1023 catch (SQLException sqle) {
1017 logger.error(sqle.getLocalizedMessage(), sqle); 1024 logger.error(sqle.getLocalizedMessage(), sqle);
1018 } 1025 }
1019 finally { 1026 finally {
1032 } 1039 }
1033 1040
1034 return null; 1041 return null;
1035 } 1042 }
1036 1043
1037 public User [] getUsers() { 1044 public User [] getUsers(UserFactory factory, Object context) {
1038 Connection conn = null; 1045 Connection conn = null;
1039 ResultSet result = null; 1046 ResultSet result = null;
1040 PreparedStatement stmnt = null; 1047 PreparedStatement stmnt = null;
1041 1048
1042 DataSource dataSource = DBConnection.getDataSource(); 1049 DataSource dataSource = DBConnection.getDataSource();
1052 String identifier = result.getString(2); 1059 String identifier = result.getString(2);
1053 String name = result.getString(3); 1060 String name = result.getString(3);
1054 byte [] roleData = result.getBytes(4); 1061 byte [] roleData = result.getBytes(4);
1055 1062
1056 Document role = XMLUtils.fromByteArray(roleData); 1063 Document role = XMLUtils.fromByteArray(roleData);
1057 User user = new DefaultUser(identifier, name, role); 1064 User user =
1065 factory.createUser(identifier, name, role, context);
1058 users.add(user); 1066 users.add(user);
1059 } 1067 }
1060 1068
1061 return users.toArray(new User[users.size()]); 1069 return users.toArray(new User[users.size()]);
1062 } 1070 }
1079 } 1087 }
1080 1088
1081 return null; 1089 return null;
1082 } 1090 }
1083 1091
1084 public Collection [] listCollections(String userId) { 1092 public ArtifactCollection [] listCollections(String userId) {
1085 // TODO: Implement me! 1093 // TODO: Implement me!
1086 return null; 1094 return null;
1087 } 1095 }
1088 1096
1089 public Collection createCollection(String ownerId, Document data) { 1097 public ArtifactCollection createCollection(String ownerId, Document data) {
1090 // TODO: Implement me! 1098 // TODO: Implement me!
1091 return null; 1099 return null;
1092 } 1100 }
1093 1101
1094 public boolean deleteCollection(String collectionId) { 1102 public boolean deleteCollection(String collectionId) {
1127 ) { 1135 ) {
1128 // TODO: Implement me! 1136 // TODO: Implement me!
1129 return false; 1137 return false;
1130 } 1138 }
1131 1139
1132 public Collection [] listCollectionArtifacts(String collectionId) { 1140 public ArtifactCollection [] listCollectionArtifacts(String collectionId) {
1133 // TODO: Implement me! 1141 // TODO: Implement me!
1134 return null; 1142 return null;
1135 } 1143 }
1136 1144
1137 } 1145 }

http://dive4elements.wald.intevation.org