From ad068ffba0fd0cf229f6670c0da769e4490ea393 Mon Sep 17 00:00:00 2001 From: DNx5 Date: Wed, 29 Jun 2016 04:49:10 +0700 Subject: [PATCH] - Make JsonCache injectable - Only inject needed field --- src/main/java/fr/xephi/authme/AuthMe.java | 8 ++++++-- .../java/fr/xephi/authme/cache/backup/JsonCache.java | 9 ++++----- .../java/fr/xephi/authme/cache/limbo/LimboCache.java | 9 ++++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index 1224aba4..ddd0df7e 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -5,6 +5,7 @@ import fr.xephi.authme.api.API; import fr.xephi.authme.api.NewAPI; import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerCache; +import fr.xephi.authme.cache.backup.JsonCache; import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.command.CommandHandler; @@ -591,8 +592,11 @@ public class AuthMe extends JavaPlugin { } if (newSettings.getProperty(RestrictionSettings.TELEPORT_UNAUTHED_TO_SPAWN) && !newSettings.getProperty(RestrictionSettings.NO_TELEPORT)) { - limboCache.getJsonCache().writeCache(player); - player.teleport(spawnLoader.getSpawnLocation(player)); + JsonCache jsonCache = initializer.getIfAvailable(JsonCache.class); + if (jsonCache != null) { + jsonCache.writeCache(player); + player.teleport(spawnLoader.getSpawnLocation(player)); + } } } PlayerCache.getInstance().removePlayer(name); diff --git a/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java b/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java index 90cb013d..6f56e2c4 100644 --- a/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java +++ b/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java @@ -10,9 +10,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; -import fr.xephi.authme.AuthMe; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.cache.limbo.LimboPlayer; +import fr.xephi.authme.initialization.DataFolder; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.settings.SpawnLoader; import fr.xephi.authme.util.BukkitService; @@ -32,16 +32,15 @@ public class JsonCache { private final Gson gson; private final File cacheDir; @Inject - private AuthMe plugin; - @Inject private PermissionsManager permissionsManager; @Inject private SpawnLoader spawnLoader; @Inject private BukkitService bukkitService; - public JsonCache() { - cacheDir = new File(plugin.getDataFolder(), "cache"); + @Inject + public JsonCache(@DataFolder File dataFolder) { + cacheDir = new File(dataFolder, "cache"); if (!cacheDir.exists() && !cacheDir.isDirectory() && !cacheDir.mkdir()) { ConsoleLogger.showError("Failed to create cache directory."); } diff --git a/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java b/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java index 2bc39ded..2bd4c669 100644 --- a/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java +++ b/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java @@ -17,10 +17,13 @@ import static com.google.common.base.Preconditions.checkNotNull; public class LimboCache { private final ConcurrentHashMap cache = new ConcurrentHashMap<>(); - private final JsonCache jsonCache = new JsonCache(); + + @Inject + private JsonCache jsonCache; @Inject private PermissionsManager permissionsManager; + @Inject private SpawnLoader spawnLoader; @@ -30,10 +33,6 @@ public class LimboCache { this.spawnLoader = spawnLoader; } - public JsonCache getJsonCache() { - return jsonCache; - } - /** * Add a limbo player. *