1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.bitrepository.pillar.cache.database;
23
24 import static org.bitrepository.pillar.cache.database.DatabaseConstants.CHECKSUM_TABLE;
25 import static org.bitrepository.pillar.cache.database.DatabaseConstants.CS_FILE_ID;
26 import static org.bitrepository.pillar.cache.database.DatabaseConstants.CS_CHECKSUM;
27 import static org.bitrepository.pillar.cache.database.DatabaseConstants.CS_DATE;
28 import static org.bitrepository.pillar.cache.database.DatabaseConstants.CS_COLLECTION_ID;
29
30 import java.util.Date;
31
32 import org.bitrepository.common.ArgumentValidator;
33 import org.bitrepository.service.database.DBConnector;
34 import org.bitrepository.service.database.DatabaseUtils;
35
36
37
38
39 public class ChecksumIngestor {
40
41 private final DBConnector connector;
42
43
44
45
46
47 public ChecksumIngestor(DBConnector connector) {
48 ArgumentValidator.checkNotNull(connector, "DBConnector connector");
49
50 this.connector = connector;
51 }
52
53
54
55
56
57
58
59
60 public synchronized void insertNewEntry(String fileId, String collectionId, String checksum, Date date) {
61 String sql = "INSERT INTO " + CHECKSUM_TABLE + " ( " + CS_FILE_ID + " , " + CS_CHECKSUM + " , " + CS_DATE
62 + " , " + CS_COLLECTION_ID + " ) VALUES ( ? , ? , ? , ? )";
63 DatabaseUtils.executeStatement(connector, sql, fileId, checksum, date, collectionId);
64 }
65
66
67
68
69
70
71
72
73 public void updateEntry(String fileId, String collectionId, String checksum, Date date) {
74 String sql = "UPDATE " + CHECKSUM_TABLE + " SET " + CS_CHECKSUM + " = ? , " + CS_DATE + " = ? WHERE "
75 + CS_FILE_ID + " = ? AND " + CS_COLLECTION_ID + " = ?";
76 DatabaseUtils.executeStatement(connector, sql, checksum, date, fileId, collectionId);
77 }
78
79
80
81
82
83
84 public void removeEntry(String fileId, String collectionId) {
85 String sql = "DELETE FROM " + CHECKSUM_TABLE + " WHERE " + CS_FILE_ID + " = ? AND " + CS_COLLECTION_ID + " = ?";
86 DatabaseUtils.executeStatement(connector, sql, fileId, collectionId);
87 }
88 }