From 7674d5c1fa8e35b90ab6de6fa3b12477ddbb3ad9 Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Thu, 16 Sep 2021 20:34:55 +0100 Subject: [PATCH] Refactoring method in FModel to return all block formats This method is currently used in CardManager and DeckManager for Block Filter when Historic format are supported in forge. However, now the same method will also be used in Deck Import so this refactoring was very much necessary! Signed-off-by: leriomaggio --- .../java/forge/itemmanager/CardManager.java | 10 +--------- .../java/forge/itemmanager/DeckManager.java | 10 +--------- forge-gui/src/main/java/forge/model/FModel.java | 17 ++++++++++++++--- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java index d0f48951bf7..538ebe2e5c8 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java @@ -233,15 +233,7 @@ public class CardManager extends ItemManager { if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_HISTORIC_FORMATS)) { JMenu blocks = GuiUtils.createMenu(localizer.getMessage("lblBlock")); - List blockFormats = new ArrayList<>(); - for (GameFormat format : FModel.getFormats().getHistoricList()){ - if (format.getFormatSubType() != GameFormat.FormatSubType.BLOCK) - continue; - if (!format.getName().endsWith("Block")) - continue; - blockFormats.add(format); - } - Collections.sort(blockFormats); // GameFormat will be sorted by Index! + final List blockFormats = FModel.getBlockFormats(); for (final GameFormat f : blockFormats) { GuiUtils.addMenuItem(blocks, f.getName(), null, new Runnable() { @Override diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index e70f92087ac..553b1d769b1 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -281,15 +281,7 @@ public final class DeckManager extends ItemManager implements IHasGam if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_HISTORIC_FORMATS)) { JMenu blocks = GuiUtils.createMenu(localizer.getMessage("lblBlock")); - List blockFormats = new ArrayList<>(); - for (GameFormat format : FModel.getFormats().getHistoricList()){ - if (format.getFormatSubType() != GameFormat.FormatSubType.BLOCK) - continue; - if (!format.getName().endsWith("Block")) - continue; - blockFormats.add(format); - } - Collections.sort(blockFormats); // GameFormat will be sorted by Index! + final List blockFormats = FModel.getBlockFormats(); for (final GameFormat f : blockFormats) { GuiUtils.addMenuItem(blocks, f.getName(), null, new Runnable() { @Override diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index b83e3b59646..4fce49b27bd 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -64,9 +64,7 @@ import forge.util.storage.IStorage; import forge.util.storage.StorageBase; import java.io.File; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * The default Model implementation for Forge. @@ -465,6 +463,19 @@ public final class FModel { return blocks; } + public static List getBlockFormats(){ + List blockFormats = new ArrayList<>(); + for (GameFormat format : FModel.getFormats().getHistoricList()){ + if (format.getFormatSubType() != GameFormat.FormatSubType.BLOCK) + continue; + if (!format.getName().endsWith("Block")) + continue; + blockFormats.add(format); + } + Collections.sort(blockFormats); // GameFormat will be sorted by Index! + return blockFormats; + } + public static QuestPreferences getQuestPreferences() { return questPreferences; }