Archived
0

Fixed simultanous file access issues

This commit is contained in:
Pepich
2018-01-10 18:22:19 +01:00
parent 13f6a3babb
commit d95873960f

View File

@@ -36,7 +36,7 @@ import com.redstoner.modules.Module;
@Commands(CommandHolderType.Stream) @Commands(CommandHolderType.Stream)
@AutoRegisterListener @AutoRegisterListener
@Version(major = 4, minor = 1, revision = 3, compatible = 4) @Version(major = 4, minor = 1, revision = 4, compatible = 4)
public final class DataManager implements CoreModule, Listener public final class DataManager implements CoreModule, Listener
{ {
protected final File dataFolder = new File(Main.plugin.getDataFolder(), "data"); protected final File dataFolder = new File(Main.plugin.getDataFolder(), "data");
@@ -135,7 +135,7 @@ public final class DataManager implements CoreModule, Listener
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected void loadData_(String id) protected synchronized void loadData_(String id)
{ {
JSONObject playerData = JsonManager.getObject(new File(dataFolder, id + ".json")); JSONObject playerData = JsonManager.getObject(new File(dataFolder, id + ".json"));
if (playerData == null) if (playerData == null)
@@ -217,7 +217,7 @@ public final class DataManager implements CoreModule, Listener
return loadAndGet(id, module, key); return loadAndGet(id, module, key);
} }
protected Object loadAndGet(String id, String module, String key) protected synchronized Object loadAndGet(String id, String module, String key)
{ {
JSONObject playerData = JsonManager.getObject(new File(dataFolder, id + ".json")); JSONObject playerData = JsonManager.getObject(new File(dataFolder, id + ".json"));
if (playerData == null) if (playerData == null)
@@ -312,7 +312,7 @@ public final class DataManager implements CoreModule, Listener
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected void loadAndSet(String id, String module, String key, Object value) protected synchronized void loadAndSet(String id, String module, String key, Object value)
{ {
File dataFile = new File(dataFolder, id + ".json"); File dataFile = new File(dataFolder, id + ".json");
JSONObject playerData = JsonManager.getObject(dataFile); JSONObject playerData = JsonManager.getObject(dataFile);
@@ -379,7 +379,7 @@ public final class DataManager implements CoreModule, Listener
loadAndRemove(id, module, key); loadAndRemove(id, module, key);
} }
protected void loadAndRemove(String id, String module, String key) protected synchronized void loadAndRemove(String id, String module, String key)
{ {
File dataFile = new File(dataFolder, id + ".json"); File dataFile = new File(dataFolder, id + ".json");
JSONObject playerData = JsonManager.getObject(dataFile); JSONObject playerData = JsonManager.getObject(dataFile);
@@ -535,7 +535,7 @@ public final class DataManager implements CoreModule, Listener
{} {}
} }
protected void save_(String id) protected synchronized void save_(String id)
{ {
Object raw = data.get(id); Object raw = data.get(id);
if (raw == null || ((JSONObject) raw).size() == 0) if (raw == null || ((JSONObject) raw).size() == 0)