package handling.channel; import database.DatabaseConnection; import java.io.PrintStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import java.util.List; public class MapleGuildRanking { private static MapleGuildRanking instance = new MapleGuildRanking(); private List<GuildRankingInfo> ranks; public MapleGuildRanking() { this.ranks = new LinkedList(); } public static MapleGuildRanking getInstance() { return instance; } public void load() { if (this.ranks.isEmpty()) { reload(); } } public List<GuildRankingInfo> getRank() { return this.ranks; } private void reload() { this.ranks.clear(); try { Connection con = DatabaseConnection.getConnection(); PreparedStatement ps = con.prepareStatement("SELECT * FROM guilds ORDER BY `GP` DESC LIMIT 50"); ResultSet rs = ps.executeQuery(); while (rs.next()) { GuildRankingInfo rank = new GuildRankingInfo(rs.getString("name"), rs.getInt("GP"), rs.getInt("logo"), rs.getInt("logoColor"), rs.getInt("logoBG"), rs.getInt("logoBGColor")); this.ranks.add(rank); } ps.close(); rs.close(); } catch (SQLException e) { System.err.println("Error handling guildRanking"); e.printStackTrace(); } } public static class GuildRankingInfo { private String name; private int gp; private int logo; private int logocolor; private int logobg; private int logobgcolor; public GuildRankingInfo(String name, int gp, int logo, int logocolor, int logobg, int logobgcolor) { this.name = name; this.gp = gp; this.logo = logo; this.logocolor = logocolor; this.logobg = logobg; this.logobgcolor = logobgcolor; } public String getName() { return this.name; } public int getGP() { return this.gp; } public int getLogo() { return this.logo; } public int getLogoColor() { return this.logocolor; } public int getLogoBg() { return this.logobg; } public int getLogoBgColor() { return this.logobgcolor; } } }