From 1833eda29b06f323c5e7ebc1f38dfbe7e6249948 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Fri, 17 Aug 2018 11:48:23 +0300 Subject: [PATCH] APF 3.3.0 Compiling version --- Plan/pom.xml | 2 +- .../main/java/com/djrapitops/plan/Plan.java | 2 +- .../java/com/djrapitops/plan/PlanBungee.java | 2 +- .../java/com/djrapitops/plan/PlanPlugin.java | 2 +- .../java/com/djrapitops/plan/PlanSponge.java | 2 +- .../plan/command/PlanBungeeCommand.java | 2 - .../djrapitops/plan/command/PlanCommand.java | 3 - .../plan/command/commands/InspectCommand.java | 45 ++++++-------- .../command/commands/ListServersCommand.java | 2 +- .../command/commands/QInspectCommand.java | 44 ++++++------- .../command/commands/RegisterCommand.java | 38 +++++------- .../plan/command/commands/SearchCommand.java | 38 +++++------- .../commands/manage/ManageBackupCommand.java | 29 ++++----- .../commands/manage/ManageClearCommand.java | 26 +++----- .../manage/ManageConDebugCommand.java | 2 +- .../commands/manage/ManageMoveCommand.java | 32 ++++------ .../commands/manage/ManageRemoveCommand.java | 62 +++++++++---------- .../commands/manage/ManageRestoreCommand.java | 58 ++++++++--------- .../commands/webuser/WebCheckCommand.java | 30 ++++----- .../commands/webuser/WebListUsersCommand.java | 32 ++++------ .../plan/data/element/TableContainer.java | 9 ++- .../system/database/databases/sql/SQLDB.java | 4 +- .../database/databases/sql/SQLiteDB.java | 6 +- .../plan/system/file/FileSystem.java | 2 +- .../bukkit/PlayerOnlineListener.java | 3 +- .../sponge/SpongePlayerListener.java | 3 - .../processors/player/RegisterProcessor.java | 1 - .../settings/theme/PlanColorScheme.java | 2 +- .../plan/system/tasks/BukkitTaskSystem.java | 3 +- .../plan/system/tasks/BungeeTaskSystem.java | 5 +- .../system/tasks/LogsFolderCleanTask.java | 1 - .../plan/system/tasks/ServerTaskSystem.java | 10 +-- .../plan/system/tasks/TPSCountTimer.java | 2 +- .../plan/system/tasks/TaskSystem.java | 21 ++++--- .../tasks/bungee/EnableConnectionTask.java | 4 -- .../system/tasks/server/BootAnalysisTask.java | 4 -- .../tasks/server/NetworkPageRefreshTask.java | 4 -- .../tasks/server/PeriodicAnalysisTask.java | 4 -- .../system/update/VersionCheckSystem.java | 5 -- .../plan/utilities/FormatUtils.java | 10 --- .../utilities/file/export/AnalysisExport.java | 7 --- .../utilities/file/export/HtmlExport.java | 14 ++--- .../utilities/file/export/PlayerExport.java | 7 --- .../utilities/file/export/SpecificExport.java | 6 +- .../html/tables/PluginPlayersTable.java | 4 +- .../plan/utilities/FormatUtilsTest.java | 3 +- .../java/utilities/mocks/BukkitMockUtil.java | 15 +++-- .../java/utilities/mocks/BungeeMockUtil.java | 21 ++++--- .../java/utilities/mocks/SpongeMockUtil.java | 20 ++++-- 49 files changed, 273 insertions(+), 380 deletions(-) diff --git a/Plan/pom.xml b/Plan/pom.xml index 0c307b7e6..39b94fe3d 100644 --- a/Plan/pom.xml +++ b/Plan/pom.xml @@ -41,7 +41,7 @@ com.djrapitops AbstractPluginFramework - 3.2.0 + 3.3.0-SNAPSHOT diff --git a/Plan/src/main/java/com/djrapitops/plan/Plan.java b/Plan/src/main/java/com/djrapitops/plan/Plan.java index 85d6905f4..4c1a92ec5 100644 --- a/Plan/src/main/java/com/djrapitops/plan/Plan.java +++ b/Plan/src/main/java/com/djrapitops/plan/Plan.java @@ -33,7 +33,7 @@ import com.djrapitops.plugin.StaticHolder; import com.djrapitops.plugin.api.Benchmark; import com.djrapitops.plugin.api.utility.log.DebugLog; import com.djrapitops.plugin.api.utility.log.Log; -import com.djrapitops.plugin.settings.ColorScheme; +import com.djrapitops.plugin.command.ColorScheme; import org.bukkit.configuration.file.FileConfiguration; import java.util.logging.Level; diff --git a/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java b/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java index fa17df538..f7c4c9946 100644 --- a/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java +++ b/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java @@ -16,7 +16,7 @@ import com.djrapitops.plugin.StaticHolder; import com.djrapitops.plugin.api.Benchmark; import com.djrapitops.plugin.api.utility.log.DebugLog; import com.djrapitops.plugin.api.utility.log.Log; -import com.djrapitops.plugin.settings.ColorScheme; +import com.djrapitops.plugin.command.ColorScheme; import java.io.InputStream; import java.util.logging.Level; diff --git a/Plan/src/main/java/com/djrapitops/plan/PlanPlugin.java b/Plan/src/main/java/com/djrapitops/plan/PlanPlugin.java index c4d263d3e..c2f81f155 100644 --- a/Plan/src/main/java/com/djrapitops/plan/PlanPlugin.java +++ b/Plan/src/main/java/com/djrapitops/plan/PlanPlugin.java @@ -7,7 +7,7 @@ package com.djrapitops.plan; import com.djrapitops.plan.system.PlanSystem; import com.djrapitops.plugin.IPlugin; import com.djrapitops.plugin.api.Check; -import com.djrapitops.plugin.settings.ColorScheme; +import com.djrapitops.plugin.command.ColorScheme; import java.io.File; import java.io.InputStream; diff --git a/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java b/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java index a88e42f62..d902a8c95 100644 --- a/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java +++ b/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java @@ -12,7 +12,7 @@ import com.djrapitops.plugin.StaticHolder; import com.djrapitops.plugin.api.Benchmark; import com.djrapitops.plugin.api.utility.log.DebugLog; import com.djrapitops.plugin.api.utility.log.Log; -import com.djrapitops.plugin.settings.ColorScheme; +import com.djrapitops.plugin.command.ColorScheme; import com.google.inject.Inject; import org.bstats.sponge.Metrics; import org.slf4j.Logger; diff --git a/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java index f7daef2ea..eaa3ae1b5 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java @@ -10,7 +10,6 @@ import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.TreeCmdNode; -import com.djrapitops.plugin.command.defaultcmds.StatusCommand; /** * TreeCommand for the /plan command, and all subcommands. @@ -46,7 +45,6 @@ public class PlanBungeeCommand extends TreeCmdNode { new BungeeSetupToggleCommand(plugin), new ReloadCommand(plugin), new DisableCommand(plugin), - new StatusCommand<>(plugin, Permissions.MANAGE.getPermission(), plugin.getColorScheme()), // (Settings.ALLOW_UPDATE.isTrue() ? new UpdateCommand() : null) }; setNodeGroups(analyticsGroup, webGroup, manageGroup); diff --git a/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java index e740df78a..f2e2749db 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java @@ -4,12 +4,10 @@ import com.djrapitops.plan.PlanPlugin; import com.djrapitops.plan.command.commands.*; import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; -import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.TreeCmdNode; -import com.djrapitops.plugin.command.defaultcmds.StatusCommand; /** * TreeCommand for the /plan command, and all SubCommands. @@ -48,7 +46,6 @@ public class PlanCommand extends TreeCmdNode { new InfoCommand(plugin), new ReloadCommand(plugin), new ManageCommand(plugin, this), - new StatusCommand<>(plugin, Permissions.MANAGE.getPermission(), plugin.getColorScheme()), (Settings.DEV_MODE.isTrue() ? new DevCommand(plugin) : null), // (Settings.ALLOW_UPDATE.isTrue() ? new UpdateCommand() : null) }; diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/InspectCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/InspectCommand.java index 1cb962999..0168e0ba4 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/InspectCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/InspectCommand.java @@ -18,8 +18,6 @@ import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.CommandUtils; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import java.util.UUID; @@ -55,32 +53,27 @@ public class InspectCommand extends CommandNode { } private void runInspectTask(String playerName, ISender sender) { - RunnableFactory.createNew(new AbsRunnable("InspectTask") { - @Override - public void run() { - try { - UUID uuid = UUIDUtility.getUUIDOf(playerName); - if (uuid == null) { - sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_VALID)); - return; - } - - Database activeDB = Database.getActive(); - if (!activeDB.check().isPlayerRegistered(uuid)) { - sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_KNOWN)); - return; - } - - checkWebUserAndNotify(activeDB, sender); - Processing.submit(new InspectCacheRequestProcessor(uuid, sender, playerName, locale)); - } catch (DBOpException e) { - sender.sendMessage("§eDatabase exception occurred: " + e.getMessage()); - Log.toLog(this.getClass(), e); - } finally { - this.cancel(); + Processing.submitNonCritical(() -> { + try { + UUID uuid = UUIDUtility.getUUIDOf(playerName); + if (uuid == null) { + sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_VALID)); + return; } + + Database activeDB = Database.getActive(); + if (!activeDB.check().isPlayerRegistered(uuid)) { + sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_KNOWN)); + return; + } + + checkWebUserAndNotify(activeDB, sender); + Processing.submit(new InspectCacheRequestProcessor(uuid, sender, playerName, locale)); + } catch (DBOpException e) { + sender.sendMessage("§eDatabase exception occurred: " + e.getMessage()); + Log.toLog(this.getClass(), e); } - }).runTaskAsynchronously(); + }); } private void checkWebUserAndNotify(Database activeDB, ISender sender) { diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/ListServersCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/ListServersCommand.java index 65c4bf3a1..fa574111d 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/ListServersCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/ListServersCommand.java @@ -10,10 +10,10 @@ import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.api.utility.log.Log; +import com.djrapitops.plugin.command.ColorScheme; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.settings.ColorScheme; import java.util.List; diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/QInspectCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/QInspectCommand.java index 86ac1c98a..08abc059c 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/QInspectCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/QInspectCommand.java @@ -17,6 +17,7 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.GenericLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.utilities.MiscUtils; import com.djrapitops.plan.utilities.uuid.UUIDUtility; @@ -24,8 +25,6 @@ import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import java.util.ArrayList; import java.util.List; @@ -70,31 +69,26 @@ public class QInspectCommand extends CommandNode { } private void runInspectTask(String playerName, ISender sender) { - RunnableFactory.createNew(new AbsRunnable("InspectTask") { - @Override - public void run() { - try { - UUID uuid = UUIDUtility.getUUIDOf(playerName); - if (uuid == null) { - sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_VALID)); - return; - } - - PlayerContainer container = Database.getActive().fetch().getPlayerContainer(uuid); - if (!container.getValue(PlayerKeys.REGISTERED).isPresent()) { - sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_KNOWN)); - return; - } - - sendMessages(sender, container); - } catch (DBOpException e) { - sender.sendMessage("§eDatabase exception occurred: " + e.getMessage()); - Log.toLog(this.getClass(), e); - } finally { - this.cancel(); + Processing.submitNonCritical(() -> { + try { + UUID uuid = UUIDUtility.getUUIDOf(playerName); + if (uuid == null) { + sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_VALID)); + return; } + + PlayerContainer container = Database.getActive().fetch().getPlayerContainer(uuid); + if (!container.getValue(PlayerKeys.REGISTERED).isPresent()) { + sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_KNOWN)); + return; + } + + sendMessages(sender, container); + } catch (DBOpException e) { + sender.sendMessage("§eDatabase exception occurred: " + e.getMessage()); + Log.toLog(this.getClass(), e); } - }).runTaskAsynchronously(); + }); } private void sendMessages(ISender sender, PlayerContainer player) { diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/RegisterCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/RegisterCommand.java index 133c5d583..65b2b67de 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/RegisterCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/RegisterCommand.java @@ -7,6 +7,7 @@ import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.utilities.PassEncryptUtil; import com.djrapitops.plugin.api.Check; @@ -15,8 +16,6 @@ import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.CommandUtils; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.util.Arrays; @@ -113,29 +112,22 @@ public class RegisterCommand extends CommandNode { } private void registerUser(WebUser webUser, ISender sender) { - RunnableFactory.createNew(new AbsRunnable("Register WebUser Task") { - @Override - public void run() { - final String existsMsg = locale.getString(CommandLang.FAIL_WEB_USER_EXISTS); - final String userName = webUser.getName(); - final String successMsg = locale.getString(CommandLang.WEB_USER_REGISTER_SUCCESS); - try { - Database database = Database.getActive(); - boolean userExists = database.check().doesWebUserExists(userName); - if (userExists) { - sender.sendMessage(existsMsg); - return; - } - database.save().webUser(webUser); - sender.sendMessage(successMsg); - Log.info(locale.getString(CommandLang.WEB_USER_REGISTER_NOTIFY, userName, webUser.getPermLevel())); - } catch (Exception e) { - Log.toLog(this.getClass(), e); - } finally { - this.cancel(); + Processing.submitCritical(() -> { + String userName = webUser.getName(); + try { + Database database = Database.getActive(); + boolean userExists = database.check().doesWebUserExists(userName); + if (userExists) { + sender.sendMessage(locale.getString(CommandLang.FAIL_WEB_USER_EXISTS)); + return; } + database.save().webUser(webUser); + sender.sendMessage(locale.getString(CommandLang.WEB_USER_REGISTER_SUCCESS)); + Log.info(locale.getString(CommandLang.WEB_USER_REGISTER_NOTIFY, userName, webUser.getPermLevel())); + } catch (Exception e) { + Log.toLog(this.getClass(), e); } - }).runTaskAsynchronously(); + }); } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/SearchCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/SearchCommand.java index 5a0e33173..587b24cb4 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/SearchCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/SearchCommand.java @@ -7,14 +7,13 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.utilities.MiscUtils; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.FormatUtils; import com.djrapitops.plugin.utilities.Verify; @@ -52,29 +51,24 @@ public class SearchCommand extends CommandNode { } private void runSearchTask(String[] args, ISender sender) { - RunnableFactory.createNew(new AbsRunnable("SearchTask: " + Arrays.toString(args)) { - @Override - public void run() { - try { - String searchTerm = args[0]; - List names = MiscUtils.getMatchingPlayerNames(searchTerm); + Processing.submitNonCritical(() -> { + try { + String searchTerm = args[0]; + List names = MiscUtils.getMatchingPlayerNames(searchTerm); - boolean empty = Verify.isEmpty(names); + boolean empty = Verify.isEmpty(names); - sender.sendMessage(locale.getString(CommandLang.HEADER_SEARCH, empty ? 0 : names.size(), searchTerm)); - // Results - if (!empty) { - sender.sendMessage(FormatUtils.collectionToStringNoBrackets(names)); - } - - sender.sendMessage(">"); - } catch (DBOpException e) { - sender.sendMessage("§cDatabase error occurred: " + e.getMessage()); - Log.toLog(this.getClass(), e); - } finally { - this.cancel(); + sender.sendMessage(locale.getString(CommandLang.HEADER_SEARCH, empty ? 0 : names.size(), searchTerm)); + // Results + if (!empty) { + sender.sendMessage(FormatUtils.collectionToStringNoBrackets(names)); } + + sender.sendMessage(">"); + } catch (DBOpException e) { + sender.sendMessage("§cDatabase error occurred: " + e.getMessage()); + Log.toLog(this.getClass(), e); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageBackupCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageBackupCommand.java index 61c7cb34c..09b20d5de 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageBackupCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageBackupCommand.java @@ -12,13 +12,12 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.util.Arrays; @@ -67,23 +66,17 @@ public class ManageBackupCommand extends CommandNode { } private void runBackupTask(ISender sender, String[] args, Database database) { - RunnableFactory.createNew(new AbsRunnable("BackupTask") { - @Override - public void run() { - try { - Log.debug("Backup", "Start"); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); - createNewBackup(args[0], database); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); - } catch (Exception e) { - Log.toLog(ManageBackupCommand.class, e); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - } finally { - Log.logDebug("Backup"); - this.cancel(); - } + Processing.submitCritical(() -> { + try { + Log.debug("Backup", "Start"); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); + createNewBackup(args[0], database); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); + } catch (Exception e) { + Log.toLog(ManageBackupCommand.class, e); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } - }).runTaskAsynchronously(); + }); } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageClearCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageClearCommand.java index 3da5ee20b..3d5674a66 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageClearCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageClearCommand.java @@ -10,13 +10,12 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.util.Arrays; @@ -66,22 +65,17 @@ public class ManageClearCommand extends CommandNode { } private void runClearTask(ISender sender, Database database) { - RunnableFactory.createNew(new AbsRunnable("DBClearTask") { - @Override - public void run() { - try { - sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); + Processing.submitCritical(() -> { + try { + sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); - database.remove().everything(); + database.remove().everything(); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); - } catch (DBOpException e) { - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - Log.toLog(this.getClass(), e); - } finally { - this.cancel(); - } + sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); + } catch (DBOpException e) { + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); + Log.toLog(this.getClass(), e); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageConDebugCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageConDebugCommand.java index 8c1f163cd..2b26042dc 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageConDebugCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageConDebugCommand.java @@ -16,10 +16,10 @@ import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.system.webserver.WebServerSystem; import com.djrapitops.plugin.api.Check; +import com.djrapitops.plugin.command.ColorScheme; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.settings.ColorScheme; import java.util.List; import java.util.UUID; diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageMoveCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageMoveCommand.java index 4f8d59075..2a256b51b 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageMoveCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageMoveCommand.java @@ -8,13 +8,12 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.util.Arrays; @@ -75,27 +74,22 @@ public class ManageMoveCommand extends CommandNode { } private void runMoveTask(final Database fromDatabase, final Database toDatabase, ISender sender) { - RunnableFactory.createNew(new AbsRunnable("DBMoveTask") { - @Override - public void run() { - try { - sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); + Processing.submitCritical(() -> { + try { + sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); - fromDatabase.backup().backup(toDatabase); + fromDatabase.backup().backup(toDatabase); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); - boolean movingToCurrentDB = toDatabase.getConfigName().equalsIgnoreCase(Database.getActive().getConfigName()); - if (movingToCurrentDB) { - sender.sendMessage(locale.getString(ManageLang.HOTSWAP_REMINDER, toDatabase.getConfigName())); - } - } catch (Exception e) { - Log.toLog(this.getClass(), e); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - } finally { - this.cancel(); + boolean movingToCurrentDB = toDatabase.getConfigName().equalsIgnoreCase(Database.getActive().getConfigName()); + if (movingToCurrentDB) { + sender.sendMessage(locale.getString(ManageLang.HOTSWAP_REMINDER, toDatabase.getConfigName())); } + } catch (Exception e) { + Log.toLog(this.getClass(), e); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRemoveCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRemoveCommand.java index 25cba8866..225f0e36d 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRemoveCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRemoveCommand.java @@ -8,6 +8,7 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.utilities.MiscUtils; import com.djrapitops.plan.utilities.uuid.UUIDUtility; @@ -15,8 +16,6 @@ import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.util.Arrays; @@ -58,40 +57,35 @@ public class ManageRemoveCommand extends CommandNode { } private void runRemoveTask(String playerName, ISender sender, String[] args) { - RunnableFactory.createNew(new AbsRunnable("DBRemoveTask " + playerName) { - @Override - public void run() { - try { - UUID uuid = UUIDUtility.getUUIDOf(playerName); + Processing.submitCritical(() -> { + try { + UUID uuid = UUIDUtility.getUUIDOf(playerName); - if (uuid == null) { - sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_VALID)); - return; - } - - Database database = Database.getActive(); - if (!database.check().isPlayerRegistered(uuid)) { - sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_KNOWN)); - return; - } - - if (!Verify.contains("-a", args)) { - sender.sendMessage(locale.getString(ManageLang.CONFIRMATION, locale.getString(ManageLang.CONFIRM_REMOVAL, database.getName()))); - return; - } - - sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); - - database.remove().player(uuid); - - sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); - } catch (DBOpException e) { - Log.toLog(this.getClass(), e); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - } finally { - this.cancel(); + if (uuid == null) { + sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_VALID)); + return; } + + Database database = Database.getActive(); + if (!database.check().isPlayerRegistered(uuid)) { + sender.sendMessage(locale.getString(CommandLang.FAIL_USERNAME_NOT_KNOWN)); + return; + } + + if (!Verify.contains("-a", args)) { + sender.sendMessage(locale.getString(ManageLang.CONFIRMATION, locale.getString(ManageLang.CONFIRM_REMOVAL, database.getName()))); + return; + } + + sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); + + database.remove().player(uuid); + + sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); + } catch (DBOpException e) { + Log.toLog(this.getClass(), e); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRestoreCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRestoreCommand.java index db56b97d1..b4a24eeb3 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRestoreCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageRestoreCommand.java @@ -9,13 +9,12 @@ import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.DeepHelpLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.io.File; @@ -72,39 +71,34 @@ public class ManageRestoreCommand extends CommandNode { } private void runRestoreTask(String backupDbName, ISender sender, final Database database) { - RunnableFactory.createNew(new AbsRunnable("RestoreTask") { - @Override - public void run() { - try { - String backupDBName = backupDbName; - boolean containsDBFileExtension = backupDBName.endsWith(".db"); + Processing.submitCritical(() -> { + try { + String backupDBName = backupDbName; + boolean containsDBFileExtension = backupDBName.endsWith(".db"); - File backupDBFile = new File(plugin.getDataFolder(), backupDBName + (containsDBFileExtension ? "" : ".db")); + File backupDBFile = new File(plugin.getDataFolder(), backupDBName + (containsDBFileExtension ? "" : ".db")); - if (!backupDBFile.exists()) { - sender.sendMessage(locale.getString(ManageLang.FAIL_FILE_NOT_FOUND, backupDBFile.getAbsolutePath())); - return; - } - - if (containsDBFileExtension) { - backupDBName = backupDBName.substring(0, backupDBName.length() - 3); - } - - SQLiteDB backupDB = new SQLiteDB(backupDBName, () -> locale); - backupDB.init(); - - sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); - - database.backup().restore(backupDB); - - sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); - } catch (Exception e) { - Log.toLog(this.getClass(), e); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - } finally { - this.cancel(); + if (!backupDBFile.exists()) { + sender.sendMessage(locale.getString(ManageLang.FAIL_FILE_NOT_FOUND, backupDBFile.getAbsolutePath())); + return; } + + if (containsDBFileExtension) { + backupDBName = backupDBName.substring(0, backupDBName.length() - 3); + } + + SQLiteDB backupDB = new SQLiteDB(backupDBName, () -> locale); + backupDB.init(); + + sender.sendMessage(locale.getString(ManageLang.PROGRESS_START)); + + database.backup().restore(backupDB); + + sender.sendMessage(locale.getString(ManageLang.PROGRESS_SUCCESS)); + } catch (Exception e) { + Log.toLog(this.getClass(), e); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebCheckCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebCheckCommand.java index 85b327061..da3d76430 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebCheckCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebCheckCommand.java @@ -7,13 +7,12 @@ import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.util.Arrays; @@ -45,24 +44,19 @@ public class WebCheckCommand extends CommandNode { Database database = Database.getActive(); String user = args[0]; - RunnableFactory.createNew(new AbsRunnable("Webuser Check Task: " + user) { - @Override - public void run() { - try { - if (!database.check().doesWebUserExists(user)) { - sender.sendMessage(locale.getString(CommandLang.FAIL_WEB_USER_NOT_EXISTS)); - return; - } - WebUser info = database.fetch().getWebUser(user); - sender.sendMessage(locale.getString(CommandLang.WEB_USER_LIST, info.getName(), info.getPermLevel())); - } catch (Exception e) { - Log.toLog(this.getClass(), e); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - } finally { - this.cancel(); + Processing.submitNonCritical(() -> { + try { + if (!database.check().doesWebUserExists(user)) { + sender.sendMessage(locale.getString(CommandLang.FAIL_WEB_USER_NOT_EXISTS)); + return; } + WebUser info = database.fetch().getWebUser(user); + sender.sendMessage(locale.getString(CommandLang.WEB_USER_LIST, info.getName(), info.getPermLevel())); + } catch (Exception e) { + Log.toLog(this.getClass(), e); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebListUsersCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebListUsersCommand.java index 87780fc78..72cce1df7 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebListUsersCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/webuser/WebListUsersCommand.java @@ -7,14 +7,13 @@ import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.CmdHelpLang; import com.djrapitops.plan.system.locale.lang.CommandLang; import com.djrapitops.plan.system.locale.lang.ManageLang; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plan.utilities.comparators.WebUserComparator; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; import com.djrapitops.plugin.command.ISender; -import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.RunnableFactory; import java.util.List; @@ -38,25 +37,20 @@ public class WebListUsersCommand extends CommandNode { @Override public void onCommand(ISender sender, String commandLabel, String[] args) { - RunnableFactory.createNew(new AbsRunnable("Web user List Task") { - @Override - public void run() { - try { - List users = Database.getActive().fetch().getWebUsers(); - users.sort(new WebUserComparator()); - sender.sendMessage(locale.getString(CommandLang.HEADER_WEB_USERS, users.size())); - for (WebUser user : users) { - sender.sendMessage(locale.getString(CommandLang.WEB_USER_LIST, user.getName(), user.getPermLevel())); - } - sender.sendMessage(">"); - } catch (Exception e) { - Log.toLog(this.getClass(), e); - sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); - } finally { - this.cancel(); + Processing.submitNonCritical(() -> { + try { + List users = Database.getActive().fetch().getWebUsers(); + users.sort(new WebUserComparator()); + sender.sendMessage(locale.getString(CommandLang.HEADER_WEB_USERS, users.size())); + for (WebUser user : users) { + sender.sendMessage(locale.getString(CommandLang.WEB_USER_LIST, user.getName(), user.getPermLevel())); } + sender.sendMessage(">"); + } catch (Exception e) { + Log.toLog(this.getClass(), e); + sender.sendMessage(locale.getString(ManageLang.PROGRESS_FAIL, e.getMessage())); } - }).runTaskAsynchronously(); + }); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java b/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java index 76ec2cba4..44d725caf 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java @@ -5,9 +5,9 @@ package com.djrapitops.plan.data.element; import com.djrapitops.plan.data.store.mutators.formatting.Formatter; -import com.djrapitops.plan.utilities.FormatUtils; import com.djrapitops.plan.utilities.html.Html; import com.djrapitops.plan.utilities.html.icon.Icon; +import com.djrapitops.plugin.utilities.ArrayUtil; import java.io.Serializable; import java.util.ArrayList; @@ -40,10 +40,9 @@ public class TableContainer { } public TableContainer(boolean players, String... header) { - this(FormatUtils.mergeArrays( - new String[]{Icon.called("user").build() + " Player"}, - header - )); + this( + ArrayUtil.merge(new String[]{Icon.called("user").build() + " Player"}, header) + ); } public final void addRow(Serializable... values) { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java index 2e1656591..db2039a30 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java @@ -16,7 +16,7 @@ import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plugin.api.TimeAmount; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.ITask; +import com.djrapitops.plugin.task.PluginTask; import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; @@ -65,7 +65,7 @@ public abstract class SQLDB extends Database { private final SQLTransferOps transferOps; private final boolean usingMySQL; - private ITask dbCleanTask; + private PluginTask dbCleanTask; public SQLDB(Supplier locale) { this.locale = locale; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java index 3890c0e93..2566a32d1 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java @@ -7,7 +7,7 @@ import com.djrapitops.plan.system.locale.lang.PluginLang; import com.djrapitops.plan.utilities.MiscUtils; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.ITask; +import com.djrapitops.plugin.task.PluginTask; import com.djrapitops.plugin.task.RunnableFactory; import java.io.File; @@ -23,7 +23,7 @@ public class SQLiteDB extends SQLDB { private final File databaseFile; private final String dbName; private Connection connection; - private ITask connectionPingTask; + private PluginTask connectionPingTask; public SQLiteDB(Supplier locale) { this("database", locale); @@ -78,7 +78,7 @@ public class SQLiteDB extends SQLDB { stopConnectionPingTask(); try { // Maintains Connection. - connectionPingTask = RunnableFactory.createNew(new AbsRunnable("DBConnectionPingTask " + getName()) { + connectionPingTask = RunnableFactory.createNew("DBConnectionPingTask " + getName(), new AbsRunnable() { @Override public void run() { Statement statement = null; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/file/FileSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/file/FileSystem.java index ee11fe1b3..3866ff3be 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/file/FileSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/file/FileSystem.java @@ -68,7 +68,7 @@ public class FileSystem implements SubSystem { Verify.isTrue((configFile.exists() && configFile.isFile()) || configFile.createNewFile(), () -> new EnableException("Could not create config file at " + configFile.getAbsolutePath())); - RunnableFactory.createNew(new LogsFolderCleanTask(Log.getLogsFolder())) + RunnableFactory.createNew("Logs folder Clean Task", new LogsFolderCleanTask(Log.getLogsFolder())) .runTaskLaterAsynchronously(TimeAmount.SECOND.ticks() * 30L); } catch (IOException e) { throw new EnableException("Failed to create config.yml", e); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/listeners/bukkit/PlayerOnlineListener.java b/Plan/src/main/java/com/djrapitops/plan/system/listeners/bukkit/PlayerOnlineListener.java index c28f0f4a8..7e6e629ce 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/listeners/bukkit/PlayerOnlineListener.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/listeners/bukkit/PlayerOnlineListener.java @@ -6,7 +6,6 @@ import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.processing.processors.info.NetworkPageUpdateProcessor; import com.djrapitops.plan.system.processing.processors.info.PlayerPageUpdateProcessor; import com.djrapitops.plan.system.processing.processors.player.*; -import com.djrapitops.plugin.api.systems.NotificationCenter; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.task.RunnableFactory; import org.bukkit.entity.Player; @@ -80,7 +79,7 @@ public class PlayerOnlineListener implements Listener { private void actOnJoinEvent(PlayerJoinEvent event) { Player player = event.getPlayer(); - NotificationCenter.checkNotifications(player); + // TODO Move update notification to the website. UUID uuid = player.getUniqueId(); long time = System.currentTimeMillis(); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongePlayerListener.java b/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongePlayerListener.java index d0f4c478c..dcd8c8834 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongePlayerListener.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongePlayerListener.java @@ -6,7 +6,6 @@ import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.processing.processors.info.NetworkPageUpdateProcessor; import com.djrapitops.plan.system.processing.processors.info.PlayerPageUpdateProcessor; import com.djrapitops.plan.system.processing.processors.player.*; -import com.djrapitops.plugin.api.systems.NotificationCenter; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.task.RunnableFactory; import org.spongepowered.api.Sponge; @@ -79,8 +78,6 @@ public class SpongePlayerListener { private void actOnJoinEvent(ClientConnectionEvent.Join event) { Player player = event.getTargetEntity(); - NotificationCenter.checkNotifications(player); - UUID uuid = player.getUniqueId(); long time = System.currentTimeMillis(); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/RegisterProcessor.java b/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/RegisterProcessor.java index c0487ebee..7aa29baac 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/RegisterProcessor.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/RegisterProcessor.java @@ -25,7 +25,6 @@ public class RegisterProcessor extends AbsRunnable { private final Runnable[] afterProcess; public RegisterProcessor(UUID uuid, Supplier registered, String name, Runnable... afterProcess) { - super(RegisterProcessor.class.getSimpleName()); this.uuid = uuid; this.registered = registered; this.name = name; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/settings/theme/PlanColorScheme.java b/Plan/src/main/java/com/djrapitops/plan/system/settings/theme/PlanColorScheme.java index e5adb4b74..bbea37525 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/settings/theme/PlanColorScheme.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/settings/theme/PlanColorScheme.java @@ -6,7 +6,7 @@ package com.djrapitops.plan.system.settings.theme; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plugin.api.utility.log.Log; -import com.djrapitops.plugin.settings.ColorScheme; +import com.djrapitops.plugin.command.ColorScheme; /** * ColorScheme that uses values in config settings specific to Plan or PlanBungee. diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java index dfe9bd493..9601e14f1 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java @@ -9,7 +9,6 @@ import com.djrapitops.plan.system.tasks.server.BukkitTPSCountTimer; import com.djrapitops.plan.system.tasks.server.PaperTPSCountTimer; import com.djrapitops.plan.system.tasks.server.PingCountTimer; import com.djrapitops.plugin.api.Check; -import com.djrapitops.plugin.task.RunnableFactory; import org.bukkit.Bukkit; /** @@ -33,7 +32,7 @@ public class BukkitTaskSystem extends ServerTaskSystem { try { PingCountTimer pingCountTimer = new PingCountTimer(); ((Plan) plugin).registerListener(pingCountTimer); - RunnableFactory.createNew("PingCountTimer", pingCountTimer) + registerTask("PingCountTimer", pingCountTimer) .runTaskTimer(20L, PingCountTimer.PING_INTERVAL); } catch (ExceptionInInitializerError | NoClassDefFoundError ignore) { // Running CraftBukkit diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/BungeeTaskSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/BungeeTaskSystem.java index ad6506e46..8b926b3c5 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/BungeeTaskSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/BungeeTaskSystem.java @@ -5,6 +5,7 @@ package com.djrapitops.plan.system.tasks; import com.djrapitops.plan.PlanBungee; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.tasks.bungee.BungeeTPSCountTimer; import com.djrapitops.plan.system.tasks.bungee.EnableConnectionTask; @@ -22,7 +23,7 @@ public class BungeeTaskSystem extends TaskSystem { private final PlanBungee plugin; public BungeeTaskSystem(PlanBungee plugin) { - super(new BungeeTPSCountTimer(plugin)); + super(plugin, new BungeeTPSCountTimer(plugin)); this.plugin = plugin; } @@ -36,7 +37,7 @@ public class BungeeTaskSystem extends TaskSystem { registerTask(tpsCountTimer).runTaskTimerAsynchronously(1000, TimeAmount.SECOND.ticks()); registerTask(new NetworkPageRefreshTask()).runTaskTimerAsynchronously(1500, TimeAmount.MINUTE.ticks()); if (Settings.ANALYSIS_EXPORT.isTrue()) { - registerTask(new HtmlExport(plugin)).runTaskAsynchronously(); + Processing.submitNonCritical(new HtmlExport(plugin)); } } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/LogsFolderCleanTask.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/LogsFolderCleanTask.java index 1bdd02b12..ab15008a5 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/LogsFolderCleanTask.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/LogsFolderCleanTask.java @@ -20,7 +20,6 @@ public class LogsFolderCleanTask extends AbsRunnable { private final File folder; public LogsFolderCleanTask(File folder) { - super(LogsFolderCleanTask.class.getSimpleName()); this.folder = folder; } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/ServerTaskSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/ServerTaskSystem.java index c757da73d..196059bca 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/ServerTaskSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/ServerTaskSystem.java @@ -1,6 +1,7 @@ package com.djrapitops.plan.system.tasks; import com.djrapitops.plan.PlanPlugin; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.tasks.server.BootAnalysisTask; import com.djrapitops.plan.system.tasks.server.NetworkPageRefreshTask; @@ -8,8 +9,7 @@ import com.djrapitops.plan.system.tasks.server.PeriodicAnalysisTask; import com.djrapitops.plan.utilities.file.export.HtmlExport; import com.djrapitops.plugin.api.Benchmark; import com.djrapitops.plugin.api.TimeAmount; -import com.djrapitops.plugin.task.ITask; -import com.djrapitops.plugin.task.RunnableFactory; +import com.djrapitops.plugin.task.PluginTask; /** * Abstracted TaskSystem implementation for both Bukkit and Sponge. @@ -19,10 +19,10 @@ import com.djrapitops.plugin.task.RunnableFactory; public class ServerTaskSystem extends TaskSystem { protected final PlanPlugin plugin; - protected ITask bootAnalysisTask; + protected PluginTask bootAnalysisTask; public ServerTaskSystem(PlanPlugin plugin, TPSCountTimer tpsCountTimer) { - super(tpsCountTimer); + super(plugin, tpsCountTimer); this.plugin = plugin; } @@ -47,7 +47,7 @@ public class ServerTaskSystem extends TaskSystem { registerTask(new PeriodicAnalysisTask()).runTaskTimerAsynchronously(analysisPeriod, analysisPeriod); } if (Settings.ANALYSIS_EXPORT.isTrue()) { - RunnableFactory.createNew(new HtmlExport(plugin)).runTaskAsynchronously(); + Processing.submitNonCritical(new HtmlExport(plugin)); } Benchmark.stop("Enable", "Task Registration"); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/TPSCountTimer.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/TPSCountTimer.java index ba94523c3..3668df76b 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/TPSCountTimer.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/TPSCountTimer.java @@ -23,7 +23,7 @@ public abstract class TPSCountTimer extends AbsRunnable { protected int latestPlayersOnline = 0; public TPSCountTimer(T plugin) { - super("TPSCountTimer"); + super(); this.plugin = plugin; history = new ArrayList<>(); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/TaskSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/TaskSystem.java index a35235548..55baa867a 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/TaskSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/TaskSystem.java @@ -6,9 +6,8 @@ package com.djrapitops.plan.system.tasks; import com.djrapitops.plan.PlanPlugin; import com.djrapitops.plan.system.SubSystem; -import com.djrapitops.plugin.api.systems.TaskCenter; import com.djrapitops.plugin.task.AbsRunnable; -import com.djrapitops.plugin.task.IRunnable; +import com.djrapitops.plugin.task.PluginRunnable; import com.djrapitops.plugin.task.RunnableFactory; /** @@ -20,24 +19,28 @@ import com.djrapitops.plugin.task.RunnableFactory; */ public abstract class TaskSystem implements SubSystem { + protected final PlanPlugin plugin; protected TPSCountTimer tpsCountTimer; + protected final RunnableFactory runnableFactory; - public TaskSystem(TPSCountTimer tpsCountTimer) { + public TaskSystem(PlanPlugin plugin, TPSCountTimer tpsCountTimer) { + this.plugin = plugin; this.tpsCountTimer = tpsCountTimer; + runnableFactory = plugin.getRunnableFactory(); } - protected IRunnable registerTask(AbsRunnable runnable) { - String taskName = runnable.getName(); - return registerTask(taskName != null ? taskName : runnable.getClass().getSimpleName(), runnable); + protected PluginRunnable registerTask(AbsRunnable runnable) { + String taskName = runnable.getClass().getSimpleName(); + return registerTask(taskName, runnable); } - protected IRunnable registerTask(String name, AbsRunnable runnable) { - return RunnableFactory.createNew(name, runnable); + protected PluginRunnable registerTask(String name, AbsRunnable runnable) { + return runnableFactory.create(name, runnable); } @Override public void disable() { - TaskCenter.cancelAllKnownTasks(PlanPlugin.getInstance().getClass()); + runnableFactory.cancelAllKnownTasks(); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/bungee/EnableConnectionTask.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/bungee/EnableConnectionTask.java index 33204938b..80d762879 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/bungee/EnableConnectionTask.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/bungee/EnableConnectionTask.java @@ -7,10 +7,6 @@ import com.djrapitops.plugin.task.AbsRunnable; public class EnableConnectionTask extends AbsRunnable { - public EnableConnectionTask() { - super(EnableConnectionTask.class.getSimpleName()); - } - @Override public void run() { WebExceptionLogger.logIfOccurs(this.getClass(), diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/BootAnalysisTask.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/BootAnalysisTask.java index 7c1277a1c..552c6b329 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/BootAnalysisTask.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/BootAnalysisTask.java @@ -10,10 +10,6 @@ import com.djrapitops.plugin.task.AbsRunnable; public class BootAnalysisTask extends AbsRunnable { - public BootAnalysisTask() { - super(BootAnalysisTask.class.getSimpleName()); - } - @Override public void run() { try { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/NetworkPageRefreshTask.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/NetworkPageRefreshTask.java index 0b598e1dd..fccd0bcab 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/NetworkPageRefreshTask.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/NetworkPageRefreshTask.java @@ -6,10 +6,6 @@ import com.djrapitops.plugin.task.AbsRunnable; public class NetworkPageRefreshTask extends AbsRunnable { - public NetworkPageRefreshTask() { - super(NetworkPageRefreshTask.class.getSimpleName()); - } - @Override public void run() { WebExceptionLogger.logIfOccurs(this.getClass(), () -> InfoSystem.getInstance().updateNetworkPage()); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/PeriodicAnalysisTask.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/PeriodicAnalysisTask.java index 9beed5578..f78e1872f 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/PeriodicAnalysisTask.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/PeriodicAnalysisTask.java @@ -10,10 +10,6 @@ import com.djrapitops.plugin.task.AbsRunnable; public class PeriodicAnalysisTask extends AbsRunnable { - public PeriodicAnalysisTask() { - super(PeriodicAnalysisTask.class.getSimpleName()); - } - @Override public void run() { try { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/update/VersionCheckSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/update/VersionCheckSystem.java index 159b637e7..af014dbbc 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/update/VersionCheckSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/update/VersionCheckSystem.java @@ -9,8 +9,6 @@ import com.djrapitops.plan.system.SubSystem; import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.PluginLang; import com.djrapitops.plan.system.settings.Settings; -import com.djrapitops.plugin.api.Priority; -import com.djrapitops.plugin.api.systems.NotificationCenter; import com.djrapitops.plugin.api.utility.Version; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.utilities.Verify; @@ -69,8 +67,6 @@ public class VersionCheckSystem implements SubSystem { Log.infoColor("§a----------------------------------------"); Log.infoColor("§a" + notification); Log.infoColor("§a----------------------------------------"); - NotificationCenter.getNotifications().clear(); - NotificationCenter.addNotification(newestVersion.isRelease() ? Priority.HIGH : Priority.MEDIUM, notification); } else { Log.info(locale.get().getString(PluginLang.VERSION_NEWEST)); } @@ -99,7 +95,6 @@ public class VersionCheckSystem implements SubSystem { Log.infoColor("§a----------------------------------------"); Log.infoColor("§a" + newVersionNotification); Log.infoColor("§a----------------------------------------"); - NotificationCenter.addNotification(Priority.HIGH, newVersionNotification); } else { Log.info(locale.get().getString(PluginLang.VERSION_NEWEST)); } diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/FormatUtils.java b/Plan/src/main/java/com/djrapitops/plan/utilities/FormatUtils.java index 6fe7088c6..1f1cd0e88 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/FormatUtils.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/FormatUtils.java @@ -93,16 +93,6 @@ public class FormatUtils { return format(epochMs, format); } - /** - * Merges multiple arrays into one. - * - * @param arrays String arrays that need to be combined - * @return One array with contents of the multiple - */ - public static String[] mergeArrays(String[]... arrays) { - return com.djrapitops.plugin.utilities.FormatUtils.mergeArrays(arrays); - } - /** * Remove extra decimals from the end of the double. * diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/AnalysisExport.java b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/AnalysisExport.java index 16628370d..785dd7438 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/AnalysisExport.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/AnalysisExport.java @@ -9,7 +9,6 @@ import com.djrapitops.plugin.api.Check; import com.djrapitops.plugin.api.utility.log.Log; import java.io.IOException; -import java.util.ConcurrentModificationException; import java.util.UUID; /** @@ -23,7 +22,6 @@ public class AnalysisExport extends SpecificExport { private final String serverName; public AnalysisExport(UUID serverUUID, String serverName) { - super("ServerPageExport:" + serverName); this.serverUUID = serverUUID; this.serverName = serverName; } @@ -38,11 +36,6 @@ public class AnalysisExport extends SpecificExport { exportAvailableServerPage(serverUUID, serverName); } catch (IOException e) { Log.toLog(this.getClass(), e); - } finally { - try { - this.cancel(); - } catch (ConcurrentModificationException | IllegalArgumentException ignore) { - } } } } diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java index 342a9c034..1a7464506 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java @@ -9,13 +9,13 @@ import com.djrapitops.plan.api.exceptions.database.DBOpException; import com.djrapitops.plan.data.container.UserInfo; import com.djrapitops.plan.system.database.databases.Database; import com.djrapitops.plan.system.info.connection.ConnectionSystem; +import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.theme.Theme; import com.djrapitops.plan.system.settings.theme.ThemeVal; import com.djrapitops.plan.system.webserver.response.pages.PlayersPageResponse; import com.djrapitops.plan.utilities.file.FileUtil; import com.djrapitops.plugin.api.Check; import com.djrapitops.plugin.api.utility.log.Log; -import com.djrapitops.plugin.task.RunnableFactory; import com.djrapitops.plugin.utilities.Verify; import java.io.File; @@ -34,19 +34,20 @@ public class HtmlExport extends SpecificExport { private final PlanPlugin plugin; public HtmlExport(PlanPlugin plugin) { - super("HtmlExportTask"); this.plugin = plugin; } public static void exportServer(UUID serverUUID) { Optional serverName = Database.getActive().fetch().getServerName(serverUUID); - serverName.ifPresent(s -> RunnableFactory.createNew(new AnalysisExport(serverUUID, s)).runTaskAsynchronously()); + serverName.ifPresent(name -> Processing.submitNonCritical(() -> { + new AnalysisExport(serverUUID, name); + })); } public static void exportPlayer(UUID playerUUID) { String playerName = Database.getActive().fetch().getPlayerName(playerUUID); if (playerName != null) { - RunnableFactory.createNew(new PlayerExport(playerUUID, playerName)).runTaskAsynchronously(); + Processing.submitNonCritical(new PlayerExport(playerUUID, playerName)); } } @@ -66,11 +67,6 @@ public class HtmlExport extends SpecificExport { exportPlayersPage(); } catch (IOException | DBOpException e) { Log.toLog(this.getClass(), e); - } finally { - try { - this.cancel(); - } catch (ConcurrentModificationException | IllegalArgumentException ignore) { - } } } diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/PlayerExport.java b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/PlayerExport.java index 804a48a95..c86a8670a 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/PlayerExport.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/PlayerExport.java @@ -9,7 +9,6 @@ import com.djrapitops.plugin.api.Check; import com.djrapitops.plugin.api.utility.log.Log; import java.io.IOException; -import java.util.ConcurrentModificationException; import java.util.UUID; /** @@ -23,7 +22,6 @@ public class PlayerExport extends SpecificExport { private final String name; public PlayerExport(UUID uuid, String name) { - super("PlayerPageExport:" + name); this.uuid = uuid; this.name = name; } @@ -38,11 +36,6 @@ public class PlayerExport extends SpecificExport { exportAvailablePlayerPage(uuid, name); } catch (IOException e) { Log.toLog(this.getClass(), e); - } finally { - try { - this.cancel(); - } catch (ConcurrentModificationException | IllegalArgumentException ignore) { - } } } } diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/SpecificExport.java b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/SpecificExport.java index 12ca623a6..22a2a4a63 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/SpecificExport.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/SpecificExport.java @@ -12,7 +12,6 @@ import com.djrapitops.plan.system.webserver.cache.ResponseCache; import com.djrapitops.plan.system.webserver.response.Response; import com.djrapitops.plugin.api.Check; import com.djrapitops.plugin.api.utility.log.Log; -import com.djrapitops.plugin.task.AbsRunnable; import java.io.File; import java.io.IOException; @@ -28,13 +27,12 @@ import java.util.UUID; * * @author Rsl1122 */ -public abstract class SpecificExport extends AbsRunnable { +public abstract class SpecificExport implements Runnable { protected final File outputFolder; protected final boolean usingBungee; - protected SpecificExport(String taskName) { - super(taskName); + protected SpecificExport() { outputFolder = getFolder(); usingBungee = Check.isBungeeAvailable(); } diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java b/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java index 558de9b3e..4e5b69bf2 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java @@ -7,8 +7,8 @@ import com.djrapitops.plan.data.plugin.PluginData; import com.djrapitops.plan.data.store.containers.PlayerContainer; import com.djrapitops.plan.data.store.keys.PlayerKeys; import com.djrapitops.plan.system.settings.Settings; -import com.djrapitops.plan.utilities.FormatUtils; import com.djrapitops.plan.utilities.html.Html; +import com.djrapitops.plugin.utilities.ArrayUtil; import org.apache.commons.lang3.ArrayUtils; import java.io.Serializable; @@ -73,7 +73,7 @@ public class PluginPlayersTable extends TableContainer { String name = profile.getValue(PlayerKeys.NAME).orElse("Unknown"); String link = Html.LINK_EXTERNAL.parse(PlanAPI.getInstance().getPlayerInspectPageLink(name), name); - String[] playerData = FormatUtils.mergeArrays(new String[]{link}, rows.getOrDefault(uuid, new String[]{})); + String[] playerData = ArrayUtil.merge(new String[]{link}, rows.getOrDefault(uuid, new String[]{})); addRow(ArrayUtils.addAll(playerData)); i++; diff --git a/Plan/src/test/java/com/djrapitops/plan/utilities/FormatUtilsTest.java b/Plan/src/test/java/com/djrapitops/plan/utilities/FormatUtilsTest.java index f0a0c8385..6211877ab 100644 --- a/Plan/src/test/java/com/djrapitops/plan/utilities/FormatUtilsTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/utilities/FormatUtilsTest.java @@ -1,5 +1,6 @@ package com.djrapitops.plan.utilities; +import com.djrapitops.plugin.utilities.ArrayUtil; import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; @@ -41,7 +42,7 @@ public class FormatUtilsTest { String[][] arrays = new String[][]{new String[]{randomString1, randomString2}, new String[]{randomString3, randomString4}}; String[] expResult = new String[]{randomString1, randomString2, randomString3, randomString4}; - String[] result = FormatUtils.mergeArrays(arrays); + String[] result = ArrayUtil.merge(arrays); assertArrayEquals(expResult, result); } diff --git a/Plan/src/test/java/utilities/mocks/BukkitMockUtil.java b/Plan/src/test/java/utilities/mocks/BukkitMockUtil.java index 34ef6dc04..0690a0c86 100644 --- a/Plan/src/test/java/utilities/mocks/BukkitMockUtil.java +++ b/Plan/src/test/java/utilities/mocks/BukkitMockUtil.java @@ -6,8 +6,10 @@ package utilities.mocks; import com.djrapitops.plan.Plan; import com.djrapitops.plugin.StaticHolder; -import com.djrapitops.plugin.task.RunnableFactory; -import com.djrapitops.plugin.task.ThreadRunnable; +import com.djrapitops.plugin.logging.console.TestPluginLogger; +import com.djrapitops.plugin.logging.error.ConsoleErrorLogger; +import com.djrapitops.plugin.task.thread.ThreadRunnable; +import com.djrapitops.plugin.task.thread.ThreadRunnableFactory; import org.bukkit.Server; import org.bukkit.plugin.InvalidDescriptionException; import org.bukkit.plugin.PluginDescriptionFile; @@ -39,7 +41,6 @@ public class BukkitMockUtil extends MockUtil { } public static BukkitMockUtil setUp() { - RunnableFactory.activateTestMode(); Teardown.resetSettingsTempValues(); return new BukkitMockUtil().mockPlugin(); } @@ -56,6 +57,9 @@ public class BukkitMockUtil extends MockUtil { doCallRealMethod().when(planMock).getVersion(); doCallRealMethod().when(planMock).getColorScheme(); + ThreadRunnableFactory runnableFactory = new ThreadRunnableFactory(); + doReturn(runnableFactory).when(planMock).getRunnableFactory(); + return this; } @@ -65,9 +69,12 @@ public class BukkitMockUtil extends MockUtil { } public BukkitMockUtil withLogging() { - Mockito.doCallRealMethod().when(planMock).log(Mockito.anyString(), Mockito.anyString()); TestLogger testLogger = new TestLogger(); doReturn(testLogger).when(planMock).getLogger(); + TestPluginLogger testPluginLogger = new TestPluginLogger(); + doReturn(testPluginLogger).when(planMock).getPluginLogger(); + ConsoleErrorLogger consoleErrorLogger = new ConsoleErrorLogger(testPluginLogger); + doReturn(consoleErrorLogger).when(planMock).getErrorHandler(); return this; } diff --git a/Plan/src/test/java/utilities/mocks/BungeeMockUtil.java b/Plan/src/test/java/utilities/mocks/BungeeMockUtil.java index 38e3cd019..085de9864 100644 --- a/Plan/src/test/java/utilities/mocks/BungeeMockUtil.java +++ b/Plan/src/test/java/utilities/mocks/BungeeMockUtil.java @@ -6,8 +6,10 @@ package utilities.mocks; import com.djrapitops.plan.PlanBungee; import com.djrapitops.plugin.StaticHolder; -import com.djrapitops.plugin.task.RunnableFactory; -import com.djrapitops.plugin.task.ThreadRunnable; +import com.djrapitops.plugin.logging.console.TestPluginLogger; +import com.djrapitops.plugin.logging.error.ConsoleErrorLogger; +import com.djrapitops.plugin.task.thread.ThreadRunnable; +import com.djrapitops.plugin.task.thread.ThreadRunnableFactory; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.ProxyConfig; import net.md_5.bungee.api.ProxyServer; @@ -23,7 +25,8 @@ import utilities.mocks.objects.TestLogger; import java.io.File; import java.util.HashSet; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.when; /** * Mocking Utility for Bungee version of Plan (PlanBungee). @@ -38,7 +41,6 @@ public class BungeeMockUtil extends MockUtil { } public static BungeeMockUtil setUp() { - RunnableFactory.activateTestMode(); Teardown.resetSettingsTempValues(); return new BungeeMockUtil().mockPlugin(); } @@ -54,8 +56,10 @@ public class BungeeMockUtil extends MockUtil { when(planMock.getVersion()).thenCallRealMethod(); when(planMock.getColorScheme()).thenCallRealMethod(); -// doCallRealMethod().when(planMock).getVersion(); -// doCallRealMethod().when(planMock).getColorScheme(); + + ThreadRunnableFactory runnableFactory = new ThreadRunnableFactory(); + doReturn(runnableFactory).when(planMock).getRunnableFactory(); + return this; } @@ -70,9 +74,12 @@ public class BungeeMockUtil extends MockUtil { } public BungeeMockUtil withLogging() { - doCallRealMethod().when(planMock).log(Mockito.anyString(), Mockito.anyString()); TestLogger testLogger = new TestLogger(); doReturn(testLogger).when(planMock).getLogger(); + TestPluginLogger testPluginLogger = new TestPluginLogger(); + doReturn(testPluginLogger).when(planMock).getPluginLogger(); + ConsoleErrorLogger consoleErrorLogger = new ConsoleErrorLogger(testPluginLogger); + doReturn(consoleErrorLogger).when(planMock).getErrorHandler(); return this; } diff --git a/Plan/src/test/java/utilities/mocks/SpongeMockUtil.java b/Plan/src/test/java/utilities/mocks/SpongeMockUtil.java index bfdca4bf5..ad08f62ae 100644 --- a/Plan/src/test/java/utilities/mocks/SpongeMockUtil.java +++ b/Plan/src/test/java/utilities/mocks/SpongeMockUtil.java @@ -6,11 +6,14 @@ package utilities.mocks; import com.djrapitops.plan.PlanSponge; import com.djrapitops.plugin.StaticHolder; -import com.djrapitops.plugin.task.RunnableFactory; -import com.djrapitops.plugin.task.ThreadRunnable; +import com.djrapitops.plugin.logging.console.TestPluginLogger; +import com.djrapitops.plugin.logging.error.ConsoleErrorLogger; +import com.djrapitops.plugin.task.thread.ThreadRunnable; +import com.djrapitops.plugin.task.thread.ThreadRunnableFactory; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; import utilities.Teardown; +import utilities.mocks.objects.TestLogger; import java.io.File; @@ -29,7 +32,6 @@ public class SpongeMockUtil extends MockUtil { } public static SpongeMockUtil setUp() { - RunnableFactory.activateTestMode(); Teardown.resetSettingsTempValues(); return new SpongeMockUtil().mockPlugin(); } @@ -46,6 +48,9 @@ public class SpongeMockUtil extends MockUtil { doReturn("4.2.0").when(planMock).getVersion(); doCallRealMethod().when(planMock).getColorScheme(); + ThreadRunnableFactory runnableFactory = new ThreadRunnableFactory(); + doReturn(runnableFactory).when(planMock).getRunnableFactory(); + return this; } @@ -55,9 +60,12 @@ public class SpongeMockUtil extends MockUtil { } public SpongeMockUtil withLogging() { - doNothing().when(planMock).log(Mockito.anyString(), Mockito.anyString()); -// TestLogger testLogger = new TestLogger(); -// doReturn(testLogger).when(planMock).(); + TestLogger testLogger = new TestLogger(); + doReturn(testLogger).when(planMock).getLogger(); + TestPluginLogger testPluginLogger = new TestPluginLogger(); + doReturn(testPluginLogger).when(planMock).getPluginLogger(); + ConsoleErrorLogger consoleErrorLogger = new ConsoleErrorLogger(testPluginLogger); + doReturn(consoleErrorLogger).when(planMock).getErrorHandler(); return this; }