1 /*
2 * This file is part of Waarp Project (named also Waarp or GG).
3 *
4 * Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
5 * tags. See the COPYRIGHT.txt in the distribution for a full listing of
6 * individual contributors.
7 *
8 * All Waarp Project is free software: you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version.
12 *
13 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * Waarp . If not, see <http://www.gnu.org/licenses/>.
19 */
20 package org.waarp.gateway.ftp.database.model;
21
22 import org.waarp.common.database.DbSession;
23 import org.waarp.common.database.exception.WaarpDatabaseNoConnectionException;
24 import org.waarp.common.database.model.DbModelMariadb;
25 import org.waarp.gateway.kernel.database.model.DbModelMysqlKernel;
26
27 import java.util.concurrent.locks.ReentrantLock;
28
29 /**
30 * MariaDb Database Model implementation
31 */
32 public class DbModelMariaDbFtp extends DbModelMariadb {
33 /**
34 * Create the object and initialize if necessary the driver
35 *
36 * @param dbserver
37 * @param dbuser
38 * @param dbpasswd
39 *
40 * @throws WaarpDatabaseNoConnectionException
41 */
42 public DbModelMariaDbFtp(final String dbserver, final String dbuser,
43 final String dbpasswd)
44 throws WaarpDatabaseNoConnectionException {
45 super(dbserver, dbuser, dbpasswd);
46 }
47
48 private final ReentrantLock lock = new ReentrantLock();
49
50 @Override
51 public final void createTables(final DbSession session)
52 throws WaarpDatabaseNoConnectionException {
53 DbModelMysqlKernel.createTableMonitoring(session);
54 }
55
56 @Override
57 public final void resetSequence(final DbSession session,
58 final long newvalue) {
59 // Nothing
60 }
61
62 @Override
63 public long nextSequence(final DbSession dbSession) {
64 return DbModelFactoryFtp.nextSequenceMonitoring();
65 }
66
67 @Override
68 public final boolean upgradeDb(final DbSession session,
69 final String version) {
70 return true;
71 }
72
73 @Override
74 public final boolean needUpgradeDb(final DbSession session,
75 final String version,
76 final boolean tryFix) {
77 return false;
78 }
79 }