From aef53bc4ce083797819a3dfa37da3dc26efdd7d7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 10 Jun 2013 12:38:38 +0200 Subject: [PATCH] * The list of open tables shows now the codes of boosters selected for sealed or draft tournaments in the deck type column. --- Mage.Common/src/mage/view/TableView.java | 3 ++- .../mage/server/tournament/TournamentFactory.java | 10 ++++++++++ Mage/src/mage/game/tournament/Tournament.java | 7 +++++++ Mage/src/mage/game/tournament/TournamentImpl.java | 11 +++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Mage.Common/src/mage/view/TableView.java b/Mage.Common/src/mage/view/TableView.java index ca81f247d5e..656900350c7 100644 --- a/Mage.Common/src/mage/view/TableView.java +++ b/Mage.Common/src/mage/view/TableView.java @@ -65,7 +65,6 @@ public class TableView implements Serializable { this.tableName = table.getName(); this.controllerName = table.getControllerName(); this.createTime = table.getCreateTime(); - this.deckType = table.getDeckType(); this.tableState = table.getState(); this.isTournament = table.isTournament(); for (Seat seat: table.getSeats()) { @@ -83,6 +82,7 @@ public class TableView implements Serializable { } } this.controllerName += sb.toString(); + this.deckType = table.getDeckType(); } else { StringBuilder sb1 = new StringBuilder(); for (TournamentPlayer tp: table.getTournament().getPlayers()) { @@ -96,6 +96,7 @@ public class TableView implements Serializable { sb.append(" - Running round: ").append(table.getTournament().getRounds().size()); } this.additionalInfo = sb.toString(); + this.deckType = new StringBuilder(table.getDeckType()).append(" ").append(table.getTournament().getSetsFormatedShort()).toString(); } } diff --git a/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java b/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java index 0653106d4c3..76ab8dd0d76 100644 --- a/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java +++ b/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java @@ -31,6 +31,7 @@ package mage.server.tournament; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import mage.cards.Sets; @@ -65,9 +66,18 @@ public class TournamentFactory { try { con = tournaments.get(tournamentType).getConstructor(new Class[]{TournamentOptions.class}); tournament = con.newInstance(new Object[] {options}); + // transfer set information, create short info string for included sets + Map setInfo = new LinkedHashMap(); for (String setCode: options.getLimitedOptions().getSetCodes()) { tournament.getSets().add(Sets.findSet(setCode)); + int count = setInfo.containsKey(setCode) ? setInfo.get(setCode) : 0; + setInfo.put(setCode, count + 1); } + StringBuilder sb = new StringBuilder(); + for (Map.Entry entry:setInfo.entrySet()) { + sb.append(entry.getValue().toString()).append("x").append(entry.getKey()).append(" "); + } + tournament.setSetsFormatedShort(sb.toString()); } catch (Exception ex) { logger.fatal("TournamentFactory error ", ex); return null; diff --git a/Mage/src/mage/game/tournament/Tournament.java b/Mage/src/mage/game/tournament/Tournament.java index f63522f6a26..7ee116fbcb1 100644 --- a/Mage/src/mage/game/tournament/Tournament.java +++ b/Mage/src/mage/game/tournament/Tournament.java @@ -50,6 +50,13 @@ public interface Tournament { Collection getPlayers(); Collection getRounds(); List getSets(); + + void setSetsFormatedShort(String setInfo); + /** + * Gives back a String that shows the included sets (e.g. "3xRTR" or "1xDGM 1xGTC 1xRTR") + * @return String + */ + String getSetsFormatedShort(); void submitDeck(UUID playerId, Deck deck); void updateDeck(UUID playerId, Deck deck); void autoSubmit(UUID playerId, Deck deck); diff --git a/Mage/src/mage/game/tournament/TournamentImpl.java b/Mage/src/mage/game/tournament/TournamentImpl.java index 7d80ebecab2..7a8ff4c32b1 100644 --- a/Mage/src/mage/game/tournament/TournamentImpl.java +++ b/Mage/src/mage/game/tournament/TournamentImpl.java @@ -53,6 +53,7 @@ public abstract class TournamentImpl implements Tournament { protected String matchName; protected TournamentOptions options; protected List sets = new ArrayList(); + protected String setsInfoShort; protected TableEventSource tableEventSource = new TableEventSource(); protected PlayerQueryEventSource playerQueryEventSource = new PlayerQueryEventSource(); @@ -100,6 +101,16 @@ public abstract class TournamentImpl implements Tournament { return sets; } + @Override + public void setSetsFormatedShort(String setsInfoShort) { + this.setsInfoShort = setsInfoShort; + } + + @Override + public String getSetsFormatedShort() { + return setsInfoShort; + } + @Override public void leave(UUID playerId) { if (players.containsKey(playerId)) {