diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java b/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java index 432daf5d0a..72f0f83d5f 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java @@ -32,8 +32,11 @@ import mage.cards.Card; import mage.cards.CardDimensions; import mage.cards.MageCard; import mage.client.MageFrame; +import mage.cards.CardImpl; +import mage.cards.repository.CardCriteria; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.client.cards.BigCard; -import mage.client.cards.CardsStorage; import mage.client.components.HoverButton; import mage.client.plugins.impl.Plugins; import mage.client.util.AudioManager; @@ -49,11 +52,16 @@ import org.mage.card.arcane.ManaSymbols; import javax.imageio.ImageIO; import javax.swing.*; -import java.awt.*; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Image; +import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.FileNotFoundException; import java.io.InputStream; import java.util.ArrayList; +import java.util.List; import java.util.UUID; /** @@ -209,13 +217,14 @@ public class MageBook extends JComponent { jLayeredPane.removeAll(); addLeftRightPageButtons(); - java.util.List<Card> cards = getCards(currentPage, currentSet); + List<CardInfo> cards = getCards(currentPage, currentSet); int size = cards.size(); Rectangle rectangle = new Rectangle(); rectangle.translate(OFFSET_X, OFFSET_Y); for (int i = 0; i < Math.min(conf.CARDS_PER_PAGE / 2, size); i++) { - addCard(new CardView(cards.get(i)), bigCard, null, rectangle); + Card card = CardImpl.createCard(cards.get(i).getClassName()); + addCard(new CardView(card), bigCard, null, rectangle); rectangle = CardPosition.translatePosition(i, rectangle, conf); } @@ -225,7 +234,8 @@ public class MageBook extends JComponent { rectangle.setLocation(second_page_x, OFFSET_Y); for (int i = conf.CARDS_PER_PAGE / 2; i < Math.min(conf.CARDS_PER_PAGE, size); i++) { - addCard(new CardView(cards.get(i)), bigCard, null, rectangle); + Card card = CardImpl.createCard(cards.get(i).getClassName()); + addCard(new CardView(card), bigCard, null, rectangle); rectangle = CardPosition.translatePosition(i - conf.CARDS_PER_PAGE / 2, rectangle, conf); } @@ -252,10 +262,10 @@ public class MageBook extends JComponent { jLayeredPane.add(label); } - private java.util.List<Card> getCards(int page, String set) { - int start = page * conf.CARDS_PER_PAGE; - int end = (page + 1) * conf.CARDS_PER_PAGE; - java.util.List<Card> cards = CardsStorage.getAllCards(start, end, currentSet, false); + private List<CardInfo> getCards(int page, String set) { + CardCriteria criteria = new CardCriteria(); + criteria.setCodes(set).start((long) page * conf.CARDS_PER_PAGE).count((long) conf.CARDS_PER_PAGE + 1); + List<CardInfo> cards = CardRepository.instance.findCards(criteria); if (cards.size() > conf.CARDS_PER_PAGE) { pageRight.setVisible(true); } @@ -288,7 +298,7 @@ public class MageBook extends JComponent { this.setsToDisplay = ConstructedFormats.getSetsByFormat(format); if (this.setsToDisplay.isEmpty()) { // display all - this.setsToDisplay = CardsStorage.getSetCodes(); + this.setsToDisplay = CardRepository.instance.getSetCodes(); } addSetTabs(); tabs.get(0).execute(); diff --git a/Mage.Client/src/main/java/mage/client/util/sets/ConstructedFormats.java b/Mage.Client/src/main/java/mage/client/util/sets/ConstructedFormats.java index 4a801cecf5..7246f8ae74 100644 --- a/Mage.Client/src/main/java/mage/client/util/sets/ConstructedFormats.java +++ b/Mage.Client/src/main/java/mage/client/util/sets/ConstructedFormats.java @@ -6,7 +6,7 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import mage.cards.ExpansionSet; -import mage.client.cards.CardsStorage; +import mage.cards.repository.CardRepository; import mage.sets.Sets; /** @@ -344,10 +344,9 @@ public class ConstructedFormats { } private static void buildLists() { - - for (String setCode : CardsStorage.getSetCodes()) { + for (String setCode : CardRepository.instance.getSetCodes()) { ExpansionSet set = Sets.findSet(setCode); - + if (set.getReleaseDate().after(standardDate)) { standard.add(set.getCode()); } @@ -359,7 +358,7 @@ public class ConstructedFormats { } } } - + private static final List<String> standard = new ArrayList<String>(); private static final Date standardDate = new GregorianCalendar(2011, 9, 29).getTime(); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java b/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java index b5c6f8210c..363daebc43 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java @@ -1,6 +1,6 @@ package org.mage.card.arcane; -import mage.client.cards.CardsStorage; +import mage.cards.repository.CardRepository; import mage.client.util.ImageHelper; import mage.client.util.gui.BufferedImageBuilder; import org.apache.log4j.Logger; @@ -47,7 +47,8 @@ public class ManaSymbols { } catch (Exception e) { } } - for (String set : CardsStorage.getSetCodes()) { + List<String> setCodes = CardRepository.instance.getSetCodes(); + for (String set : setCodes) { String _set = set.equals("CON") ? "CFX" : set; File file = new File(Constants.RESOURCE_PATH_SET + _set + "-C.jpg"); try { @@ -104,7 +105,7 @@ public class ManaSymbols { } File file; - for (String set : CardsStorage.getSetCodes()) { + for (String set : CardRepository.instance.getSetCodes()) { file = new File(Constants.RESOURCE_PATH_SET_SMALL); if (!file.exists()) { break;