View Javadoc

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    * Manager for the database of the AuditTrailService. For usage, see @DatabaseManager. 
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  }