1 package org.bitrepository.service.audit;
2
3 import org.bitrepository.service.database.DatabaseManager;
4 import org.bitrepository.service.database.DatabaseMigrator;
5 import org.bitrepository.settings.referencesettings.DatabaseSpecifics;
6
7
8
9
10 public class AuditDatabaseManager extends DatabaseManager {
11
12 private final DatabaseSpecifics databaseSpecifics;
13 private DatabaseMigrator migrator;
14 public final static String AUDIT_CONTRIBUTOR_DATABASE_SCHEMA = "sql/derby/auditContributorDBCreation.sql";
15
16 public AuditDatabaseManager(DatabaseSpecifics databaseSpecifics) {
17 this.databaseSpecifics = databaseSpecifics;
18 }
19
20 @Override
21 protected DatabaseSpecifics getDatabaseSpecifics() {
22 return databaseSpecifics;
23 }
24
25 @Override
26 protected synchronized DatabaseMigrator getMigrator() {
27 if(migrator == null) {
28 migrator = new AuditTrailContributorDatabaseMigrator(connector);
29 }
30 return migrator;
31 }
32
33 @Override
34 protected boolean needsMigration() {
35 return getMigrator().needsMigration();
36 }
37
38 @Override
39 protected String getDatabaseCreationScript() {
40 return AUDIT_CONTRIBUTOR_DATABASE_SCHEMA;
41 }
42
43 }