If you make an update to your deck, you will need to register it here again for any changes to take effect.";
+ _log.trace("Player '" + player.getName() + "' registered deck '" + deckName + "' for tournament '" + tournament.getTournamentName() + "' successfully.");
}
- result = "Registered deck '" + deckName + "' with tournament " + tournament.getTournamentName() + " successfully."
- + "
If you make an update to your deck, you will need to register it here again for any changes to take effect.";
+ else {
+ result = "Could not register deck with tournament " + tournament.getTournamentName() + "."
+ + "
Please contact an administrator if you think this was in error.";
+
+ _log.trace("Player '" + player.getName() + "' failed to register deck '" + deckName + "' for tournament '" + tournament.getTournamentName() + "'.");
+ }
+
hallChanged();
}
else {
result = "Registration for that tournament has already closed.";
+ _log.trace("Player '" + player.getName() + "' attempted to register deck '" + deckName + "' for tournament '" + tournament.getTournamentName() + "' after registration closed.");
}
return result;
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/ConstructedTournament.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/ConstructedTournament.java
index f60a5f3d2..58f519a4f 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/ConstructedTournament.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/ConstructedTournament.java
@@ -39,8 +39,9 @@ public class ConstructedTournament extends BaseTournament implements Tournament
}
@Override
- public void playerSubmittedDeck(String player, LotroDeck deck) {
+ public boolean playerSubmittedDeck(String player, LotroDeck deck) {
//Constructed has all decks submitted upon signup, so nothing to do here
+ return false;
}
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java
index 79a2cadec..0459471ea 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java
@@ -37,13 +37,18 @@ public class SealedTournament extends BaseTournament implements Tournament {
@Override
- public void playerSubmittedDeck(String player, LotroDeck deck) {
+ public boolean playerSubmittedDeck(String player, LotroDeck deck) {
writeLock.lock();
try {
- if (getTournamentStage() == Stage.DECK_BUILDING && _players.contains(player)) {
+ var stage = getTournamentStage();
+ if ((stage == Stage.DECK_BUILDING || stage == Stage.DECK_REGISTRATION ||
+ stage == Tournament.Stage.PAUSED || stage == Tournament.Stage.AWAITING_KICKOFF)
+ && _players.contains(player)) {
_tournamentService.updateRecordedPlayerDeck(_tournamentId, player, deck);
_playerDecks.put(player, deck);
+ return true;
}
+ return false;
} finally {
writeLock.unlock();
}
@@ -150,7 +155,7 @@ public class SealedTournament extends BaseTournament implements Tournament {
+ "
Remember to return to the game hall and register your deck before " + DateUtils.FormatTime(_sealedInfo.RegistrationDeadline) + "."));
}
else if (getTournamentStage() == Stage.DECK_BUILDING) {
- if (DateUtils.Now().isAfter(_sealedInfo.DeckbuildingDeadline) && _playerDecks.values().stream().anyMatch(x -> StringUtils.isEmpty(x.getDeckName()))) {
+ if (DateUtils.Now().isAfter(_sealedInfo.DeckbuildingDeadline)) {
_tournamentInfo.Stage = Stage.DECK_REGISTRATION;
_tournamentService.recordTournamentStage(_tournamentId, getTournamentStage());
@@ -158,16 +163,12 @@ public class SealedTournament extends BaseTournament implements Tournament {
result.add(new BroadcastAction("Deck building in tournament " + getTournamentName() + " has finished. Players now have "
+ duration + " to finish registering their decks. Any player who has not turned in their deck by the deadline at "
+ DateUtils.FormatTime(_sealedInfo.RegistrationDeadline) + " will be auto-disqualified."
- + "
Once all players have turned in decks or the deadline has passed, the tournament will begin."));
- }
- else if (DateUtils.Now().isAfter(_sealedInfo.DeckbuildingDeadline) && _playerDecks.values().stream().noneMatch(x -> StringUtils.isEmpty(x.getDeckName()))) {
- _tournamentInfo.Stage = _sealedInfo.PostRegistrationStage();
- _tournamentService.recordTournamentStage(_tournamentId, getTournamentStage());
+ + "
Once the deadline has passed, the tournament will begin."));
}
}
if (getTournamentStage() == Stage.DECK_REGISTRATION) {
- if (DateUtils.Now().isAfter(_sealedInfo.RegistrationDeadline) || _playerDecks.values().stream().noneMatch(x -> StringUtils.isEmpty(x.getDeckName()))) {
+ if (DateUtils.Now().isAfter(_sealedInfo.RegistrationDeadline)) {
disqualifyUnregisteredPlayers();
_tournamentInfo.Stage = _sealedInfo.PostRegistrationStage();
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java
index d6e5ac4c6..d3e41e3ba 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java
@@ -35,13 +35,18 @@ public class SoloDraftTournament extends BaseTournament implements Tournament {
@Override
- public void playerSubmittedDeck(String player, LotroDeck deck) {
+ public boolean playerSubmittedDeck(String player, LotroDeck deck) {
writeLock.lock();
try {
- if (getTournamentStage() == Stage.DECK_BUILDING && _players.contains(player)) {
+ var stage = getTournamentStage();
+ if ((stage == Tournament.Stage.DECK_BUILDING || stage == Tournament.Stage.DECK_REGISTRATION ||
+ stage == Tournament.Stage.PAUSED || stage == Tournament.Stage.AWAITING_KICKOFF)
+ && _players.contains(player)) {
_tournamentService.updateRecordedPlayerDeck(_tournamentId, player, deck);
_playerDecks.put(player, deck);
+ return true;
}
+ return false;
} finally {
writeLock.unlock();
}
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/Tournament.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/Tournament.java
index a0571dfdf..3e0009063 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/Tournament.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/Tournament.java
@@ -180,7 +180,7 @@ public interface Tournament {
void reportGameFinished(String winner, String loser);
void playerChosenCard(String playerName, String cardId);
- void playerSubmittedDeck(String player, LotroDeck deck);
+ boolean playerSubmittedDeck(String player, LotroDeck deck);
void issuePlayerMaterial(String player);
LotroDeck getPlayerDeck(String player);
String dropPlayer(String player);