Loading scheduled tournaments is limited only to one week in advance.

This commit is contained in:
marcins78@gmail.com
2013-01-05 18:48:35 +00:00
parent 66fed37b81
commit 10bebc8f2a
4 changed files with 10 additions and 7 deletions

View File

@@ -190,12 +190,13 @@ public class DbTournamentDAO implements TournamentDAO {
} }
@Override @Override
public List<TournamentQueueInfo> getUnstartedScheduledTournamentQueues() { public List<TournamentQueueInfo> getUnstartedScheduledTournamentQueues(long tillDate) {
try { try {
Connection connection = _dbAccess.getDataSource().getConnection(); Connection connection = _dbAccess.getDataSource().getConnection();
try { try {
PreparedStatement statement = connection.prepareStatement("select tournament_id, name, format, start, cost, playoff, prizes, minimum_players from scheduled_tournament where started = 0"); PreparedStatement statement = connection.prepareStatement("select tournament_id, name, format, start, cost, playoff, prizes, minimum_players from scheduled_tournament where started = 0 and start<=?");
try { try {
statement.setLong(1, tillDate);
ResultSet rs = statement.executeQuery(); ResultSet rs = statement.executeQuery();
try { try {
List<TournamentQueueInfo> result = new ArrayList<TournamentQueueInfo>(); List<TournamentQueueInfo> result = new ArrayList<TournamentQueueInfo>();

View File

@@ -20,6 +20,9 @@ import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
public class HallServer extends AbstractServer { public class HallServer extends AbstractServer {
private final int _playerInactivityPeriod = 1000 * 20; // 10 seconds
private final long _scheduledTournamentLoadTime = 1000*60*60*24*7; // Week
private ChatServer _chatServer; private ChatServer _chatServer;
private LeagueService _leagueService; private LeagueService _leagueService;
private TournamentService _tournamentService; private TournamentService _tournamentService;
@@ -32,8 +35,6 @@ public class HallServer extends AbstractServer {
private CollectionType _allCardsCollectionType = CollectionType.ALL_CARDS; private CollectionType _allCardsCollectionType = CollectionType.ALL_CARDS;
private final int _playerInactivityPeriod = 1000 * 20; // 10 seconds
private int _nextTableId = 1; private int _nextTableId = 1;
private String _motd; private String _motd;
@@ -572,7 +573,8 @@ public class HallServer extends AbstractServer {
if (_tickCounter == 60) { if (_tickCounter == 60) {
_tickCounter =0; _tickCounter =0;
List<TournamentQueueInfo> unstartedTournamentQueues = _tournamentService.getUnstartedScheduledTournamentQueues(); List<TournamentQueueInfo> unstartedTournamentQueues = _tournamentService.getUnstartedScheduledTournamentQueues(
System.currentTimeMillis()+_scheduledTournamentLoadTime);
for (TournamentQueueInfo unstartedTournamentQueue : unstartedTournamentQueues) { for (TournamentQueueInfo unstartedTournamentQueue : unstartedTournamentQueues) {
String scheduledTournamentId = unstartedTournamentQueue.getScheduledTournamentId(); String scheduledTournamentId = unstartedTournamentQueue.getScheduledTournamentId();
if (!_tournamentQueues.containsKey(scheduledTournamentId)) { if (!_tournamentQueues.containsKey(scheduledTournamentId)) {

View File

@@ -19,7 +19,7 @@ public interface TournamentDAO {
public void updateTournamentRound(String tournamentId, int round); public void updateTournamentRound(String tournamentId, int round);
public List<TournamentQueueInfo> getUnstartedScheduledTournamentQueues(); public List<TournamentQueueInfo> getUnstartedScheduledTournamentQueues(long tillDate);
public void updateScheduledTournamentStarted(String scheduledTournamentId); public void updateScheduledTournamentStarted(String scheduledTournamentId);
} }

View File

@@ -155,7 +155,7 @@ public class TournamentService {
return _tournamentMatchDao.getPlayerByes(tournamentId); return _tournamentMatchDao.getPlayerByes(tournamentId);
} }
public List<TournamentQueueInfo> getUnstartedScheduledTournamentQueues() { public List<TournamentQueueInfo> getUnstartedScheduledTournamentQueues(long tillDate) {
return _tournamentDao.getUnstartedScheduledTournamentQueues(); return _tournamentDao.getUnstartedScheduledTournamentQueues();
} }