peternameyakj
2025-01-06 4c82733d79b03ee1d5304398b0598d826e6fd0e9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package db;
 
import db.backup.internal.MysqlBackupImpl;
import db.restore.MysqlRestoreImpl;
import db.util.ConfigUtils;
 
public class DBBeanFactory {
 
    /**    
     * <p>Description: 创建DBBackup实例   </p>
     * 
     * @param backupRecordService   备份记录信息管理接口
     * @param operatorEvent         数据库操作事件    
     * @return  DBBackup实例
     */
    public static Object buildBackupBean(DBBackupRecordService backupRecordService, //
            DBOperatorEvent operatorEvent) {
        SupportDBTypeEnum dbType = ConfigUtils.getCurrentDBType(); // 当前数据库类型
        DBBackup backupService = null;
        switch (dbType) {
        case mysql:
            backupService = new MysqlBackupImpl();
            break;
//        case oracle:
//            backupService = new OracleBackupImpl();
//            break;
//        case postgre:
//            backupService = new PostgreBackupImpl();
//            break;
//        case sqlserver:
//            backupService = new SQLServerBackupImpl();
//            break;
        }
 
        if (backupService == null) {
            throw new IllegalArgumentException("The DB backupService can not be NULL");
        }
 
        if (backupService instanceof DBBackupBeanHandler) {
            ((DBBackupBeanHandler) backupService).setBackupRecordService(backupRecordService);
            ((DBBackupBeanHandler) backupService).setOperatorEvent(operatorEvent);
        }
        return backupService;
    }
 
    /**    
     * <p>Description: 创建DBRestore实例   </p>
     * 
     * @param operatorEvent         数据库操作事件    
     * @return  DBRestore实例
     */
    public static Object buildRestoreBean(DBOperatorEvent operatorEvent) {
        SupportDBTypeEnum dbType = ConfigUtils.getCurrentDBType(); // 当前数据库类型
        DBRestore restoreService = null;
        switch (dbType) {
        case mysql:
            restoreService = new MysqlRestoreImpl();
            break;
//        case oracle:
//            restoreService = new OracleRestoreImpl();
//            break;
//        case postgre:
//            restoreService = new PostgreRestoreImpl();
//            break;
//        case sqlserver:
//            restoreService = new SQLServerRestoreImpl();
//            break;
        }
 
        if (restoreService == null) {
            throw new IllegalArgumentException("The DB restoreService can not be NULL");
        }
 
        if (restoreService instanceof DBRestoreBeanHandler) {
            ((DBRestoreBeanHandler) restoreService).setOperatorEvent(operatorEvent);
        }
        return restoreService;
    }
 
}