package controllers;
import drawer.Images;
import drawer.RankingPicture;
import models.Game;
import play.mvc.Controller;
import play.mvc.Result;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Map;
public class RankingController extends Controller {
public static Result index(models.Game game) throws IOException {
if (game == null) {
return notFound();
}
if (request().getQueryString("refresh") != null) {
CacheController.getRankingCache().remove(game);
}
Map<Game, byte[]> rankings = CacheController.getRankingCache();
byte[] bytes = rankings.get(game);
if (bytes == null) {
BufferedImage image = RankingPicture.createRankingPicture(game);
bytes = Images.toBytes(image);
rankings.put(game, bytes);
}
response().setContentType("image/png");
return ok(bytes);
}
}