1 package org.bitrepository.audittrails.store;
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 AuditTrailDatabaseManager extends DatabaseManager {
11
12 private final DatabaseSpecifics databaseSpecifics;
13 private DatabaseMigrator migrator = null;
14
15 public AuditTrailDatabaseManager(DatabaseSpecifics databaseSpecifics) {
16 this.databaseSpecifics = databaseSpecifics;
17 }
18
19 @Override
20 protected DatabaseSpecifics getDatabaseSpecifics() {
21 return databaseSpecifics;
22 }
23
24 @Override
25 protected synchronized DatabaseMigrator getMigrator() {
26 if(migrator == null) {
27 migrator = new AuditTrailServiceDatabaseMigrator(connector);
28 }
29 return migrator;
30 }
31
32 @Override
33 protected boolean needsMigration() {
34 return getMigrator().needsMigration();
35 }
36
37 @Override
38 protected String getDatabaseCreationScript() {
39 return AuditTrailDatabaseCreator.DEFAULT_AUDIT_TRAIL_DB_SCRIPT;
40 }
41
42 }