http-api: modify ItemPrice to contain id/name instead of Item

This commit is contained in:
Adam
2018-10-07 12:08:13 -04:00
parent 7223d3436d
commit 7adca5bda2
4 changed files with 10 additions and 16 deletions

View File

@@ -30,7 +30,8 @@ import lombok.Data;
@Data @Data
public class ItemPrice public class ItemPrice
{ {
private Item item; private int id;
private String name;
private int price; private int price;
private Instant time; private Instant time;
} }

View File

@@ -28,7 +28,6 @@ import com.google.common.base.Supplier;
import com.google.common.base.Suppliers; import com.google.common.base.Suppliers;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -50,7 +49,6 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/item") @RequestMapping("/item")
public class ItemController public class ItemController
{ {
private static final Duration CACHE_DUATION = Duration.ofMinutes(30);
private static final String RUNELITE_CACHE = "RuneLite-Cache"; private static final String RUNELITE_CACHE = "RuneLite-Cache";
private static final int MAX_BATCH_LOOKUP = 1024; private static final int MAX_BATCH_LOOKUP = 1024;
@@ -70,12 +68,9 @@ public class ItemController
memorizedPrices = Suppliers.memoizeWithExpiration(() -> itemService.fetchPrices().stream() memorizedPrices = Suppliers.memoizeWithExpiration(() -> itemService.fetchPrices().stream()
.map(priceEntry -> .map(priceEntry ->
{ {
Item item = new Item();
item.setId(priceEntry.getItem()); // fake item
item.setName(priceEntry.getName());
ItemPrice itemPrice = new ItemPrice(); ItemPrice itemPrice = new ItemPrice();
itemPrice.setItem(item); itemPrice.setId(priceEntry.getItem());
itemPrice.setName(priceEntry.getName());
itemPrice.setPrice(priceEntry.getPrice()); itemPrice.setPrice(priceEntry.getPrice());
itemPrice.setTime(priceEntry.getTime()); itemPrice.setTime(priceEntry.getTime());
return itemPrice; return itemPrice;
@@ -174,7 +169,8 @@ public class ItemController
} }
ItemPrice itemPrice = new ItemPrice(); ItemPrice itemPrice = new ItemPrice();
itemPrice.setItem(item.toItem()); itemPrice.setId(item.getId());
itemPrice.setName(item.getName());
itemPrice.setPrice(priceEntry.getPrice()); itemPrice.setPrice(priceEntry.getPrice());
itemPrice.setTime(priceEntry.getTime()); itemPrice.setTime(priceEntry.getTime());
@@ -210,12 +206,9 @@ public class ItemController
return prices.stream() return prices.stream()
.map(priceEntry -> .map(priceEntry ->
{ {
Item item = new Item();
item.setId(priceEntry.getItem()); // fake item
item.setName(priceEntry.getName());
ItemPrice itemPrice = new ItemPrice(); ItemPrice itemPrice = new ItemPrice();
itemPrice.setItem(item); itemPrice.setId(priceEntry.getItem());
itemPrice.setName(priceEntry.getName());
itemPrice.setPrice(priceEntry.getPrice()); itemPrice.setPrice(priceEntry.getPrice());
itemPrice.setTime(priceEntry.getTime()); itemPrice.setTime(priceEntry.getTime());
return itemPrice; return itemPrice;

View File

@@ -30,7 +30,7 @@ import net.runelite.http.api.item.Item;
import net.runelite.http.api.item.ItemType; import net.runelite.http.api.item.ItemType;
@Data @Data
public class ItemEntry class ItemEntry
{ {
private int id; private int id;
private String name; private String name;

View File

@@ -152,7 +152,7 @@ public class ItemManager
ImmutableMap.Builder<Integer, ItemPrice> map = ImmutableMap.builderWithExpectedSize(prices.length); ImmutableMap.Builder<Integer, ItemPrice> map = ImmutableMap.builderWithExpectedSize(prices.length);
for (ItemPrice price : prices) for (ItemPrice price : prices)
{ {
map.put(price.getItem().getId(), price); map.put(price.getId(), price);
} }
itemPrices = map.build(); itemPrices = map.build();
} }