comparison artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 273:22a90706d32d

Enables the artifact server to set the TTL of a specific collection via REST call. artifacts/trunk@2070 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 07 Jun 2011 16:27:47 +0000
parents a2df2b48d2aa
children e92d5944fe4b
comparison
equal deleted inserted replaced
272:2ce31a9414ff 273:22a90706d32d
123 public static final String SQL_ARTIFACTS_IN_ONLY_COLLECTION_ONLY = 123 public static final String SQL_ARTIFACTS_IN_ONLY_COLLECTION_ONLY =
124 SQL.get("artifacts.in.one.collection.only"); 124 SQL.get("artifacts.in.one.collection.only");
125 125
126 public static final String SQL_OUTDATE_ARTIFACTS_COLLECTION = 126 public static final String SQL_OUTDATE_ARTIFACTS_COLLECTION =
127 SQL.get("outdate.artifacts.collection"); 127 SQL.get("outdate.artifacts.collection");
128
129 public static final String SQL_UPDATE_COLLECTION_TTL =
130 SQL.get("collections.update.ttl");
128 131
129 public static final String SQL_OUTDATE_ARTIFACTS_USER = 132 public static final String SQL_OUTDATE_ARTIFACTS_USER =
130 SQL.get("outdate.artifacts.user"); 133 SQL.get("outdate.artifacts.user");
131 134
132 public static final String SQL_DELETE_USER_COLLECTION_ITEMS = 135 public static final String SQL_DELETE_USER_COLLECTION_ITEMS =
1511 return exec.runRead() 1514 return exec.runRead()
1512 ? collectionItems.toArray( 1515 ? collectionItems.toArray(
1513 new CollectionItem[collectionItems.size()]) 1516 new CollectionItem[collectionItems.size()])
1514 : null; 1517 : null;
1515 } 1518 }
1519
1520
1521 public boolean setCollectionTTL(final String uuid, final Long ttl) {
1522 if (!isValidIdentifier(uuid)) {
1523 logger.debug("Invalid collection id: '" + uuid + "'");
1524 return false;
1525 }
1526
1527 return new SQLExecutor() {
1528 public boolean doIt() throws SQLException {
1529 prepareStatement(SQL_UPDATE_COLLECTION_TTL);
1530 if (ttl == null) {
1531 stmnt.setNull(1, Types.BIGINT);
1532 }
1533 else {
1534 stmnt.setLong(1, ttl);
1535 }
1536 stmnt.setString(2, uuid);
1537 stmnt.execute();
1538 conn.commit();
1539
1540 return true;
1541 }
1542 }.runWrite();
1543 }
1516 } 1544 }
1517 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 1545 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org