From 56a11f4da242251d2f03f062fe019765a85a1fe2 Mon Sep 17 00:00:00 2001 From: North Date: Sat, 20 Oct 2012 21:24:36 +0300 Subject: [PATCH] Replaced CardStorage references from MageFrame with CardRepository --- .../src/main/java/mage/client/MageFrame.java | 53 ++++++++++++++----- .../java/mage/client/plugins/MagePlugins.java | 4 -- .../mage/client/plugins/impl/Plugins.java | 16 ------ .../org/mage/plugins/card/CardPluginImpl.java | 18 ------- .../plugins/card/images/DownloadPictures.java | 12 +++-- .../mage/interfaces/plugin/CardPlugin.java | 18 ------- 6 files changed, 46 insertions(+), 75 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index e70dc45caa4..55fa58d1d26 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -39,8 +39,10 @@ import de.schlichtherle.truezip.file.TConfig; import de.schlichtherle.truezip.fs.FsOutputOption; import mage.cards.Card; import mage.cards.decks.Deck; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; +import mage.cards.repository.CardScanner; import mage.client.cards.BigCard; -import mage.client.cards.CardsStorage; import mage.client.chat.ChatPanel; import mage.client.components.*; import mage.client.components.ext.dlg.DialogManager; @@ -74,6 +76,7 @@ import mage.server.Main; import mage.utils.MageVersion; import org.apache.log4j.Logger; import org.mage.card.arcane.ManaSymbols; +import org.mage.plugins.card.images.DownloadPictures; import org.mage.plugins.card.utils.impl.ImageManagerImpl; import javax.imageio.ImageIO; @@ -81,19 +84,27 @@ import javax.swing.*; import javax.swing.JToolBar.Separator; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; -import java.awt.*; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Cursor; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.SplashScreen; import java.awt.event.*; import java.awt.image.BufferedImage; import java.beans.PropertyVetoException; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.UUID; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.prefs.Preferences; -import mage.cards.repository.CardScanner; /** * @author BetaSteward_at_googlemail.com @@ -469,22 +480,36 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { menu.show(component, 0, component.getHeight()); } + private List getAllCards() { + List cards = new ArrayList(); + List allCards = CardRepository.instance.getAllCards(); + for (CardInfo cardInfo : allCards) { + cards.add(cardInfo.getCard()); + } + + return cards; + } + private void checkForNewImages() { - HashSet cards = new HashSet(CardsStorage.getAllCards()); - List notImplemented = CardsStorage.getNotImplementedCards(); - cards.addAll(notImplemented); - if (Plugins.getInstance().newImage(cards)) { + List cards = getAllCards(); + + String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); + String path = useDefault.equals("true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); + + if (DownloadPictures.checkForNewCards(cards, path)) { if (JOptionPane.showConfirmDialog(null, "New cards are available. Do you want to download the images?", "New images available", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { - Plugins.getInstance().downloadImage(cards); + DownloadPictures.startDownload(null, cards, path); } } } public void btnImagesActionPerformed(java.awt.event.ActionEvent evt) { - HashSet cards = new HashSet(CardsStorage.getAllCards()); - List notImplemented = CardsStorage.getNotImplementedCards(); - cards.addAll(notImplemented); - Plugins.getInstance().downloadImage(cards); + List cards = getAllCards(); + + String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); + String path = useDefault.equals("true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); + + DownloadPictures.startDownload(null, cards, path); } public void btnSymbolsActionPerformed(java.awt.event.ActionEvent evt) { @@ -1149,4 +1174,4 @@ class MagePaneMenuItem extends JCheckBoxMenuItem { public MagePane getFrame() { return frame; } -} \ No newline at end of file +} diff --git a/Mage.Client/src/main/java/mage/client/plugins/MagePlugins.java b/Mage.Client/src/main/java/mage/client/plugins/MagePlugins.java index 6816e639725..b0b896fec1f 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/MagePlugins.java +++ b/Mage.Client/src/main/java/mage/client/plugins/MagePlugins.java @@ -1,6 +1,5 @@ package mage.client.plugins; -import mage.cards.Card; import mage.cards.MageCard; import mage.cards.MagePermanent; import mage.cards.action.ActionCallback; @@ -13,7 +12,6 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.util.Collection; import java.util.Map; -import java.util.Set; import java.util.UUID; public interface MagePlugins { @@ -27,8 +25,6 @@ public interface MagePlugins { boolean isCardPluginLoaded(); boolean isCounterPluginLoaded(); int sortPermanents(Map ui, Collection permanents); - boolean newImage(Set allCards); - void downloadImage(Set allCards); void downloadSymbols(); int getGamesPlayed(); void addGamesPlayed(); diff --git a/Mage.Client/src/main/java/mage/client/plugins/impl/Plugins.java b/Mage.Client/src/main/java/mage/client/plugins/impl/Plugins.java index 36fbdb98a4b..f239140582e 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/impl/Plugins.java +++ b/Mage.Client/src/main/java/mage/client/plugins/impl/Plugins.java @@ -119,22 +119,6 @@ public class Plugins implements MagePlugins { return -1; } - @Override - public boolean newImage(Set allCards) { - String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); - String path = useDefault.equals("true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); - return this.cardPlugin.newImages(allCards, path); - } - - @Override - public void downloadImage(Set allCards) { - String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); - String path = useDefault.equals("true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); - if (this.cardPlugin != null) { - this.cardPlugin.downloadImages(allCards, path); - } - } - @Override public void downloadSymbols() { String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/CardPluginImpl.java b/Mage.Client/src/main/java/org/mage/plugins/card/CardPluginImpl.java index 5f54909f5e2..9deac148eac 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/CardPluginImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/CardPluginImpl.java @@ -1,6 +1,5 @@ package org.mage.plugins.card; -import mage.cards.Card; import mage.cards.MagePermanent; import mage.cards.action.ActionCallback; import mage.interfaces.plugin.CardPlugin; @@ -21,7 +20,6 @@ import org.mage.plugins.card.dl.DownloadJob; import org.mage.plugins.card.dl.Downloader; import org.mage.plugins.card.dl.sources.GathererSets; import org.mage.plugins.card.dl.sources.GathererSymbols; -import org.mage.plugins.card.images.DownloadPictures; import org.mage.plugins.card.images.ImageCache; import org.mage.plugins.card.info.CardInfoPaneImpl; @@ -421,22 +419,6 @@ public class CardPluginImpl implements CardPlugin { } } - @Override - public boolean newImages(Set allCards, String imagesPath) { - return DownloadPictures.checkForNewCards(allCards, imagesPath); - } - - /** - * Download images. - * - * @param allCards Set of cards to download images for. - * @param imagesPath Path to check in and store images to. Can be null, in such case default path should be used. - */ - @Override - public void downloadImages(Set allCards, String imagesPath) { - DownloadPictures.startDownload(null, allCards, imagesPath); - } - /** * Download various symbols (mana, tap, set). * diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java b/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java index df26d09757c..56dd9453af2 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java @@ -21,7 +21,9 @@ import javax.imageio.ImageWriteParam; import javax.imageio.ImageWriter; import javax.imageio.stream.FileImageOutputStream; import javax.swing.*; -import java.awt.*; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; @@ -32,7 +34,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; -import java.util.Set; +import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.regex.Pattern; @@ -67,7 +69,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab startDownload(null, null, null); } - public static void startDownload(JFrame frame, Set allCards, String imagesPath) { + public static void startDownload(JFrame frame, List allCards, String imagesPath) { ArrayList cards = getNeededCards(allCards, imagesPath); /* @@ -207,7 +209,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab dlg = new JOptionPane(p0, JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[1]); } - public static boolean checkForNewCards(Set allCards, String imagesPath) { + public static boolean checkForNewCards(List allCards, String imagesPath) { TFile file; for (Card card : allCards) { if (card.getCardNumber() > 0 && !card.getExpansionSetCode().isEmpty()) { @@ -221,7 +223,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab return false; } - private static ArrayList getNeededCards(Set allCards, String imagesPath) { + private static ArrayList getNeededCards(List allCards, String imagesPath) { ArrayList cardsToDownload = new ArrayList(); diff --git a/Mage.Common/src/mage/interfaces/plugin/CardPlugin.java b/Mage.Common/src/mage/interfaces/plugin/CardPlugin.java index 0bb41405325..45be4480798 100644 --- a/Mage.Common/src/mage/interfaces/plugin/CardPlugin.java +++ b/Mage.Common/src/mage/interfaces/plugin/CardPlugin.java @@ -1,6 +1,5 @@ package mage.interfaces.plugin; -import mage.cards.Card; import mage.cards.MagePermanent; import mage.cards.action.ActionCallback; import mage.view.CardView; @@ -12,7 +11,6 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.util.Collection; import java.util.Map; -import java.util.Set; import java.util.UUID; /** @@ -29,22 +27,6 @@ public interface CardPlugin extends Plugin { MagePermanent getMageCard(CardView permanent, Dimension dimension, UUID gameId, ActionCallback callback, boolean canBeFoil, boolean loadImage); int sortPermanents(Map ui, Collection cards, Map options); - /** - * Check for new images. - * - * @param allCards Set of cards to check images for. - * @param imagesPath Path to check in. Can be null, in such case default path should be used. - */ - public boolean newImages(Set allCards, String imagesPath); - - /** - * Download images. - * - * @param allCards Set of cards to download images for. - * @param imagesPath Path to check in and store images to. Can be null, in such case default path should be used. - */ - void downloadImages(Set allCards, String imagesPath); - /** * Download various symbols (mana, tap, set). *