Mercurial > dive4elements > framework
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 } |