Mercurial > dive4elements > framework
comparison artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 343:542caebea773
Add functionality to get 'oldest' artifact of a collection.'
artifacts/trunk@3037 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 19 Oct 2011 15:55:33 +0000 |
parents | b46c5b13ac94 |
children | be883e843539 |
comparison
equal
deleted
inserted
replaced
342:9a85e0ef6e02 | 343:542caebea773 |
---|---|
113 public String SQL_COLLECTIONS_SELECT_USER; | 113 public String SQL_COLLECTIONS_SELECT_USER; |
114 public String SQL_COLLECTIONS_SELECT_ALL; | 114 public String SQL_COLLECTIONS_SELECT_ALL; |
115 public String SQL_COLLECTIONS_SELECT_GID; | 115 public String SQL_COLLECTIONS_SELECT_GID; |
116 public String SQL_COLLECTIONS_CREATION_TIME; | 116 public String SQL_COLLECTIONS_CREATION_TIME; |
117 public String SQL_COLLECTIONS_ID_BY_GID; | 117 public String SQL_COLLECTIONS_ID_BY_GID; |
118 public String SQL_COLLECTIONS_OLDEST_ARTIFACT; | |
118 public String SQL_DELETE_COLLECTION_ITEMS; | 119 public String SQL_DELETE_COLLECTION_ITEMS; |
119 public String SQL_DELETE_COLLECTION; | 120 public String SQL_DELETE_COLLECTION; |
120 public String SQL_COLLECTION_CHECK_ARTIFACT; | 121 public String SQL_COLLECTION_CHECK_ARTIFACT; |
121 public String SQL_COLLECTION_ITEMS_ID_NEXTVAL; | 122 public String SQL_COLLECTION_ITEMS_ID_NEXTVAL; |
122 public String SQL_COLLECTION_ITEMS_INSERT; | 123 public String SQL_COLLECTION_ITEMS_INSERT; |
330 SQL_COLLECTIONS_INSERT = sql.get("collections.insert"); | 331 SQL_COLLECTIONS_INSERT = sql.get("collections.insert"); |
331 SQL_COLLECTIONS_SELECT_USER = sql.get("collections.select.user"); | 332 SQL_COLLECTIONS_SELECT_USER = sql.get("collections.select.user"); |
332 SQL_COLLECTIONS_SELECT_ALL = sql.get("collections.select.all"); | 333 SQL_COLLECTIONS_SELECT_ALL = sql.get("collections.select.all"); |
333 SQL_COLLECTIONS_SELECT_GID = sql.get("collections.select.by.gid"); | 334 SQL_COLLECTIONS_SELECT_GID = sql.get("collections.select.by.gid"); |
334 SQL_COLLECTIONS_CREATION_TIME = sql.get("collection.creation.time"); | 335 SQL_COLLECTIONS_CREATION_TIME = sql.get("collection.creation.time"); |
335 SQL_COLLECTIONS_ID_BY_GID = sql.get("collections.id.by.gid"); | 336 SQL_COLLECTIONS_OLDEST_ARTIFACT = sql.get("collections.artifacts.oldest"); |
337 SQL_COLLECTIONS_ID_BY_GID = sql.get("collections.by.gid"); | |
336 SQL_DELETE_COLLECTION_ITEMS = sql.get("delete.collection.items"); | 338 SQL_DELETE_COLLECTION_ITEMS = sql.get("delete.collection.items"); |
337 SQL_DELETE_COLLECTION = sql.get("delete.collection"); | 339 SQL_DELETE_COLLECTION = sql.get("delete.collection"); |
338 SQL_COLLECTION_CHECK_ARTIFACT = sql.get("collection.check.artifact"); | 340 SQL_COLLECTION_CHECK_ARTIFACT = sql.get("collection.check.artifact"); |
339 SQL_COLLECTION_ITEMS_ID_NEXTVAL = | 341 SQL_COLLECTION_ITEMS_ID_NEXTVAL = |
340 sql.get("collection.items.id.nextval"); | 342 sql.get("collection.items.id.nextval"); |
1256 ? collections.toArray(new ArtifactCollection[collections.size()]) | 1258 ? collections.toArray(new ArtifactCollection[collections.size()]) |
1257 : null; | 1259 : null; |
1258 } | 1260 } |
1259 | 1261 |
1260 | 1262 |
1263 public String getMasterArtifact(final String collectionId) { | |
1264 if (!isValidIdentifier(collectionId)) { | |
1265 logger.debug("Invalid collection id: '" + collectionId + "'"); | |
1266 return null; | |
1267 } | |
1268 final List<String> uuid = new ArrayList<String>(); | |
1269 SQLExecutor.Instance exec = sqlExecutor.new Instance() { | |
1270 public boolean doIt() throws SQLException { | |
1271 // Fetch masters (oldest artifact) id. | |
1272 prepareStatement(SQL_COLLECTIONS_OLDEST_ARTIFACT); | |
1273 stmnt.setString(1, collectionId); | |
1274 logger.debug("getMaster.execute"); | |
1275 result = stmnt.executeQuery(); | |
1276 if (!result.next()) { | |
1277 logger.debug("No such collection: " + collectionId); | |
1278 return false; | |
1279 } | |
1280 logger.debug("getMasterArtifact result.getString " + result.getString(1)); | |
1281 uuid.add(result.getString(1)); | |
1282 reset(); | |
1283 return true; | |
1284 } | |
1285 }; | |
1286 return exec.runRead() ? uuid.get(0) : null; | |
1287 } | |
1288 | |
1261 public boolean deleteCollection(final String collectionId) { | 1289 public boolean deleteCollection(final String collectionId) { |
1262 if (!isValidIdentifier(collectionId)) { | 1290 if (!isValidIdentifier(collectionId)) { |
1263 logger.debug("Invalid collection id: '" + collectionId + "'"); | 1291 logger.debug("Invalid collection id: '" + collectionId + "'"); |
1264 return false; | 1292 return false; |
1265 } | 1293 } |