View Javadoc
1   package com.atlassian.activeobjects.backup;
2   
3   import com.atlassian.activeobjects.spi.RestoreProgressMonitor;
4   import com.atlassian.dbexporter.progress.ProgressMonitor;
5   
6   import static com.google.common.base.Preconditions.checkArgument;
7   import static com.google.common.base.Preconditions.checkNotNull;
8   
9   final class ActiveObjectsRestoreProgressMonitor implements ProgressMonitor {
10      private final RestoreProgressMonitor backupProgressMonitor;
11  
12      ActiveObjectsRestoreProgressMonitor(RestoreProgressMonitor restoreProgressMonitor) {
13          this.backupProgressMonitor = checkNotNull(restoreProgressMonitor);
14      }
15  
16      @Override
17      public void begin(Object... args) {
18          backupProgressMonitor.beginRestore();
19      }
20  
21      @Override
22      public void end(Object... args) {
23          backupProgressMonitor.endRestore();
24      }
25  
26      @Override
27      public void begin(Task task, Object... args) {
28          switch (task) {
29              case DATABASE_INFORMATION:
30                  backupProgressMonitor.beginDatabaseInformationRestore();
31                  break;
32              case TABLE_DEFINITION:
33                  backupProgressMonitor.beginTableDefinitionsRestore();
34                  break;
35              case TABLES_DATA:
36                  backupProgressMonitor.beginTablesRestore();
37                  break;
38              case TABLE_DATA:
39                  checkArgument(args.length == 1);
40                  checkArgument(args[0] instanceof String);
41                  backupProgressMonitor.beginTableDataRestore((String) args[0]);
42                  break;
43              case TABLE_CREATION:
44                  checkArgument(args.length == 1);
45                  checkArgument(args[0] instanceof String);
46                  backupProgressMonitor.beginTableCreationRestore((String) args[0]);
47                  break;
48              case TABLE_ROW:
49                  backupProgressMonitor.beginTableRowRestore();
50                  break;
51          }
52      }
53  
54      @Override
55      public void end(Task task, Object... args) {
56          switch (task) {
57              case DATABASE_INFORMATION:
58                  backupProgressMonitor.endDatabaseInformationRestore();
59                  break;
60              case TABLE_DEFINITION:
61                  backupProgressMonitor.endTableDefinitionsRestore();
62                  break;
63              case TABLES_DATA:
64                  backupProgressMonitor.endTablesRestore();
65                  break;
66              case TABLE_DATA:
67                  checkArgument(args.length == 1);
68                  checkArgument(args[0] instanceof String);
69                  backupProgressMonitor.endTableDataRestore((String) args[0]);
70                  break;
71              case TABLE_CREATION:
72                  checkArgument(args.length == 1);
73                  checkArgument(args[0] instanceof String);
74                  backupProgressMonitor.endTableCreationRestore((String) args[0]);
75                  break;
76              case TABLE_ROW:
77                  backupProgressMonitor.endTableRowRestore();
78                  break;
79          }
80      }
81  
82      @Override
83      public void totalNumberOfTables(int size) {
84          backupProgressMonitor.updateTotalNumberOfTablesToRestore(size);
85      }
86  }