From 05785f71b92d3c5efb898b4e0c4700449670ce2a Mon Sep 17 00:00:00 2001 From: igoudt Date: Wed, 26 Apr 2017 21:00:14 +0200 Subject: [PATCH] Make the implementations of CardImageSource an enum --- .../dl/sources/AltMtgOnlTokensImageSource.java | 11 ++--------- .../card/dl/sources/GrabbagImageSource.java | 11 ++--------- .../card/dl/sources/MagicCardsImageSource.java | 11 ++--------- .../card/dl/sources/MagidexImageSource.java | 10 ++-------- .../card/dl/sources/MtgImageSource.java | 11 ++--------- .../dl/sources/MtgOnlTokensImageSource.java | 11 ++--------- .../dl/sources/MythicspoilerComSource.java | 18 ++++++------------ .../card/dl/sources/TokensMtgImageSource.java | 11 ++--------- .../dl/sources/WizardCardsImageSource.java | 18 ++++++------------ .../plugins/card/images/DownloadPictures.java | 18 +++++++++--------- .../client/game/TokensMtgImageSourceTest.java | 2 +- 11 files changed, 36 insertions(+), 96 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java index 55a30c8fb02..517fa642210 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java @@ -37,19 +37,12 @@ import java.util.HashMap; * * @author spjspj */ -public class AltMtgOnlTokensImageSource implements CardImageSource { +public enum AltMtgOnlTokensImageSource implements CardImageSource { + instance; private static final Logger logger = Logger.getLogger(AltMtgOnlTokensImageSource.class); - private static CardImageSource instance = new AltMtgOnlTokensImageSource(); private static int maxTimes = 0; - public static CardImageSource getInstance() { - if (instance == null) { - instance = new AltMtgOnlTokensImageSource(); - } - return instance; - } - @Override public String getSourceName() { return "http://alternative.mtg.onl/tokens/"; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GrabbagImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GrabbagImageSource.java index e7750f0801a..f0b6aa02d4f 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GrabbagImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GrabbagImageSource.java @@ -37,19 +37,12 @@ import org.mage.plugins.card.images.CardDownloadData; * * @author spjspj */ -public class GrabbagImageSource implements CardImageSource { +public enum GrabbagImageSource implements CardImageSource { + instance; private static final Logger logger = Logger.getLogger(GrabbagImageSource.class); - private static CardImageSource instance = new GrabbagImageSource(); private static int maxTimes = 0; - public static CardImageSource getInstance() { - if (instance == null) { - instance = new GrabbagImageSource(); - } - return instance; - } - @Override public String getSourceName() { return ""; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java index 1dbab368904..fc51c866b92 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java @@ -10,10 +10,9 @@ import org.mage.plugins.card.utils.CardImageUtils; * * @author North */ -public class MagicCardsImageSource implements CardImageSource { - - private static CardImageSource instance = new MagicCardsImageSource(); +public enum MagicCardsImageSource implements CardImageSource { + instance; private static final Map setNameTokenReplacement = new HashMap() { { put("10E", "tenth-edition"); @@ -146,12 +145,6 @@ public class MagicCardsImageSource implements CardImageSource { return "magiccards.info"; } - public static CardImageSource getInstance() { - if (instance == null) { - instance = new MagicCardsImageSource(); - } - return instance; - } @Override public String getNextHttpImageUrl() { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagidexImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagidexImageSource.java index 2c36c203333..2c0ab80e75f 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagidexImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagidexImageSource.java @@ -36,15 +36,9 @@ import java.net.URI; * @author Pete Rossi */ -public class MagidexImageSource implements CardImageSource { - private static CardImageSource instance = new MagidexImageSource(); +public enum MagidexImageSource implements CardImageSource { + instance; - public static CardImageSource getInstance() { - if (instance == null) { - instance = new MagidexImageSource(); - } - return instance; - } @Override public String getSourceName() { return "magidex.com"; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgImageSource.java index 6473257293a..e8e811e34f2 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgImageSource.java @@ -39,16 +39,9 @@ import org.mage.plugins.card.images.CardDownloadData; * @author LevelX2 */ -public class MtgImageSource implements CardImageSource { +public enum MtgImageSource implements CardImageSource { - private static CardImageSource instance = new MtgImageSource(); - - public static CardImageSource getInstance() { - if (instance == null) { - instance = new MtgImageSource(); - } - return instance; - } + instance; @Override public String getSourceName() { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java index 16b01a508e5..56f42fac5a8 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java @@ -37,19 +37,12 @@ import java.util.HashMap; * * @author spjspj */ -public class MtgOnlTokensImageSource implements CardImageSource { +public enum MtgOnlTokensImageSource implements CardImageSource { + instance; private static final Logger logger = Logger.getLogger(MtgOnlTokensImageSource.class); - private static CardImageSource instance = new MtgOnlTokensImageSource(); private static int maxTimes = 0; - public static CardImageSource getInstance() { - if (instance == null) { - instance = new MtgOnlTokensImageSource(); - } - return instance; - } - @Override public String getSourceName() { return "http://mtg.onl/token-list/tokens/"; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java index 47661ee8d41..6f6d8cce200 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java @@ -54,27 +54,21 @@ import org.mage.plugins.card.images.CardDownloadData; * * @author LevelX2 */ -public class MythicspoilerComSource implements CardImageSource { +public enum MythicspoilerComSource implements CardImageSource { - private static CardImageSource instance; - private static Map setsAliases; - private static Map cardNameAliases; - private static Map> cardNameAliasesStart; + instance; + private Map setsAliases; + private Map cardNameAliases; + private Map> cardNameAliasesStart; private final Map> sets; - public static CardImageSource getInstance() { - if (instance == null) { - instance = new MythicspoilerComSource(); - } - return instance; - } @Override public String getSourceName() { return "mythicspoiler.com"; } - public MythicspoilerComSource() { + MythicspoilerComSource() { sets = new LinkedHashMap<>(); setsAliases = new HashMap<>(); setsAliases.put("exp", "bfz"); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java index 25ee59c06a6..2f58b13a2c9 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java @@ -44,23 +44,16 @@ import java.util.Map; * * @author Quercitron */ -public class TokensMtgImageSource implements CardImageSource { +public enum TokensMtgImageSource implements CardImageSource { + instance; private static final Logger logger = Logger.getLogger(TokensMtgImageSource.class); - private static CardImageSource instance = new TokensMtgImageSource(); private List tokensData; private final Object tokensDataSync = new Object(); - public static CardImageSource getInstance() { - if (instance == null) { - instance = new TokensMtgImageSource(); - } - return instance; - } - @Override public String getSourceName() { return "tokens.mtg.onl"; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/WizardCardsImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/WizardCardsImageSource.java index d75337f6bb4..b9f13e5f238 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/WizardCardsImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/WizardCardsImageSource.java @@ -42,6 +42,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.prefs.Preferences; + import mage.client.MageFrame; import mage.client.dialog.PreferencesDialog; import mage.remote.Connection; @@ -53,29 +54,22 @@ import org.jsoup.select.Elements; import org.mage.plugins.card.images.CardDownloadData; /** - * * @author North */ -public class WizardCardsImageSource implements CardImageSource { +public enum WizardCardsImageSource implements CardImageSource { - private static CardImageSource instance; - private static Map setsAliases; - private static Map languageAliases; + instance; + private Map setsAliases; + private Map languageAliases; private final Map> sets; - public static CardImageSource getInstance() { - if (instance == null) { - instance = new WizardCardsImageSource(); - } - return instance; - } @Override public String getSourceName() { return "WOTC Gatherer"; } - public WizardCardsImageSource() { + WizardCardsImageSource() { sets = new HashMap<>(); setsAliases = new HashMap<>(); setsAliases.put("2ED", "Unlimited Edition"); 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 e93a4f881d4..b99308f3d03 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 @@ -117,7 +117,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab }); jComboBox1 = new JComboBox(); - cardImageSource = MagicCardsImageSource.getInstance(); + cardImageSource = MagicCardsImageSource.instance; jComboBox1.setModel(jComboBox1Model); jComboBox1.setAlignmentX(Component.LEFT_ALIGNMENT); @@ -125,28 +125,28 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab JComboBox cb = (JComboBox) e.getSource(); switch (cb.getSelectedIndex()) { case 0: - cardImageSource = MagicCardsImageSource.getInstance(); + cardImageSource = MagicCardsImageSource.instance; break; case 1: - cardImageSource = WizardCardsImageSource.getInstance(); + cardImageSource = WizardCardsImageSource.instance; break; case 2: - cardImageSource = MythicspoilerComSource.getInstance(); + cardImageSource = MythicspoilerComSource.instance; break; case 3: - cardImageSource = TokensMtgImageSource.getInstance(); + cardImageSource = TokensMtgImageSource.instance; break; case 4: - cardImageSource = MtgOnlTokensImageSource.getInstance(); + cardImageSource = MtgOnlTokensImageSource.instance; break; case 5: - cardImageSource = AltMtgOnlTokensImageSource.getInstance(); + cardImageSource = AltMtgOnlTokensImageSource.instance; break; case 6: - cardImageSource = GrabbagImageSource.getInstance(); + cardImageSource = GrabbagImageSource.instance; break; case 7: - cardImageSource = MagidexImageSource.getInstance(); + cardImageSource = MagidexImageSource.instance; break; } updateCardsToDownload(); diff --git a/Mage.Client/src/test/java/mage/client/game/TokensMtgImageSourceTest.java b/Mage.Client/src/test/java/mage/client/game/TokensMtgImageSourceTest.java index 16599a83792..8e485c801e6 100644 --- a/Mage.Client/src/test/java/mage/client/game/TokensMtgImageSourceTest.java +++ b/Mage.Client/src/test/java/mage/client/game/TokensMtgImageSourceTest.java @@ -16,7 +16,7 @@ public class TokensMtgImageSourceTest { @Test public void generateTokenUrlTest() throws Exception { - CardImageSource imageSource = TokensMtgImageSource.getInstance(); + CardImageSource imageSource = TokensMtgImageSource.instance; String url = imageSource.generateTokenUrl(new CardDownloadData("Thopter", "ORI", "0", false, 1, "ORI", "")); Assert.assertEquals("http://tokens.mtg.onl/tokens/ORI_010-Thopter.jpg", url);