Cache UUID results

This commit is contained in:
Sam 2017-09-06 23:41:07 +01:00
parent 330ed28992
commit 8670f13879
2 changed files with 14 additions and 18 deletions

View File

@ -5,6 +5,8 @@ import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import mineplex.googlesheets.util.SkinFetcher;
@ -13,6 +15,8 @@ import mineplex.googlesheets.util.UUIDFetcher;
public class SkinHelperUI extends JFrame
{
private static final Map<String, String> UUID_CACHE = new HashMap<>();
private static final Font FONT = new Font("Verdana", Font.PLAIN, 12);
private static final long FETCH_WAIT_TIME = 30;
private static final long FETCH_WAIT_MILLISECONDS = TimeUnit.SECONDS.toMillis(FETCH_WAIT_TIME);
@ -97,7 +101,16 @@ public class SkinHelperUI extends JFrame
try
{
String[] skinData = SkinFetcher.getSkinData(UUIDFetcher.getPlayerUUIDNoDashes(txtMinecraftName.getText()));
String input = txtMinecraftName.getText();
String uuid = UUID_CACHE.get(input);
if (uuid == null)
{
uuid = UUIDFetcher.getPlayerUUIDNoDashes(input);
UUID_CACHE.put(input, uuid);
}
String[] skinData = SkinFetcher.getSkinData(uuid);
txtSkinValue.setText(skinData[0]);
txtSkinSignature.setText(skinData[1]);

View File

@ -14,28 +14,11 @@ public class SkinFetcher
JSONObject object = UtilJSON.getFromURL(SKIN_URL.replaceFirst("UUID", uuid));
JSONArray properties = (JSONArray) object.get("properties");
System.out.println(properties.size());
for (Object o : properties)
{
System.out.println(o.toString());
}
JSONObject innerObject = (JSONObject) properties.get(0);
System.out.println(innerObject.size());
for (Object o : innerObject.entrySet())
{
System.out.println(o.toString());
}
skinData[1] = (String) innerObject.get("signature");
skinData[0] = (String) innerObject.get("value");
System.out.println(skinData[0]);
System.out.println(skinData[1]);
return skinData;
}