private String getRenameTableSQL(String from, String to) { switch (dbType) { case SQLITE: return "ALTER TABLE " + from + " RENAME TO " + to; case MYSQL: return "RENAME TABLE " + from + " TO " + to; case H2: return "ALTER TABLE " + from + " RENAME TO " + to; default: throw new IllegalArgumentException("DBType: " + dbType.getName() + " does not have rename table sql"); } }
@Override public int hashCode() { return Objects.hash(getType().getName()); }
/** * Gets an {@code Optional<DBType>} which matches {@code name}.<p> * This method is case-insensitive.<p> * The {@code Optional<DBType>} is empty when no {@code DBType} is found. * * @param name the name of the {@code DBType} * @return an {@code Optional<DBType>} */ public static Optional<DBType> getForName(String name) { for (DBType dbType : DBType.values()) { if (dbType.getName().equalsIgnoreCase(name)) { return Optional.of(dbType); } } return Optional.empty(); }
/** * Checks if the name of a {@code DBType} corresponds to {@code name}.<p> * This method is case-insensitive. * * @param name the name of the {@code DBType} * @return if the {@code DBType} exists * @see DBType#getForName(String) */ public static boolean exists(String name) { for (DBType dbType : DBType.values()) { if (dbType.getName().equalsIgnoreCase(name)) { return true; } } return false; } }
private void appendServerInformation(StringBuilder content) { ServerProperties serverProperties = serverInfo.getServerProperties(); content.append("<pre>### Server Information<br>") .append("**Plan Version:** ${version}<br>"); content.append("**Server:** "); content.append(serverProperties.getName()) .append(" ").append(serverProperties.getImplVersion()) .append(" (").append(serverProperties.getVersion()); content.append(")<br>"); content.append("**Database:** ").append(database.getType().getName()); content.append("<br><br>"); Properties properties = System.getProperties(); String osName = properties.getProperty("os.name"); String osVersion = properties.getProperty("os.version"); String osArch = properties.getProperty("os.arch"); String javaVendor = properties.getProperty("java.vendor"); String javaVersion = properties.getProperty("java.version"); String javaVMVendor = properties.getProperty("java.vm.vendor"); String javaVMName = properties.getProperty("java.vm.name"); String javaVMVersion = properties.getProperty("java.vm.version"); content.append("**Operating SubSystem:** ").append(osName).append(" (").append(osArch) .append(") version ").append(osVersion).append("<br>"); content.append("**Java Version:** ").append(javaVersion).append(", ").append(javaVendor).append("<br>"); content.append("**Java VM Version:** ").append(javaVMName).append(" version ").append(javaVMVersion) .append(", ").append(javaVMVendor).append("<br>"); content.append("</pre>"); }
private void registerConfigSettingGraphs() { String serverType = "Sponge"; String databaseType = database.getType().getName(); addStringSettingPie("server_type", serverType); addStringSettingPie("database_type", databaseType); }
@Override public void enable() throws EnableException { try { db.init(); db.scheduleClean(20L); logger.info(locale.getString(PluginLang.ENABLED_DATABASE, db.getType().getName())); } catch (DBInitException e) { Throwable cause = e.getCause(); String message = cause == null ? e.getMessage() : cause.getMessage(); throw new EnableException(db.getType().getName() + " init failure: " + message, cause); } }
private void registerConfigSettingGraphs() { String serverType = plugin.getProxy().getName(); String databaseType = database.getType().getName(); addStringSettingPie("server_type", serverType); addStringSettingPie("database_type", databaseType); addStringSettingPie("network_servers", connectionSystem.getBukkitServers().size()); }
private void startConnectionPingTask() { stopConnectionPingTask(); try { // Maintains Connection. connectionPingTask = runnableFactory.create("DBConnectionPingTask " + getType().getName(), new KeepAliveTask(connection, () -> getNewConnection(databaseFile), logger, errorHandler) ).runTaskTimerAsynchronously(60L * 20L, 60L * 20L); } catch (Exception ignored) { // Task failed to register because plugin is being disabled } }
private void startConnectionPingTask() { stopConnectionPingTask(); try { // Maintains Connection. connectionPingTask = runnableFactory.create("DBConnectionPingTask " + getType().getName(), new KeepAliveTask(connection, () -> getNewConnection(databaseFile), logger, errorHandler) ).runTaskTimerAsynchronously(60L * 20L, 60L * 20L); } catch (Exception ignored) { // Task failed to register because plugin is being disabled } }
private void registerConfigSettingGraphs() { String serverType = plugin.getServer().getName(); if ("CraftBukkit".equals(serverType) && Check.isSpigotAvailable()) { serverType = "Spigot"; } String databaseType = plugin.getSystem().getDatabaseSystem().getDatabase().getType().getName(); addStringSettingPie("server_type", serverType); addStringSettingPie("database_type", databaseType); }
@Override public void onCommand(Sender sender, String commandLabel, String[] args) { Verify.isTrue(args.length >= 2, () -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ARGS, 2, Arrays.toString(this.getArguments())))); String backupDbName = args[0]; String dbName = args[1].toLowerCase(); boolean isCorrectDB = DBType.exists(dbName); Verify.isTrue(isCorrectDB, () -> new IllegalArgumentException(locale.getString(ManageLang.FAIL_INCORRECT_DB, dbName))); try { Database database = dbSystem.getActiveDatabaseByName(dbName); Verify.isFalse(backupDbName.contains("database") && database instanceof SQLiteDB, () -> new IllegalArgumentException(locale.getString(ManageLang.FAIL_SAME_DB))); database.init(); if (!Verify.contains("-a", args)) { sender.sendMessage(locale.getString(ManageLang.CONFIRMATION, locale.getString(ManageLang.CONFIRM_OVERWRITE, database.getType().getName()))); return; } runRestoreTask(backupDbName, sender, database); } catch (Exception e) { sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } }
@Test public void testH2GetName() { assertEquals("H2", db.getType().getName()); } }
@Test public void testSQLiteGetName() { assertEquals("SQLite", db.getType().getName()); }
@Override public void onCommand(Sender sender, String commandLabel, String[] args) { String yes = locale.getString(GenericLang.YES); String no = locale.getString(GenericLang.NO); String updateAvailable = versionCheckSystem.isNewVersionAvailable() ? yes : no; String connectedToBungee = connectionSystem.isServerAvailable() ? yes : no; String[] messages = { locale.getString(CommandLang.HEADER_INFO), "", locale.getString(CommandLang.INFO_VERSION, plugin.getVersion()), locale.getString(CommandLang.INFO_UPDATE, updateAvailable), locale.getString(CommandLang.INFO_DATABASE, dbSystem.getDatabase().getType().getName()), locale.getString(CommandLang.INFO_BUNGEE_CONNECTION, connectedToBungee), "", ">" }; sender.sendMessage(messages); }
sender.sendMessage( locale.getString(ManageLang.CONFIRMATION, locale.getString(ManageLang.CONFIRM_REMOVAL, db.getType().getName())
underTest = (MySQLDB) system.getDatabaseSystem().getActiveDatabaseByName(DBType.MYSQL.getName());