Mercurial > dive4elements > framework
comparison artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 217:87a7773030b5
The Backend got a method that retrieves an ArtifactCollection based on its GID.
artifacts/trunk@1556 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 24 Mar 2011 15:41:25 +0000 |
parents | 33f58a847fc4 |
children | fbd57d2eeaef |
comparison
equal
deleted
inserted
replaced
216:2d90d5cfe8f9 | 217:87a7773030b5 |
---|---|
140 public static final String SQL_COLLECTIONS_SELECT_USER = | 140 public static final String SQL_COLLECTIONS_SELECT_USER = |
141 SQL.get("collections.select.user"); | 141 SQL.get("collections.select.user"); |
142 | 142 |
143 public static final String SQL_COLLECTIONS_SELECT_ALL = | 143 public static final String SQL_COLLECTIONS_SELECT_ALL = |
144 SQL.get("collections.select.all"); | 144 SQL.get("collections.select.all"); |
145 | |
146 public static final String SQL_COLLECTIONS_SELECT_GID = | |
147 SQL.get("collections.select.by.gid"); | |
145 | 148 |
146 public static final String SQL_COLLECTIONS_CREATION_TIME = | 149 public static final String SQL_COLLECTIONS_CREATION_TIME = |
147 SQL.get("collection.creation.time"); | 150 SQL.get("collection.creation.time"); |
148 | 151 |
149 public static final String SQL_COLLECTIONS_ID_BY_GID = | 152 public static final String SQL_COLLECTIONS_ID_BY_GID = |
1035 }; | 1038 }; |
1036 | 1039 |
1037 return exec.runWrite() ? collection[0]: null; | 1040 return exec.runWrite() ? collection[0]: null; |
1038 } | 1041 } |
1039 | 1042 |
1043 public ArtifactCollection getCollection( | |
1044 final String collectionId, | |
1045 final ArtifactCollectionFactory collectionFactory, | |
1046 final UserFactory userFactory, | |
1047 final Object context | |
1048 ) { | |
1049 if (!isValidIdentifier(collectionId)) { | |
1050 logger.debug("collection id is not valid: " + collectionId); | |
1051 return null; | |
1052 } | |
1053 | |
1054 final ArtifactCollection[] ac = new ArtifactCollection[1]; | |
1055 | |
1056 SQLExecutor exec = new SQLExecutor() { | |
1057 public boolean doIt() throws SQLException { | |
1058 | |
1059 prepareStatement(SQL_COLLECTIONS_SELECT_GID); | |
1060 stmnt.setString(1, collectionId); | |
1061 | |
1062 result = stmnt.executeQuery(); | |
1063 if (!result.next()) { | |
1064 logger.debug("No such collection"); | |
1065 return false; | |
1066 } | |
1067 | |
1068 String collectionName = result.getString(2); | |
1069 String ownerId = result.getString(3); | |
1070 Date creationTime = | |
1071 new Date(result.getTimestamp(4).getTime()); | |
1072 Date lastAccess = | |
1073 new Date(result.getTimestamp(5).getTime()); | |
1074 Document attr = | |
1075 XMLUtils.fromByteArray(result.getBytes(6)); | |
1076 | |
1077 ArtifactCollection collection = | |
1078 collectionFactory.createCollection( | |
1079 collectionId, | |
1080 collectionName, | |
1081 creationTime, | |
1082 attr, | |
1083 context); | |
1084 | |
1085 if (ownerId != null) { | |
1086 collection.setUser(new LazyBackendUser( | |
1087 ownerId, userFactory, Backend.this, context)); | |
1088 } | |
1089 | |
1090 ac[0] = collection; | |
1091 | |
1092 return true; | |
1093 } | |
1094 }; | |
1095 | |
1096 return exec.runRead() ? ac[0] : null; | |
1097 } | |
1098 | |
1040 public ArtifactCollection [] listCollections( | 1099 public ArtifactCollection [] listCollections( |
1041 final String ownerIdentifier, | 1100 final String ownerIdentifier, |
1042 final Document data, | 1101 final Document data, |
1043 final ArtifactCollectionFactory collectionFactory, | 1102 final ArtifactCollectionFactory collectionFactory, |
1044 final UserFactory userFactory, | 1103 final UserFactory userFactory, |