View Javadoc

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