Search in sources :

Example 1 with ForceFlatToSqlite

use of fr.xephi.authme.datasource.converter.ForceFlatToSqlite in project AuthMeReloaded by AuthMe.

the class DataSourceProvider method convertFlatfileToSqlite.

/**
     * Converts the data source from the deprecated FLATFILE type to SQLITE.
     *
     * @param dataSource the data source to convert if necessary
     * @return the data source to use: the converted datasource (SQLite),
     *         or the same data source if no conversion was performed
     */
private DataSource convertFlatfileToSqlite(DataSource dataSource) {
    if (DataSourceType.FILE == settings.getProperty(DatabaseSettings.BACKEND)) {
        ConsoleLogger.warning("FlatFile backend has been detected and is now deprecated; it will be changed " + "to SQLite... Connection will be impossible until conversion is done!");
        FlatFile flatFile = (FlatFile) dataSource;
        try {
            SQLite sqlite = new SQLite(settings);
            ForceFlatToSqlite converter = new ForceFlatToSqlite(flatFile, sqlite);
            converter.execute(null);
            settings.setProperty(DatabaseSettings.BACKEND, DataSourceType.SQLITE);
            settings.save();
            return sqlite;
        } catch (Exception e) {
            ConsoleLogger.logException("Error during conversion from Flatfile to SQLite", e);
            throw new IllegalStateException(e);
        }
    }
    return dataSource;
}
Also used : SQLite(fr.xephi.authme.datasource.SQLite) FlatFile(fr.xephi.authme.datasource.FlatFile) ForceFlatToSqlite(fr.xephi.authme.datasource.converter.ForceFlatToSqlite) IOException(java.io.IOException) SQLException(java.sql.SQLException)

Aggregations

FlatFile (fr.xephi.authme.datasource.FlatFile)1 SQLite (fr.xephi.authme.datasource.SQLite)1 ForceFlatToSqlite (fr.xephi.authme.datasource.converter.ForceFlatToSqlite)1 IOException (java.io.IOException)1 SQLException (java.sql.SQLException)1