Skip to content

Commit

Permalink
Finish upgrade to v4. Will add positional queue endpoint once we're far
Browse files Browse the repository at this point in the history
enough into the season to test it out properly.
  • Loading branch information
robrua committed Jan 28, 2019
1 parent 3730618 commit f9b4bc9
Show file tree
Hide file tree
Showing 24 changed files with 978 additions and 142 deletions.
53 changes: 53 additions & 0 deletions orianna/src/main/java/com/merakianalytics/orianna/Orianna.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
import com.merakianalytics.orianna.types.core.league.League;
import com.merakianalytics.orianna.types.core.league.LeaguePositions;
import com.merakianalytics.orianna.types.core.league.Leagues;
import com.merakianalytics.orianna.types.core.league.PositionalQueues;
import com.merakianalytics.orianna.types.core.match.Match;
import com.merakianalytics.orianna.types.core.match.MatchHistories;
import com.merakianalytics.orianna.types.core.match.MatchHistory;
Expand Down Expand Up @@ -582,6 +583,18 @@ public static Versions getVersions() {
return Versions.get();
}

public static League.SelectBuilder.SubBuilder grandmasterLeagueInQueue(final Queue queue) {
return League.grandmasterInQueue(queue);
}

public static Leagues.SelectBuilder.SubBuilder grandmasterLeaguesInQueues(final Iterable<Queue> queues) {
return Leagues.grandmasterInQueues(queues);
}

public static Leagues.SelectBuilder.SubBuilder grandmasterLeaguesInQueues(final Queue... queues) {
return Leagues.grandmasterInQueues(queues);
}

public static Item.Builder itemNamed(final String name) {
return Item.named(name);
}
Expand Down Expand Up @@ -802,6 +815,30 @@ public static Match.Builder matchWithId(final long id) {
return Match.withId(id);
}

public static PositionalQueues.Builder positionalQueuesWithPlatform(final Platform platform) {
return PositionalQueues.withPlatform(platform);
}

public static PositionalQueues.ManyBuilder positionalQueuesWithPlatforms(final Iterable<Platform> platforms) {
return PositionalQueues.withPlatforms(platforms);
}

public static PositionalQueues.ManyBuilder positionalQueuesWithPlatforms(final Platform... platforms) {
return PositionalQueues.withPlatforms(platforms);
}

public static PositionalQueues.Builder positionalQueuesWithRegion(final Region region) {
return PositionalQueues.withRegion(region);
}

public static PositionalQueues.ManyBuilder positionalQueuesWithRegions(final Iterable<Region> regions) {
return PositionalQueues.withRegions(regions);
}

public static PositionalQueues.ManyBuilder positionalQueuesWithRegions(final Region... regions) {
return PositionalQueues.withRegions(regions);
}

public static ProfileIcons.Builder profileIconsWithLocale(final String locale) {
return ProfileIcons.withLocale(locale);
}
Expand Down Expand Up @@ -1148,7 +1185,23 @@ public static Versions.Builder versionsWithPlatform(final Platform platform) {
return Versions.withPlatform(platform);
}

public static Versions.ManyBuilder versionsWithPlatforms(final Iterable<Platform> platforms) {
return Versions.withPlatforms(platforms);
}

public static Versions.ManyBuilder versionsWithPlatforms(final Platform... platforms) {
return Versions.withPlatforms(platforms);
}

public static Versions.Builder versionsWithRegion(final Region region) {
return Versions.withRegion(region);
}

public static Versions.ManyBuilder versionsWithRegions(final Iterable<Region> regions) {
return Versions.withRegions(regions);
}

public static Versions.ManyBuilder versionsWithRegions(final Region... regions) {
return Versions.withRegions(regions);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.merakianalytics.orianna.types.core.championmastery.ChampionMasteryScore;
import com.merakianalytics.orianna.types.core.league.League;
import com.merakianalytics.orianna.types.core.league.LeaguePositions;
import com.merakianalytics.orianna.types.core.league.PositionalQueues;
import com.merakianalytics.orianna.types.core.match.Match;
import com.merakianalytics.orianna.types.core.match.MatchHistory;
import com.merakianalytics.orianna.types.core.match.Timeline;
Expand Down Expand Up @@ -58,7 +59,7 @@
import com.merakianalytics.orianna.types.core.thirdpartycode.VerificationString;

public class GhostObjectSource extends AbstractDataSource {
private static final Set<Tier> UNIQUE_TIERS = ImmutableSet.of(Tier.CHALLENGER, Tier.MASTER);
private static final Set<Tier> UNIQUE_TIERS = ImmutableSet.of(Tier.CHALLENGER, Tier.MASTER, Tier.GRANDMASTER);

private static String getCurrentVersion(final Platform platform, final PipelineContext context) {
final com.merakianalytics.orianna.types.dto.staticdata.Realm realm =
Expand Down Expand Up @@ -284,13 +285,13 @@ public League getLeague(final java.util.Map<String, Object> query, final Pipelin
@Get(LeaguePositions.class)
public LeaguePositions getLeaguePositions(final java.util.Map<String, Object> query, final PipelineContext context) {
final Platform platform = (Platform)query.get("platform");
final Number summonerId = (Number)query.get("summonerId");
final String summonerId = (String)query.get("summonerId");
Utilities.checkNotNull(platform, "platform", summonerId, "summonerId");

final com.merakianalytics.orianna.types.data.league.LeaguePositions data =
new com.merakianalytics.orianna.types.data.league.LeaguePositions();
data.setPlatform(platform.getTag());
data.setSummonerId(summonerId.longValue());
data.setSummonerId(summonerId);
return new LeaguePositions(data);
}

Expand Down Expand Up @@ -630,10 +631,10 @@ public void remove() {
@GetMany(LeaguePositions.class)
public CloseableIterator<LeaguePositions> getManyLeaguePositions(final java.util.Map<String, Object> query, final PipelineContext context) {
final Platform platform = (Platform)query.get("platform");
final Iterable<Number> summonerIds = (Iterable<Number>)query.get("summonerIds");
final Iterable<String> summonerIds = (Iterable<String>)query.get("summonerIds");
Utilities.checkNotNull(platform, "platform", summonerIds, "summonerIds");

final Iterator<Number> iterator = summonerIds.iterator();
final Iterator<String> iterator = summonerIds.iterator();
return CloseableIterators.from(new Iterator<LeaguePositions>() {
@Override
public boolean hasNext() {
Expand All @@ -645,7 +646,7 @@ public LeaguePositions next() {
final com.merakianalytics.orianna.types.data.league.LeaguePositions data =
new com.merakianalytics.orianna.types.data.league.LeaguePositions();
data.setPlatform(platform.getTag());
data.setSummonerId(iterator.next().longValue());
data.setSummonerId(iterator.next());
return new LeaguePositions(data);
}

Expand Down Expand Up @@ -858,6 +859,34 @@ public void remove() {
});
}

@SuppressWarnings("unchecked")
@GetMany(PositionalQueues.class)
public CloseableIterator<PositionalQueues> getManyPositionalQueues(final java.util.Map<String, Object> query, final PipelineContext context) {
final Iterable<Platform> platforms = (Iterable<Platform>)query.get("platforms");
Utilities.checkNotNull(platforms, "platforms");

final Iterator<Platform> iterator = platforms.iterator();
return CloseableIterators.from(new Iterator<PositionalQueues>() {
@Override
public boolean hasNext() {
return iterator.hasNext();
}

@Override
public PositionalQueues next() {
final com.merakianalytics.orianna.types.data.league.PositionalQueues data =
new com.merakianalytics.orianna.types.data.league.PositionalQueues();
data.setPlatform(iterator.next().getTag());
return new PositionalQueues(data);
}

@Override
public void remove() {
throw new UnsupportedOperationException();
}
});
}

@SuppressWarnings("unchecked")
@GetMany(ProfileIcon.class)
public CloseableIterator<ProfileIcon> getManyProfileIcon(final java.util.Map<String, Object> query, final PipelineContext context) {
Expand Down Expand Up @@ -1237,6 +1266,34 @@ public void remove() {
});
}

@SuppressWarnings("unchecked")
@GetMany(Versions.class)
public CloseableIterator<Versions> getManyVersions(final java.util.Map<String, Object> query, final PipelineContext context) {
final Iterable<Platform> platforms = (Iterable<Platform>)query.get("platforms");
Utilities.checkNotNull(platforms, "platforms");

final Iterator<Platform> iterator = platforms.iterator();
return CloseableIterators.from(new Iterator<Versions>() {
@Override
public boolean hasNext() {
return iterator.hasNext();
}

@Override
public Versions next() {
final com.merakianalytics.orianna.types.data.staticdata.Versions data =
new com.merakianalytics.orianna.types.data.staticdata.Versions();
data.setPlatform(iterator.next().getTag());
return new Versions(data);
}

@Override
public void remove() {
throw new UnsupportedOperationException();
}
});
}

@Get(Map.class)
public Map getMap(final java.util.Map<String, Object> query, final PipelineContext context) {
final Platform platform = (Platform)query.get("platform");
Expand Down Expand Up @@ -1374,6 +1431,16 @@ public Patches getPatches(final java.util.Map<String, Object> query, final Pipel
return new Patches(data);
}

@Get(PositionalQueues.class)
public PositionalQueues getPositionalQueues(final java.util.Map<String, Object> query, final PipelineContext context) {
final Platform platform = (Platform)query.get("platform");
Utilities.checkNotNull(platform, "platform");

final com.merakianalytics.orianna.types.data.league.PositionalQueues data = new com.merakianalytics.orianna.types.data.league.PositionalQueues();
data.setPlatform(platform.getTag());
return new PositionalQueues(data);
}

@Get(ProfileIcon.class)
public ProfileIcon getProfileIcon(final java.util.Map<String, Object> query, final PipelineContext context) {
final Platform platform = (Platform)query.get("platform");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import com.merakianalytics.orianna.types.core.championmastery.ChampionMasteryScore;
import com.merakianalytics.orianna.types.core.league.League;
import com.merakianalytics.orianna.types.core.league.LeaguePositions;
import com.merakianalytics.orianna.types.core.league.PositionalQueues;
import com.merakianalytics.orianna.types.core.match.Match;
import com.merakianalytics.orianna.types.core.match.Timeline;
import com.merakianalytics.orianna.types.core.match.TournamentMatches;
Expand Down Expand Up @@ -91,6 +92,7 @@ public static class Configuration {
.put(Languages.class.getCanonicalName(), ExpirationPeriod.create(DEFAULT_EXPIRATION_PERIOD_MAX, DEFAULT_EXPIRATION_PERIOD_UNIT_MAX))
.put(League.class.getCanonicalName(), ExpirationPeriod.create(15L, TimeUnit.MINUTES))
.put(LeaguePositions.class.getCanonicalName(), ExpirationPeriod.create(15L, TimeUnit.MINUTES))
.put(PositionalQueues.class.getCanonicalName(), ExpirationPeriod.create(6L, TimeUnit.HOURS))
.put(Map.class.getCanonicalName(), ExpirationPeriod.create(DEFAULT_EXPIRATION_PERIOD_MAX, DEFAULT_EXPIRATION_PERIOD_UNIT_MAX))
.put(Maps.class.getCanonicalName(), ExpirationPeriod.create(DEFAULT_EXPIRATION_PERIOD_MAX, DEFAULT_EXPIRATION_PERIOD_UNIT_MAX))
.put(Mastery.class.getCanonicalName(), ExpirationPeriod.create(DEFAULT_EXPIRATION_PERIOD_MAX, DEFAULT_EXPIRATION_PERIOD_UNIT_MAX))
Expand Down Expand Up @@ -664,6 +666,35 @@ public void remove() {
});
}

@GetMany(PositionalQueues.class)
public CloseableIterator<PositionalQueues> getManyPositionalQueues(final java.util.Map<String, Object> query, final PipelineContext context) {
final List<Integer> keys = Lists.newArrayList(UniqueKeys.forManyPositionalQueuesQuery(query));
for(final Integer key : keys) {
if(!cache.containsKey(key)) {
return null;
}
}

final Iterator<Integer> iterator = keys.iterator();
return CloseableIterators.from(new Iterator<PositionalQueues>() {
@Override
public boolean hasNext() {
return iterator.hasNext();
}

@Override
public PositionalQueues next() {
final int key = iterator.next();
return (PositionalQueues)cache.get(key);
}

@Override
public void remove() {
throw new UnsupportedOperationException();
}
});
}

@GetMany(ProfileIcon.class)
public CloseableIterator<ProfileIcon> getManyProfileIcon(final java.util.Map<String, Object> query, final PipelineContext context) {
final List<Integer> keys = Lists.newArrayList(UniqueKeys.forManyProfileIconQuery(query));
Expand Down Expand Up @@ -954,6 +985,35 @@ public void remove() {
});
}

@GetMany(Versions.class)
public CloseableIterator<Versions> getManyVersions(final java.util.Map<String, Object> query, final PipelineContext context) {
final List<Integer> keys = Lists.newArrayList(UniqueKeys.forManyVersionsQuery(query));
for(final Integer key : keys) {
if(!cache.containsKey(key)) {
return null;
}
}

final Iterator<Integer> iterator = keys.iterator();
return CloseableIterators.from(new Iterator<Versions>() {
@Override
public boolean hasNext() {
return iterator.hasNext();
}

@Override
public Versions next() {
final int key = iterator.next();
return (Versions)cache.get(key);
}

@Override
public void remove() {
throw new UnsupportedOperationException();
}
});
}

@Get(Map.class)
public Map getMap(final java.util.Map<String, Object> query, final PipelineContext context) {
final int key = UniqueKeys.forMapQuery(query);
Expand Down Expand Up @@ -996,6 +1056,12 @@ public Patches getPatches(final java.util.Map<String, Object> query, final Pipel
return (Patches)cache.get(key);
}

@Get(PositionalQueues.class)
public PositionalQueues getPositionalQueues(final java.util.Map<String, Object> query, final PipelineContext context) {
final int key = UniqueKeys.forPositionalQueuesQuery(query);
return (PositionalQueues)cache.get(key);
}

@Get(ProfileIcon.class)
public ProfileIcon getProfileIcon(final java.util.Map<String, Object> query, final PipelineContext context) {
final int key = UniqueKeys.forProfileIconQuery(query);
Expand Down Expand Up @@ -1376,6 +1442,13 @@ public void putManyPatch(final Iterable<Patch> patches, final PipelineContext co
}
}

@PutMany(PositionalQueues.class)
public void putManyPositionalQueues(final Iterable<PositionalQueues> queues, final PipelineContext context) {
for(final PositionalQueues queue : queues) {
putPositionalQueues(queue, context);
}
}

@PutMany(ProfileIcon.class)
public void putManyProfileIcon(final Iterable<ProfileIcon> icons, final PipelineContext context) {
for(final ProfileIcon icon : icons) {
Expand Down Expand Up @@ -1446,6 +1519,13 @@ public void putManyVerificationString(final Iterable<VerificationString> strings
}
}

@PutMany(Versions.class)
public void putManyVersions(final Iterable<Versions> versions, final PipelineContext context) {
for(final Versions version : versions) {
putVersions(version, context);
}
}

@Put(Map.class)
public void putMap(final Map map, final PipelineContext context) {
final int[] keys = UniqueKeys.forMap(map);
Expand Down Expand Up @@ -1567,6 +1647,12 @@ public void call() {
}
}

@Put(PositionalQueues.class)
public void putPositionalQueues(final PositionalQueues queues, final PipelineContext context) {
final int key = UniqueKeys.forPositionalQueues(queues);
cache.put(key, queues);
}

@Put(ProfileIcon.class)
public void putProfileIcon(final ProfileIcon profileIcon, final PipelineContext context) {
final int key = UniqueKeys.forProfileIcon(profileIcon);
Expand Down
Loading

0 comments on commit f9b4bc9

Please sign in to comment.