use of no.stelar7.api.r4j.impl.lol.builders.summoner.SummonerBuilder in project L4J8 by stelar7.
the class CacheTest method doCacheStuff.
private void doCacheStuff() throws InterruptedException {
// DataCall.getCacheProvider().clear(URLEndpoint.V3_MATCH);
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.getLogger("no.stelar7.api.r4j.basic.calling.DataCallBuilder").setLevel(Level.INFO);
loggerContext.getLogger("no.stelar7.api.r4j.basic.ratelimiting.BurstRateLimiter").setLevel(Level.OFF);
loggerContext.getLogger("no.stelar7.api.r4j.basic.cache.impl.FileSystemCacheProvider").setLevel(Level.OFF);
System.out.println("Fetching a random summoner and their match list");
String id = new SpectatorBuilder().withPlatform(LeagueShard.EUW1).getFeaturedGames().get(0).getParticipants().get(0).getSummonerName();
Summoner s = new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
List<String> recents = new MatchListBuilder().withPlatform(LeagueShard.EUW1).withPuuid(s.getPUUID()).get();
if (recents.isEmpty()) {
return;
}
String ref = recents.get(0);
System.out.println("Starting timer");
long start = System.currentTimeMillis();
LOLMatch url = LOLMatch.get(LeagueShard.EUW1, ref);
System.out.printf("1x url fetch time: %dns%n", System.currentTimeMillis() - start);
start = System.currentTimeMillis();
LOLMatch cached = LOLMatch.get(LeagueShard.EUW1, ref);
System.out.printf("1x cache fetch time: %dns%n", System.currentTimeMillis() - start);
if (!url.equals(cached)) {
throw new RuntimeException("CACHE IS BROKEN!!!!");
}
start = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
LOLMatch.get(LeagueShard.EUW1, ref);
}
System.out.printf("10x cache fetch time: %dns%n", System.currentTimeMillis() - start);
System.out.println();
start = System.currentTimeMillis();
LOLMatch.get(LeagueShard.EUW1, ref);
System.out.printf("1x cache fetch time: %dns%n", System.currentTimeMillis() - start);
System.out.println();
System.out.println("clearing cache");
System.out.println();
DataCall.getCacheProvider().clear(URLEndpoint.V5_MATCH, Collections.emptyMap());
start = System.currentTimeMillis();
LOLMatch.get(LeagueShard.EUW1, ref);
System.out.printf("1x url fetch time: %dns%n", System.currentTimeMillis() - start);
start = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
LOLMatch.get(LeagueShard.EUW1, ref);
}
System.out.printf("10x cache fetch same item time: %dns%n", System.currentTimeMillis() - start);
System.out.println();
System.out.println("Fetching 3 aditional matches");
LOLMatch.get(LeagueShard.EUW1, recents.get(1));
LOLMatch.get(LeagueShard.EUW1, recents.get(2));
LOLMatch.get(LeagueShard.EUW1, recents.get(3));
System.out.printf("Cache size: %d%n", DataCall.getCacheProvider().getSize(URLEndpoint.V5_MATCH, Collections.emptyMap()));
System.out.println("Waiting for cache timeout");
TimeUnit.SECONDS.sleep(6);
System.out.printf("Cache size: %d%n", DataCall.getCacheProvider().getSize(URLEndpoint.V5_MATCH, Collections.emptyMap()));
System.out.println("Re-fetching cached items");
start = System.currentTimeMillis();
LOLMatch.get(LeagueShard.EUW1, recents.get(0));
LOLMatch.get(LeagueShard.EUW1, recents.get(1));
LOLMatch.get(LeagueShard.EUW1, recents.get(2));
LOLMatch.get(LeagueShard.EUW1, recents.get(3));
System.out.printf("4x fetches took: %dns%n", System.currentTimeMillis() - start);
System.out.printf("Cache size: %d%n", DataCall.getCacheProvider().getSize(URLEndpoint.V5_MATCH, Collections.emptyMap()));
System.out.println();
}
use of no.stelar7.api.r4j.impl.lol.builders.summoner.SummonerBuilder in project L4J8 by stelar7.
the class SummonerTest method testWadas.
@Test
public void testWadas() {
DataCall.setCacheProvider(null);
Summoner s = new SummonerBuilder().withPlatform(LeagueShard.EUN1).withName("GindenEU").get();
Summoner s2 = new SummonerBuilder().withPlatform(LeagueShard.EUN1).withPUUID(s.getPUUID()).get();
System.out.println(s);
System.out.println(s2);
}
use of no.stelar7.api.r4j.impl.lol.builders.summoner.SummonerBuilder in project L4J8 by stelar7.
the class SummonerTest method testByAccount.
@Test
public void testByAccount() {
String id = new SpectatorBuilder().withPlatform(LeagueShard.EUW1).getFeaturedGames().get(0).getParticipants().get(0).getSummonerName();
Summoner s = new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
Summoner optional = new SummonerBuilder().withPlatform(s.getPlatform()).withAccountId(s.getAccountId()).get();
doAssertions.accept(optional);
}
use of no.stelar7.api.r4j.impl.lol.builders.summoner.SummonerBuilder in project L4J8 by stelar7.
the class FrameToImageTest method testStuff.
@Test
@Ignore
public void testStuff() {
DataCall.setCacheProvider(new FileSystemCacheProvider());
Summoner sum = new SummonerBuilder().withPlatform(Platform.EUW1).withName("stelar7").get();
LazyList<MatchReference> refs = new MatchListBuilder().withPlatform(sum.getPlatform()).withAccountId(sum.getAccountId()).getLazy();
Match full = refs.get(0).getFullMatch();
TowerLocationType.getTowersMap(MapType.SUMMONERS_RIFT).forEach((k, v) -> v.forEach((k2, v2) -> v2.forEach((t, p) -> turretTeam.put(p, t))));
turretTeam.forEach((k, v) -> turrets.add(k));
InhibitorLocationType.getInhibMap(MapType.SUMMONERS_RIFT).forEach((k, v) -> v.forEach((t, p) -> inhibTeam.put(p, t)));
inhibTeam.forEach((k, v) -> inhib.add(k));
generateMinimap(full);
}
use of no.stelar7.api.r4j.impl.lol.builders.summoner.SummonerBuilder in project L4J8 by stelar7.
the class UseageTest method testUseage.
@Test
public void testUseage() {
L4J8 api = new L4J8(SecretFile.CREDS);
DataCall.setLogLevel(LogLevel.DEBUG);
DataCall.setCacheProvider(new FileSystemCacheProvider());
Map<Integer, StaticRune> runeData = api.getStaticAPI().getRunes(Platform.EUW1, null, null, null);
Map<Integer, StaticMastery> masteriesData = api.getStaticAPI().getMasteries(Platform.EUW1, null, null, null);
Map<Integer, StaticChampion> championData = api.getStaticAPI().getChampions(Platform.EUW1, null, null, null);
Summoner stelar7 = new SummonerBuilder().withPlatform(Platform.EUW1).withName("stelar7").get();
List<MatchReference> some = stelar7.getGames().get();
MatchReference mostRecentGame = some.stream().max(Comparator.comparing(MatchReference::getTimestamp)).get();
Match match = mostRecentGame.getFullMatch();
Participant self = match.getParticipantFromSummonerId(stelar7.getSummonerId());
List<MatchRune> runes = self.getRunes();
List<MatchMastery> masteries = self.getMasteries();
StaticChampion champion = championData.get(mostRecentGame.getChampionId());
ChampionMastery mastery = stelar7.getChampionMastery(champion.getId());
boolean didWin = match.didWin(self);
ParticipantIdentity opponentIdentity = match.getLaneOpponentIdentity(self);
Participant opponent = match.getParticipantFromParticipantId(opponentIdentity.getParticipantId());
StaticChampion opponentChampion = championData.get(opponent.getChampionId());
System.out.format("Player '%s' played their latest game as '%s'%n", stelar7.getName(), champion.getName());
System.out.format("They have a masteryscore of %s on that champion%n", mastery.getChampionPoints());
System.out.format("They played in %s, their role was: %s%n", self.getTimeline().getLane(), self.getTimeline().getRole());
System.out.format("They %s that game%n", didWin ? "won" : "lost");
System.out.format("They laned against '%s' as '%s'%n", opponentIdentity.getPlayer().getSummonerName(), opponentChampion.getName());
System.out.format("%nThey used the following runes:%n");
for (MatchRune rune : runes) {
String name = runeData.get(rune.getRuneId()).getName();
System.out.format("Name: '%-45s' Count: %s%n", name, rune.getRank());
}
System.out.format("%nThey used the following masteries:%n");
for (MatchMastery matchMastery : masteries) {
String name = masteriesData.get(matchMastery.getMasteryId()).getName();
System.out.format("Name: '%-45s' Level: %s%n", name, matchMastery.getRank());
}
}
Aggregations