From db69d071000731b0edb572bcff9f283cac3a865f Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 9 Sep 2018 14:26:02 +0300 Subject: [PATCH] Refactored ImportManager into ImportSystem that is not static. Moved Import data objects to system.importing.data Moved Importer classes to system.importing.importers Bound ImportSystem instances in SuperClassBindingModules Added ImportSystem as injected parameter to PlanSystem Injected ImportSystem to ManageImportCommand Removed old references to ImporterManager and removed the class Moved ImportBuilderTest to system.importing.data --- .../main/java/com/djrapitops/plan/Plan.java | 3 - .../commands/manage/ManageImportCommand.java | 29 ++++++---- .../bungee/BungeeSuperClassBindingModule.java | 8 +++ .../bukkit/BukkitSuperClassBindingModule.java | 8 +++ .../sponge/SpongeSuperClassBindingModule.java | 8 +++ .../djrapitops/plan/system/PlanSystem.java | 12 ++++ .../system/importing/BukkitImportSystem.java | 34 +++++++++++ .../system/importing/EmptyImportSystem.java | 14 +++++ .../plan/system/importing/ImportSystem.java | 49 ++++++++++++++++ .../data}/ServerImportData.java | 2 +- .../data}/UserImportData.java | 2 +- .../data}/UserImportRefiner.java | 2 +- .../importing/importers/Importer.java | 23 ++++++-- .../importers/OfflinePlayerImporter.java | 13 ++--- .../processing/importing/ImporterManager.java | 58 ------------------- .../importing/data}/ImportBuilderTest.java | 4 +- 16 files changed, 175 insertions(+), 94 deletions(-) create mode 100644 Plan/src/main/java/com/djrapitops/plan/system/importing/BukkitImportSystem.java create mode 100644 Plan/src/main/java/com/djrapitops/plan/system/importing/EmptyImportSystem.java create mode 100644 Plan/src/main/java/com/djrapitops/plan/system/importing/ImportSystem.java rename Plan/src/main/java/com/djrapitops/plan/system/{processing/importing => importing/data}/ServerImportData.java (97%) rename Plan/src/main/java/com/djrapitops/plan/system/{processing/importing => importing/data}/UserImportData.java (99%) rename Plan/src/main/java/com/djrapitops/plan/system/{processing/importing => importing/data}/UserImportRefiner.java (99%) rename Plan/src/main/java/com/djrapitops/plan/system/{processing => }/importing/importers/Importer.java (92%) rename Plan/src/main/java/com/djrapitops/plan/system/{processing => }/importing/importers/OfflinePlayerImporter.java (82%) delete mode 100644 Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ImporterManager.java rename Plan/src/test/java/com/djrapitops/plan/{data/additional/importer => system/importing/data}/ImportBuilderTest.java (96%) diff --git a/Plan/src/main/java/com/djrapitops/plan/Plan.java b/Plan/src/main/java/com/djrapitops/plan/Plan.java index 6bf2006ac..61011911d 100644 --- a/Plan/src/main/java/com/djrapitops/plan/Plan.java +++ b/Plan/src/main/java/com/djrapitops/plan/Plan.java @@ -124,9 +124,6 @@ public class Plan extends BukkitPlugin implements PlanPlugin { locale = system.getLocaleSystem().getLocale(); system.enable(); - // TODO Refactor into ImportSystem - // ImporterManager.registerImporter(new OfflinePlayerImporter()); - new BStatsBukkit(this).registerMetrics(); logger.debug("Verbose debug messages are enabled."); diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageImportCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageImportCommand.java index 116178b47..e98ecfcea 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageImportCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageImportCommand.java @@ -1,13 +1,13 @@ package com.djrapitops.plan.command.commands.manage; +import com.djrapitops.plan.system.importing.ImportSystem; +import com.djrapitops.plan.system.importing.importers.Importer; 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.locale.lang.ManageLang; import com.djrapitops.plan.system.processing.Processing; -import com.djrapitops.plan.system.processing.importing.ImporterManager; -import com.djrapitops.plan.system.processing.importing.importers.Importer; import com.djrapitops.plan.system.settings.Permissions; import com.djrapitops.plugin.command.CommandNode; import com.djrapitops.plugin.command.CommandType; @@ -17,6 +17,7 @@ import com.djrapitops.plugin.utilities.Verify; import javax.inject.Inject; import javax.inject.Singleton; import java.util.Arrays; +import java.util.Optional; /** * This manage SubCommand is used to import data from 3rd party plugins. @@ -29,16 +30,19 @@ public class ManageImportCommand extends CommandNode { private final Locale locale; private final Processing processing; + private final ImportSystem importSystem; @Inject public ManageImportCommand( Locale locale, - Processing processing + Processing processing, + ImportSystem importSystem ) { super("import", Permissions.MANAGE.getPermission(), CommandType.CONSOLE); this.locale = locale; this.processing = processing; + this.importSystem = importSystem; setArguments("/list", "[import args]"); setShortHelp(locale.getString(CmdHelpLang.MANAGE_IMPORT)); @@ -54,19 +58,20 @@ public class ManageImportCommand extends CommandNode { if (importArg.equals("list")) { sender.sendMessage(locale.getString(ManageLang.IMPORTERS)); - ImporterManager.getImporters().stream() - .map(Importer::getNames) - .map(list -> list.get(0)) - .forEach(name -> sender.sendMessage("- " + name)); + importSystem.getImporterNames().forEach(name -> sender.sendMessage("- " + name)); return; } - Importer importer = ImporterManager.getImporter(importArg); - if (importer == null) { + findImporter(sender, importArg); + } + + private void findImporter(ISender sender, String importArg) { + Optional foundImporter = importSystem.getImporter(importArg); + if (foundImporter.isPresent()) { + Importer importer = foundImporter.get(); + processing.submitNonCritical(importer::processImport); + } else { sender.sendMessage(locale.getString(ManageLang.FAIL_IMPORTER_NOT_FOUND, importArg)); - return; } - - processing.submitNonCritical(importer::processImport); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/modules/bungee/BungeeSuperClassBindingModule.java b/Plan/src/main/java/com/djrapitops/plan/modules/bungee/BungeeSuperClassBindingModule.java index 088a9768e..6d8f2f308 100644 --- a/Plan/src/main/java/com/djrapitops/plan/modules/bungee/BungeeSuperClassBindingModule.java +++ b/Plan/src/main/java/com/djrapitops/plan/modules/bungee/BungeeSuperClassBindingModule.java @@ -4,6 +4,8 @@ import com.djrapitops.plan.api.BungeeAPI; import com.djrapitops.plan.api.PlanAPI; import com.djrapitops.plan.system.database.BungeeDBSystem; import com.djrapitops.plan.system.database.DBSystem; +import com.djrapitops.plan.system.importing.EmptyImportSystem; +import com.djrapitops.plan.system.importing.ImportSystem; import com.djrapitops.plan.system.info.BungeeInfoSystem; import com.djrapitops.plan.system.info.InfoSystem; import com.djrapitops.plan.system.info.connection.BungeeConnectionSystem; @@ -69,4 +71,10 @@ public class BungeeSuperClassBindingModule { return bungeeListenerSystem; } + @Provides + @Singleton + ImportSystem provideImportSystem() { + return new EmptyImportSystem(); + } + } \ No newline at end of file diff --git a/Plan/src/main/java/com/djrapitops/plan/modules/server/bukkit/BukkitSuperClassBindingModule.java b/Plan/src/main/java/com/djrapitops/plan/modules/server/bukkit/BukkitSuperClassBindingModule.java index 87cefa4d1..d85b2df99 100644 --- a/Plan/src/main/java/com/djrapitops/plan/modules/server/bukkit/BukkitSuperClassBindingModule.java +++ b/Plan/src/main/java/com/djrapitops/plan/modules/server/bukkit/BukkitSuperClassBindingModule.java @@ -2,6 +2,8 @@ package com.djrapitops.plan.modules.server.bukkit; import com.djrapitops.plan.system.database.BukkitDBSystem; import com.djrapitops.plan.system.database.DBSystem; +import com.djrapitops.plan.system.importing.BukkitImportSystem; +import com.djrapitops.plan.system.importing.ImportSystem; import com.djrapitops.plan.system.listeners.BukkitListenerSystem; import com.djrapitops.plan.system.listeners.ListenerSystem; import com.djrapitops.plan.system.settings.config.BukkitConfigSystem; @@ -45,4 +47,10 @@ public class BukkitSuperClassBindingModule { return bukkitListenerSystem; } + @Provides + @Singleton + ImportSystem provideImportSsytem(BukkitImportSystem bukkitImportSystem) { + return bukkitImportSystem; + } + } \ No newline at end of file diff --git a/Plan/src/main/java/com/djrapitops/plan/modules/server/sponge/SpongeSuperClassBindingModule.java b/Plan/src/main/java/com/djrapitops/plan/modules/server/sponge/SpongeSuperClassBindingModule.java index d5ffdd92a..7a4f1ef97 100644 --- a/Plan/src/main/java/com/djrapitops/plan/modules/server/sponge/SpongeSuperClassBindingModule.java +++ b/Plan/src/main/java/com/djrapitops/plan/modules/server/sponge/SpongeSuperClassBindingModule.java @@ -2,6 +2,8 @@ package com.djrapitops.plan.modules.server.sponge; import com.djrapitops.plan.system.database.DBSystem; import com.djrapitops.plan.system.database.SpongeDBSystem; +import com.djrapitops.plan.system.importing.EmptyImportSystem; +import com.djrapitops.plan.system.importing.ImportSystem; import com.djrapitops.plan.system.listeners.ListenerSystem; import com.djrapitops.plan.system.listeners.SpongeListenerSystem; import com.djrapitops.plan.system.settings.config.ConfigSystem; @@ -45,4 +47,10 @@ public class SpongeSuperClassBindingModule { return spongeListenerSystem; } + @Provides + @Singleton + ImportSystem provideImportSystem() { + return new EmptyImportSystem(); + } + } \ No newline at end of file diff --git a/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java index e8154b171..cb824ccf2 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java @@ -12,6 +12,7 @@ import com.djrapitops.plan.system.cache.CacheSystem; import com.djrapitops.plan.system.database.DBSystem; import com.djrapitops.plan.system.export.ExportSystem; import com.djrapitops.plan.system.file.FileSystem; +import com.djrapitops.plan.system.importing.ImportSystem; import com.djrapitops.plan.system.info.InfoSystem; import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plan.system.listeners.ListenerSystem; @@ -50,6 +51,7 @@ public class PlanSystem implements SubSystem { private final Processing processing; + private final ImportSystem importSystem; private final ExportSystem exportSystem; private final HookHandler hookHandler; private final PlanAPI planAPI; @@ -68,6 +70,7 @@ public class PlanSystem implements SubSystem { ServerInfo serverInfo, WebServerSystem webServerSystem, Processing processing, + ImportSystem importSystem, ExportSystem exportSystem, HookHandler hookHandler, PlanAPI planAPI @@ -84,6 +87,7 @@ public class PlanSystem implements SubSystem { this.serverInfo = serverInfo; this.webServerSystem = webServerSystem; this.processing = processing; + this.importSystem = importSystem; this.exportSystem = exportSystem; this.hookHandler = hookHandler; this.planAPI = planAPI; @@ -182,6 +186,14 @@ public class PlanSystem implements SubSystem { return webServerSystem; } + public ImportSystem getImportSystem() { + return importSystem; + } + + public ExportSystem getExportSystem() { + return exportSystem; + } + public ServerInfo getServerInfo() { return serverInfo; } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/importing/BukkitImportSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/BukkitImportSystem.java new file mode 100644 index 000000000..767748d91 --- /dev/null +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/BukkitImportSystem.java @@ -0,0 +1,34 @@ +package com.djrapitops.plan.system.importing; + +import com.djrapitops.plan.system.database.databases.Database; +import com.djrapitops.plan.system.importing.importers.OfflinePlayerImporter; +import com.djrapitops.plan.system.info.server.ServerInfo; + +import javax.inject.Inject; +import javax.inject.Singleton; + +/** + * ImportSystem implementation for Bukkit. + * + * @author Rsl1122 + */ +@Singleton +public class BukkitImportSystem extends ImportSystem { + + private final Database database; + private final ServerInfo serverInfo; + + @Inject + public BukkitImportSystem( + Database database, + ServerInfo serverInfo + ) { + this.database = database; + this.serverInfo = serverInfo; + } + + @Override + void registerImporters() { + registerImporter(new OfflinePlayerImporter(database, serverInfo)); + } +} \ No newline at end of file diff --git a/Plan/src/main/java/com/djrapitops/plan/system/importing/EmptyImportSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/EmptyImportSystem.java new file mode 100644 index 000000000..7e8c64ae0 --- /dev/null +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/EmptyImportSystem.java @@ -0,0 +1,14 @@ +package com.djrapitops.plan.system.importing; + +/** + * Placeholder for a ImportSystem. + * + * @author Rsl1122 + */ +public class EmptyImportSystem extends ImportSystem { + + @Override + void registerImporters() { + // No importers to register. + } +} \ No newline at end of file diff --git a/Plan/src/main/java/com/djrapitops/plan/system/importing/ImportSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/ImportSystem.java new file mode 100644 index 000000000..6c39db052 --- /dev/null +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/ImportSystem.java @@ -0,0 +1,49 @@ +package com.djrapitops.plan.system.importing; + +import com.djrapitops.plan.system.SubSystem; +import com.djrapitops.plan.system.importing.importers.Importer; +import com.djrapitops.plugin.utilities.Verify; + +import java.util.*; + +/** + * Abstract representation of an ImportSystem. + * + * @author Rsl1122 + */ +public abstract class ImportSystem implements SubSystem { + + protected Map importers; + + public ImportSystem() { + importers = new HashMap<>(); + } + + @Override + public void enable() { + registerImporters(); + } + + abstract void registerImporters(); + + public void registerImporter(Importer importer) { + Verify.nullCheck(importer, () -> new IllegalArgumentException("Importer cannot be null")); + + importers.put(importer.getName(), importer); + } + + public Optional getImporter(String name) { + return Optional.ofNullable(importers.get(name)); + } + + public List getImporterNames() { + List names = new ArrayList<>(importers.keySet()); + Collections.sort(names); + return names; + } + + @Override + public void disable() { + importers.clear(); + } +} \ No newline at end of file diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ServerImportData.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/ServerImportData.java similarity index 97% rename from Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ServerImportData.java rename to Plan/src/main/java/com/djrapitops/plan/system/importing/data/ServerImportData.java index d6bee620f..d9bb3597e 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ServerImportData.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/ServerImportData.java @@ -2,7 +2,7 @@ * License is provided in the jar as LICENSE also here: * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE */ -package com.djrapitops.plan.system.processing.importing; +package com.djrapitops.plan.system.importing.data; import com.djrapitops.plan.data.container.TPS; import com.djrapitops.plan.data.container.builders.TPSBuilder; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/UserImportData.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java similarity index 99% rename from Plan/src/main/java/com/djrapitops/plan/system/processing/importing/UserImportData.java rename to Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java index e4727503d..e06155663 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/UserImportData.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java @@ -2,7 +2,7 @@ * License is provided in the jar as LICENSE also here: * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE */ -package com.djrapitops.plan.system.processing.importing; +package com.djrapitops.plan.system.importing.data; import com.djrapitops.plan.data.container.PlayerKill; import com.djrapitops.plan.data.store.objects.Nickname; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/UserImportRefiner.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportRefiner.java similarity index 99% rename from Plan/src/main/java/com/djrapitops/plan/system/processing/importing/UserImportRefiner.java rename to Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportRefiner.java index c401a3e63..5cf7c61fa 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/UserImportRefiner.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportRefiner.java @@ -2,7 +2,7 @@ * License is provided in the jar as LICENSE also here: * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE */ -package com.djrapitops.plan.system.processing.importing; +package com.djrapitops.plan.system.importing.data; import com.djrapitops.plan.Plan; import com.djrapitops.plugin.api.Benchmark; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/importers/Importer.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java similarity index 92% rename from Plan/src/main/java/com/djrapitops/plan/system/processing/importing/importers/Importer.java rename to Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java index db7b8e9d3..ea50961f3 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/importers/Importer.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java @@ -2,7 +2,7 @@ * License is provided in the jar as LICENSE also here: * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE */ -package com.djrapitops.plan.system.processing.importing.importers; +package com.djrapitops.plan.system.importing.importers; import com.djrapitops.plan.Plan; import com.djrapitops.plan.api.exceptions.database.DBException; @@ -15,10 +15,10 @@ import com.djrapitops.plan.data.time.WorldTimes; import com.djrapitops.plan.system.cache.GeolocationCache; import com.djrapitops.plan.system.database.databases.Database; import com.djrapitops.plan.system.database.databases.operation.SaveOperations; +import com.djrapitops.plan.system.importing.data.ServerImportData; +import com.djrapitops.plan.system.importing.data.UserImportData; +import com.djrapitops.plan.system.importing.data.UserImportRefiner; import com.djrapitops.plan.system.info.server.ServerInfo; -import com.djrapitops.plan.system.processing.importing.ServerImportData; -import com.djrapitops.plan.system.processing.importing.UserImportData; -import com.djrapitops.plan.system.processing.importing.UserImportRefiner; import com.djrapitops.plan.utilities.SHA256Hash; import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.utilities.Verify; @@ -40,12 +40,23 @@ public abstract class Importer { private final Database database; private final UUID serverUUID; - protected Importer(Database database, ServerInfo serverInfo) { + private final String name; + + protected Importer(Database database, ServerInfo serverInfo, String name) { this.database = database; this.serverUUID = serverInfo.getServerUUID(); + + this.name = name; } - public abstract List getNames(); + @Deprecated + public List getNames() { + return new ArrayList<>(); + } + + public String getName() { + return name; + } public abstract ServerImportData getServerImportData(); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/importers/OfflinePlayerImporter.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java similarity index 82% rename from Plan/src/main/java/com/djrapitops/plan/system/processing/importing/importers/OfflinePlayerImporter.java rename to Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java index 0cf02b2b9..aa23fb80a 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/importers/OfflinePlayerImporter.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java @@ -2,12 +2,12 @@ * License is provided in the jar as LICENSE also here: * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE */ -package com.djrapitops.plan.system.processing.importing.importers; +package com.djrapitops.plan.system.importing.importers; import com.djrapitops.plan.system.database.databases.Database; +import com.djrapitops.plan.system.importing.data.ServerImportData; +import com.djrapitops.plan.system.importing.data.UserImportData; import com.djrapitops.plan.system.info.server.ServerInfo; -import com.djrapitops.plan.system.processing.importing.ServerImportData; -import com.djrapitops.plan.system.processing.importing.UserImportData; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; @@ -30,12 +30,7 @@ public class OfflinePlayerImporter extends Importer { Database database, ServerInfo serverInfo ) { - super(database, serverInfo); - } - - @Override - public List getNames() { - return Arrays.asList("offline", "offlineplayer"); + super(database, serverInfo, "offline"); } @Override diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ImporterManager.java b/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ImporterManager.java deleted file mode 100644 index f2dd34b9e..000000000 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/importing/ImporterManager.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * License is provided in the jar as LICENSE also here: - * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE - */ -package com.djrapitops.plan.system.processing.importing; - -import com.djrapitops.plan.system.processing.importing.importers.Importer; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Fuzzlemann - */ -public class ImporterManager { - - private static final List registry = new ArrayList<>(); - - /** - * Constructor used to hide the public constructor - */ - private ImporterManager() { - throw new IllegalStateException("Utility class"); - } - - public static void registerImporter(Importer importer) { - if (importer == null) { - throw new NullPointerException("Importer cannot be null"); - } - - String firstName = importer.getNames().get(0); - - if (firstName == null) { - throw new IllegalArgumentException("No Importer name given"); - } - - if (getImporter(firstName) != null) { - removeImporter(firstName); - } - - registry.add(importer); - } - - public static List getImporters() { - return registry; - } - - public static Importer getImporter(String name) { - return registry.stream() - .filter(importer -> importer.getNames().contains(name)) - .findAny() - .orElse(null); - } - - public static void removeImporter(String name) { - registry.removeIf(importer -> importer.getNames().contains(name)); - } -} diff --git a/Plan/src/test/java/com/djrapitops/plan/data/additional/importer/ImportBuilderTest.java b/Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java similarity index 96% rename from Plan/src/test/java/com/djrapitops/plan/data/additional/importer/ImportBuilderTest.java rename to Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java index e68ec84a4..681599150 100644 --- a/Plan/src/test/java/com/djrapitops/plan/data/additional/importer/ImportBuilderTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java @@ -2,7 +2,7 @@ * License is provided in the jar as LICENSE also here: * https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/LICENSE */ -package com.djrapitops.plan.data.additional.importer; +package com.djrapitops.plan.system.importing.data; import com.djrapitops.plan.Plan; import com.djrapitops.plan.data.container.PlayerKill; @@ -11,8 +11,6 @@ import com.djrapitops.plan.data.store.objects.Nickname; import com.djrapitops.plan.data.time.GMTimes; import com.djrapitops.plan.system.database.databases.SQLiteTest; import com.djrapitops.plan.system.database.databases.sql.SQLDB; -import com.djrapitops.plan.system.processing.importing.ServerImportData; -import com.djrapitops.plan.system.processing.importing.UserImportData; import com.djrapitops.plugin.StaticHolder; import com.djrapitops.plugin.api.utility.log.Log; import com.google.common.collect.ImmutableMap;