1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.waarp.gateway.ftp.database.model;
21
22 import org.waarp.common.database.DbAdmin;
23 import org.waarp.common.database.exception.WaarpDatabaseNoConnectionException;
24 import org.waarp.common.database.model.DbModel;
25 import org.waarp.common.database.model.DbModelFactory;
26 import org.waarp.common.database.model.DbType;
27 import org.waarp.common.guid.LongUuid;
28
29
30
31
32 public class DbModelFactoryFtp extends DbModelFactory {
33
34
35
36
37
38
39
40
41
42
43
44
45 public static DbAdmin initialize(final String dbdriver, final String dbserver,
46 final String dbuser, final String dbpasswd,
47 final boolean write)
48 throws WaarpDatabaseNoConnectionException {
49 final DbType type = DbType.getFromDriver(dbdriver);
50 final DbModel dbModel;
51 switch (type) {
52 case H2:
53 dbModel = new DbModelH2Ftp(dbserver, dbuser, dbpasswd);
54 break;
55 case Oracle:
56 dbModel = new DbModelOracleFtp(dbserver, dbuser, dbpasswd);
57 break;
58 case PostGreSQL:
59 dbModel = new DbModelPostgresqlFtp();
60 break;
61 case MySQL:
62 dbModel = new DbModelMysqlFtp(dbserver, dbuser, dbpasswd);
63 break;
64 case MariaDB:
65 dbModel = new DbModelMariaDbFtp(dbserver, dbuser, dbpasswd);
66 break;
67 default:
68 throw new WaarpDatabaseNoConnectionException(
69 "TypeDriver unknown: " + type);
70 }
71 dbModels.add(dbModel);
72 return new DbAdmin(dbModel, dbserver, dbuser, dbpasswd, write);
73 }
74
75 public static long nextSequenceMonitoring() {
76 return LongUuid.getLongUuid();
77 }
78 }