From 1df965db6483ea603295c1ff48388fefc972bb5e Mon Sep 17 00:00:00 2001 From: sirjonasxx <36828922+sirjonasxx@users.noreply.github.com> Date: Fri, 20 Aug 2021 21:14:05 +0200 Subject: [PATCH] get look from user in 1 fetch --- .../StoreExtensionDetailsItem.java | 53 ++++--------------- .../StoreExtensionDetailsOverview.java | 2 +- 2 files changed, 11 insertions(+), 44 deletions(-) diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java index 63e9715..f01e64c 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java @@ -21,56 +21,17 @@ import java.util.stream.Collectors; public class StoreExtensionDetailsItem implements ContentItem { - private final static String HABBO_API_URL = "https://www.habbo{hotel}/api/public/users?name={user}"; - private static final String OUTFIT_URL = "https://www.habbo.com/habbo-imaging/avatarimage?&figure={figureString}&direction=2&head_direction=2"; - private static final Map userToFigure = new HashMap<>(); + private static final String OUTFIT_URL = "https://www.habbo{hotel}/habbo-imaging/avatarimage?&user={user}&direction=2&head_direction=2"; - private final HOverview parent; private final StoreExtension storeExtension; private GExtensionStore gExtensionStore = null; - private String avatarImageUrl = ""; private String id; - public StoreExtensionDetailsItem(StoreExtension storeExtension, HOverview parent) { + public StoreExtensionDetailsItem(StoreExtension storeExtension) { this.storeExtension = storeExtension; - this.parent = parent; } - private void fetchLooks() { - StoreExtension.Author mainAuthor = storeExtension.getAuthors().get(0); - if (mainAuthor.getUsername() != null && mainAuthor.getHotel() != null) { - String key = mainAuthor.getName() + "\t" + mainAuthor.getHotel(); - synchronized (userToFigure) { - if (userToFigure.containsKey(key)) { - avatarImageUrl = userToFigure.get(key); - } - else { - new Thread(() -> { - try { - JSONObject habboData = new JSONObject(IOUtils.toString( - new URL(HABBO_API_URL.replace("{hotel}", mainAuthor.getHotel()).replace("{user}", - EncodingUtil.encodeURIComponent(mainAuthor.getUsername()))).openStream(), StandardCharsets.UTF_8)); - - if (habboData.has("figureString")) { - avatarImageUrl = OUTFIT_URL.replace("{figureString}", habboData.getString("figureString")); - synchronized (userToFigure) { - userToFigure.put(key, avatarImageUrl); - } - if (gExtensionStore != null && gExtensionStore.getController().getCurrentOverview() == parent) { - gExtensionStore.getController().reloadOverview(); - } - } - - } catch (IOException ignore) { - - } - - }).start(); - } - } - } - } private String getContents() { StringBuilder contentBuilder = new StringBuilder(); @@ -162,7 +123,13 @@ public class StoreExtensionDetailsItem implements ContentItem { this.gExtensionStore = gExtensionStore; StoreExtension.Author mainAuthor = storeExtension.getAuthors().get(0); - fetchLooks(); + + String avatarLook = ""; + if (mainAuthor.getHotel() != null && mainAuthor.getUsername() != null) { + avatarLook = OUTFIT_URL + .replace("{hotel}", mainAuthor.getHotel()) + .replace("{user}", mainAuthor.getUsername()); + } id = "extdetail" + i + "_" + System.currentTimeMillis(); @@ -178,7 +145,7 @@ public class StoreExtensionDetailsItem implements ContentItem { .append("
").append(WebUtils.escapeMessage(mainAuthor.getName())).append("
") .append("
").append(mainAuthor.getReputation()).append(" reputation
") .append("
").append(mainAuthor.getExtensionsCount()).append(" releases
") - .append("
\"\"
") // todo look + .append("
\"\"
") // todo look .append("") .append("
").append(contentsInHtml()).append("
") .append("") diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsOverview.java index ebc04b8..0f11226 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsOverview.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsOverview.java @@ -70,7 +70,7 @@ public class StoreExtensionDetailsOverview extends HOverview { @Override public List getContentItems() { - return Collections.singletonList(new StoreExtensionDetailsItem(extension, this)); + return Collections.singletonList(new StoreExtensionDetailsItem(extension)); } @Override