made toplvl into own plugin, had bs problem with response size. added endpoint to mitigate problem

This commit is contained in:
2024-01-27 15:58:29 +01:00
parent 31e0568705
commit 50cff40f7c
5 changed files with 176 additions and 9 deletions
@@ -0,0 +1,47 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package DTO;
import entity.Player;
import entity.UrlBanners;
import static facade.Facade.convertSteamIdToCommunityId;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author install1
*/
public class PlayerDTOMini {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPlayerPoints() {
return PlayerPoints;
}
public void setPlayerPoints(int PlayerPoints) {
this.PlayerPoints = PlayerPoints;
}
private int PlayerPoints;
public PlayerDTOMini(String name, int PlayerPoints) {
this.name = name;
this.PlayerPoints = PlayerPoints;
}
}
@@ -5,6 +5,7 @@ import DTO.MapBoardDTO;
import DTO.MapBoardDTO2;
import DTO.PlayerMapBoardDTO;
import DTO.PlayerDTO;
import DTO.PlayerDTOMini;
import DataMapper.DataMapperCalls;
import com.google.common.collect.MapMaker;
import entity.MapBoard;
@@ -228,7 +229,7 @@ public class Facade {
}
return new PlayerDTO(playerCache.get(steamid));
}
public Collection<PlayerDTO> getleaderBoard(int iterator) {
int playerAddiditionCap = 99;
Collection<Player> playerAvatarsCaching = new ArrayList();
@@ -261,6 +262,22 @@ public class Facade {
return playersDTO;
}
public Collection<PlayerDTOMini> getleaderBoardMinified(int iterator) {
int playerAddiditionCap = 99;
Collection<PlayerDTOMini> playersDTO = new ArrayList();
int counter = 0;
for (Player player : playerCache.values()) {
if (counter >= iterator && counter <= iterator + playerAddiditionCap) {
playersDTO.add(new PlayerDTOMini(player.getName(), player.getPlayerPoints()));
}
if (counter > iterator + playerAddiditionCap) {
break;
}
counter++;
}
return playersDTO;
}
private ConcurrentMap<String, Player> addNewPlayerValuesToCache(Collection<Player> keyCollection, ConcurrentMap<String, Collection<Integer>> playerUrlBanners) {
//2 = user, 6 = mapper, 7 = admin, 8 = technical staff, 10 = leader, 12 = vip, 13 = trial admin, 15 = event winner, 19 = discord manager
// 20 NSFW, 21 = Retired admin, 25 = event manager, 11 = GA
@@ -31,6 +31,14 @@ public class TimerResource {
facade.checkTimeElapse();
return gson.toJson(facade.getleaderBoard(iterator));
}
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("leaderboard/minified/{iterator}")
public String retrieveLeaderBoardMinified(@PathParam("iterator") int iterator) {
facade.checkTimeElapse();
return gson.toJson(facade.getleaderBoardMinified(iterator));
}
@GET
@Produces(MediaType.APPLICATION_JSON)