View Javadoc
1   package com.atlassian.activeobjects.backup.types;
2   
3   import com.atlassian.activeobjects.backup.AbstractTestActiveObjectsBackup;
4   import net.java.ao.EntityManager;
5   import net.java.ao.RawEntity;
6   
7   abstract class AbstractTestTypeBackup extends AbstractTestActiveObjectsBackup {
8       final void testBackupType(BackupType<?> bt) throws Exception {
9           entityManager.migrate(bt.getEntityClass());
10  
11          bt.createData(entityManager);
12          entityManager.flushAll();
13          bt.checkData(entityManager);
14  
15          final String backup = save();
16          logger.debug("\n" + backup);
17  
18          entityManager.migrate(); // emptying the DB
19          entityManager.flushAll();
20  
21          restore(backup);
22          restore(backup);
23  
24          entityManager.migrate(bt.getEntityClass());
25          bt.checkData(entityManager);
26      }
27  
28      static interface BackupType<K> {
29          Class<? extends RawEntity<K>> getEntityClass();
30  
31          void createData(EntityManager em) throws Exception;
32  
33          void checkData(EntityManager em) throws Exception;
34      }
35  }