summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2014-06-01 21:50:24 +0100
committerKHobbits <rob@khobbits.co.uk>2014-06-01 21:50:24 +0100
commitc50ca9041bab73ba07b96578f82bfd77b389eae6 (patch)
treecc0656c99f06b0be302bf72b84668ae28f98dc22
parent1e36e64277f0b47c6c4b48b8ba97d190612f5746 (diff)
downloadEssentials-c50ca9041bab73ba07b96578f82bfd77b389eae6.tar
Essentials-c50ca9041bab73ba07b96578f82bfd77b389eae6.tar.gz
Essentials-c50ca9041bab73ba07b96578f82bfd77b389eae6.tar.lz
Essentials-c50ca9041bab73ba07b96578f82bfd77b389eae6.tar.xz
Essentials-c50ca9041bab73ba07b96578f82bfd77b389eae6.zip
Use strings for cachemap key, should prevent accidental key issues.
-rw-r--r--Essentials/src/com/earth2me/essentials/UserMap.java18
1 files changed, 7 insertions, 11 deletions
diff --git a/Essentials/src/com/earth2me/essentials/UserMap.java b/Essentials/src/com/earth2me/essentials/UserMap.java
index 84ae92aee..567c1a0d4 100644
--- a/Essentials/src/com/earth2me/essentials/UserMap.java
+++ b/Essentials/src/com/earth2me/essentials/UserMap.java
@@ -18,14 +18,13 @@ import java.util.concurrent.ConcurrentSkipListMap;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.ExecutionException;
import net.ess3.api.IEssentials;
-import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
-public class UserMap extends CacheLoader<UUID, User> implements IConf
+public class UserMap extends CacheLoader<String, User> implements IConf
{
private final transient IEssentials ess;
- private final transient Cache<UUID, User> users;
+ private final transient Cache<String, User> users;
private final transient ConcurrentSkipListSet<UUID> keys = new ConcurrentSkipListSet<UUID>();
private final transient ConcurrentSkipListMap<String, UUID> names = new ConcurrentSkipListMap<String, UUID>();
private final transient ConcurrentSkipListMap<UUID, ArrayList<String>> history = new ConcurrentSkipListMap<UUID, ArrayList<String>>();
@@ -92,7 +91,7 @@ public class UserMap extends CacheLoader<UUID, User> implements IConf
if (names.containsKey(sanitizedName))
{
final UUID uuid = names.get(sanitizedName);
- return users.get(uuid);
+ return getUser(uuid);
}
final File userFile = getUserFileFromString(sanitizedName);
@@ -105,10 +104,6 @@ public class UserMap extends CacheLoader<UUID, User> implements IConf
}
return null;
}
- catch (ExecutionException ex)
- {
- return null;
- }
catch (UncheckedExecutionException ex)
{
return null;
@@ -119,7 +114,7 @@ public class UserMap extends CacheLoader<UUID, User> implements IConf
{
try
{
- return users.get(uuid);
+ return users.get(uuid.toString());
}
catch (ExecutionException ex)
{
@@ -149,8 +144,9 @@ public class UserMap extends CacheLoader<UUID, User> implements IConf
}
@Override
- public User load(final UUID uuid) throws Exception
+ public User load(final String stringUUID) throws Exception
{
+ UUID uuid = UUID.fromString(stringUUID);
Player player = ess.getServer().getPlayer(uuid);
if (player != null)
{
@@ -206,7 +202,7 @@ public class UserMap extends CacheLoader<UUID, User> implements IConf
{
return keys.size();
}
-
+
protected ConcurrentSkipListMap<String, UUID> getNames()
{
return names;