diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java index 759787d6186..74db210fe9e 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java @@ -3,6 +3,7 @@ package org.mage.plugins.card.utils; import java.net.InetSocketAddress; import java.net.Proxy; import java.util.HashMap; +import java.util.Objects; import java.util.prefs.Preferences; import mage.client.MageFrame; import mage.client.constants.Constants; @@ -120,8 +121,9 @@ public class CardImageUtils { public static String getImageBasePath() { String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); - String imagesPath = useDefault.equals("true") ? Constants.IO.imageBaseDir : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); - if (!imagesPath.endsWith(TFile.separator)) { + String imagesPath = Objects.equals(useDefault, "true") ? Constants.IO.imageBaseDir : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); + + if (imagesPath != null && !imagesPath.endsWith(TFile.separator)) { imagesPath += TFile.separator; } return imagesPath; @@ -161,7 +163,7 @@ public class CardImageUtils { public static String generateImagePath(CardDownloadData card) { String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); - String imagesPath = useDefault.equals("true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); + String imagesPath = Objects.equals(useDefault, "true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); String imageDir = getImageDir(card, imagesPath); String imageName; @@ -189,7 +191,7 @@ public class CardImageUtils { public static String generateTokenDescriptorImagePath(CardDownloadData card) { String useDefault = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_USE_DEFAULT, "true"); - String imagesPath = useDefault.equals("true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); + String imagesPath = Objects.equals(useDefault, "true") ? null : PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_PATH, null); String straightImageFile = getTokenDescriptorImagePath(card); TFile file = new TFile(straightImageFile); diff --git a/Mage/src/main/java/mage/cards/repository/ExpansionInfo.java b/Mage/src/main/java/mage/cards/repository/ExpansionInfo.java index 4bff5ee0ca4..572e5ef3d19 100644 --- a/Mage/src/main/java/mage/cards/repository/ExpansionInfo.java +++ b/Mage/src/main/java/mage/cards/repository/ExpansionInfo.java @@ -16,7 +16,7 @@ public class ExpansionInfo { @DatabaseField(unique = true) protected String name; - @DatabaseField(unique = true) + @DatabaseField(id = true,unique = true) protected String code; @DatabaseField protected String blockName; diff --git a/Mage/src/main/java/mage/target/TargetSpell.java b/Mage/src/main/java/mage/target/TargetSpell.java index f679aadddc4..aad10b11ef8 100644 --- a/Mage/src/main/java/mage/target/TargetSpell.java +++ b/Mage/src/main/java/mage/target/TargetSpell.java @@ -132,6 +132,6 @@ public class TargetSpell extends TargetObject { private boolean canBeChosen(StackObject stackObject, UUID sourceID, UUID sourceControllerId, Game game) { return stackObject instanceof Spell && game.getState().getPlayersInRange(sourceControllerId, game).contains(stackObject.getControllerId()) - && filter.match((Spell) stackObject, sourceID, sourceControllerId, game); + && filter.match(stackObject, sourceID, sourceControllerId, game); } } diff --git a/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java b/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java index 699f7278b60..b23298e1074 100644 --- a/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java +++ b/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java @@ -28,7 +28,6 @@ package mage.target.common; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.UUID; diff --git a/Mage/src/main/java/mage/target/common/TargetOpponent.java b/Mage/src/main/java/mage/target/common/TargetOpponent.java index 4483f1e971c..91d813c6c85 100644 --- a/Mage/src/main/java/mage/target/common/TargetOpponent.java +++ b/Mage/src/main/java/mage/target/common/TargetOpponent.java @@ -56,16 +56,6 @@ public class TargetOpponent extends TargetPlayer { super(target); } - @Override - public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) { - return super.canChoose(sourceId, sourceControllerId, game); - } - - @Override - public boolean canTarget(UUID id, Ability source, Game game) { - return super.canTarget(id, source, game); - } - @Override public TargetOpponent copy() { return new TargetOpponent(this); diff --git a/Mage/src/main/java/mage/util/CardUtil.java b/Mage/src/main/java/mage/util/CardUtil.java index a007722f8fd..d40647ebae2 100644 --- a/Mage/src/main/java/mage/util/CardUtil.java +++ b/Mage/src/main/java/mage/util/CardUtil.java @@ -69,7 +69,7 @@ public class CardUtil { private static final String SOURCE_EXILE_ZONE_TEXT = "SourceExileZone"; - static String numberStrings[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", + static final String[] numberStrings = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "ninteen", "twenty"}; public static final String[] NON_CHANGELING_SUBTYPES_VALUES = new String[]{ diff --git a/Mage/src/main/java/mage/util/CircularList.java b/Mage/src/main/java/mage/util/CircularList.java index 27eaf144bfa..7a131d4d441 100644 --- a/Mage/src/main/java/mage/util/CircularList.java +++ b/Mage/src/main/java/mage/util/CircularList.java @@ -45,7 +45,7 @@ import java.util.concurrent.locks.ReentrantLock; public class CircularList implements List, Iterable, Serializable { //TODO: might have to make E extend Copyable - protected List list = new ArrayList<>(); + protected final List list = new ArrayList<>(); protected final ReentrantLock lock = new ReentrantLock(); @@ -357,8 +357,8 @@ public class CircularList implements List, Iterable, Serializable { private class CircularIterator implements Iterator { int cursor; - int lastIndex; - int curModCount; + final int lastIndex; + final int curModCount; boolean hasMoved = false; private CircularIterator() { @@ -399,9 +399,9 @@ public class CircularList implements List, Iterable, Serializable { private class CircularListIterator implements ListIterator { int cursor; - int lastIndex; - int firstIndex; - int curModCount; + final int lastIndex; + final int firstIndex; + final int curModCount; boolean hasMoved = false; private CircularListIterator() { diff --git a/Mage/src/main/java/mage/util/CopierObjectInputStream.java b/Mage/src/main/java/mage/util/CopierObjectInputStream.java index 72189f7b76a..cfde5cd1c17 100644 --- a/Mage/src/main/java/mage/util/CopierObjectInputStream.java +++ b/Mage/src/main/java/mage/util/CopierObjectInputStream.java @@ -32,7 +32,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectStreamClass; -import java.io.StreamCorruptedException; /** * diff --git a/Mage/src/main/java/mage/util/TargetAddress.java b/Mage/src/main/java/mage/util/TargetAddress.java index 80c5724676d..0a0d1820575 100644 --- a/Mage/src/main/java/mage/util/TargetAddress.java +++ b/Mage/src/main/java/mage/util/TargetAddress.java @@ -42,9 +42,9 @@ import mage.target.Target; */ public class TargetAddress { - protected int spellAbilityIndex; - protected UUID mode; - protected int targetIndex; + protected final int spellAbilityIndex; + protected final UUID mode; + protected final int targetIndex; public TargetAddress(int spellAbilityIndex, UUID mode, int targetIndex) { this.spellAbilityIndex = spellAbilityIndex; @@ -68,7 +68,7 @@ public class TargetAddress { protected static class TargetAddressIterator implements Iterator { - protected Iterator spellAbilityIterator; + protected final Iterator spellAbilityIterator; protected Integer lastSpellAbilityIndex = null; protected Iterator modeIterator = null; protected Modes modes = null; diff --git a/Mage/src/main/java/mage/util/ThreadLocalStringBuilder.java b/Mage/src/main/java/mage/util/ThreadLocalStringBuilder.java index bfa102d83f7..e27257936f8 100644 --- a/Mage/src/main/java/mage/util/ThreadLocalStringBuilder.java +++ b/Mage/src/main/java/mage/util/ThreadLocalStringBuilder.java @@ -6,7 +6,7 @@ package mage.util; */ public class ThreadLocalStringBuilder extends ThreadLocal { - private int size; + private final int size; public ThreadLocalStringBuilder(int size) { this.size = size; diff --git a/Mage/src/main/java/mage/watchers/Watchers.java b/Mage/src/main/java/mage/watchers/Watchers.java index 70227e9d2d6..61c5b8ec264 100644 --- a/Mage/src/main/java/mage/watchers/Watchers.java +++ b/Mage/src/main/java/mage/watchers/Watchers.java @@ -28,7 +28,6 @@ package mage.watchers; import java.util.HashMap; -import java.util.Iterator; import java.util.UUID; import mage.game.Game; import mage.game.events.GameEvent; @@ -43,7 +42,7 @@ public class Watchers extends HashMap { } public Watchers(final Watchers watchers) { - watchers.entrySet().stream().forEach((entry) -> this.put(entry.getKey(), entry.getValue().copy())); + watchers.entrySet().forEach((entry) -> this.put(entry.getKey(), entry.getValue().copy())); } public Watchers copy() { @@ -63,7 +62,7 @@ public class Watchers extends HashMap { } public void reset() { - this.values().stream().forEach(Watcher::reset); + this.values().forEach(Watcher::reset); } public Watcher get(String key, UUID id) { diff --git a/Mage/src/main/java/mage/watchers/common/CastFromGraveyardWatcher.java b/Mage/src/main/java/mage/watchers/common/CastFromGraveyardWatcher.java index 41d07639af4..44e831b1f58 100644 --- a/Mage/src/main/java/mage/watchers/common/CastFromGraveyardWatcher.java +++ b/Mage/src/main/java/mage/watchers/common/CastFromGraveyardWatcher.java @@ -66,11 +66,7 @@ public class CastFromGraveyardWatcher extends Watcher { if (event.getType() == GameEvent.EventType.SPELL_CAST && event.getZone().equals(Zone.GRAVEYARD)) { Spell spell = (Spell) game.getObject(event.getTargetId()); if (spell != null) { - HashSet zcc = spellsCastFromGraveyard.get(spell.getSourceId()); - if (zcc == null) { - zcc = new HashSet<>(); - spellsCastFromGraveyard.put(spell.getSourceId(), zcc); - } + HashSet zcc = spellsCastFromGraveyard.computeIfAbsent(spell.getSourceId(), k -> new HashSet<>()); zcc.add(spell.getZoneChangeCounter(game)); } diff --git a/Mage/src/main/java/mage/watchers/common/FirstTimeStepWatcher.java b/Mage/src/main/java/mage/watchers/common/FirstTimeStepWatcher.java index d216f48d37a..303f4586a24 100644 --- a/Mage/src/main/java/mage/watchers/common/FirstTimeStepWatcher.java +++ b/Mage/src/main/java/mage/watchers/common/FirstTimeStepWatcher.java @@ -64,9 +64,4 @@ public class FirstTimeStepWatcher extends Watcher { condition = true; } } - - @Override - public void reset() { - super.reset(); - } }