diff --git a/Mage.Client/src/main/java/mage/client/cards/Card.java b/Mage.Client/src/main/java/mage/client/cards/Card.java index f87c03bbeb..ad71011abd 100644 --- a/Mage.Client/src/main/java/mage/client/cards/Card.java +++ b/Mage.Client/src/main/java/mage/client/cards/Card.java @@ -87,6 +87,7 @@ import mage.client.util.gui.ArrowBuilder; import mage.constants.CardType; import mage.constants.EnlargeMode; import mage.remote.Session; +import mage.util.StringUtil; import mage.view.AbilityView; import mage.view.CardView; import mage.view.CounterView; @@ -248,7 +249,7 @@ public class Card extends MagePermanent implements MouseMotionListener, MouseLis for (String rule : getRules()) { sb.append("\n").append(rule); } - if (card.getExpansionSetCode() != null && card.getExpansionSetCode().length() > 0) { + if (StringUtil.isNotEmpty(card.getExpansionSetCode())) { sb.append("\n").append(card.getCardNumber()).append(" - "); sb.append(Sets.getInstance().get(card.getExpansionSetCode()).getName()).append(" - "); sb.append(card.getRarity().toString()); diff --git a/Mage.Client/src/main/java/mage/client/cards/CardArea.java b/Mage.Client/src/main/java/mage/client/cards/CardArea.java index 6fad717b2a..eb80fef3e2 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardArea.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardArea.java @@ -163,7 +163,7 @@ public class CardArea extends JPanel implements MouseListener { private void loadCardsMany(CardsView showCards, BigCard bigCard, UUID gameId) { int rowsOfCards = 20; int columns = 1; - if (showCards != null && showCards.size() > 0) { + if (showCards != null && !showCards.isEmpty()) { Rectangle rectangle = new Rectangle(cardDimension.width, cardDimension.height); int count = 0; for (CardView card : showCards.values()) { diff --git a/Mage.Client/src/main/java/mage/client/cards/Permanent.java b/Mage.Client/src/main/java/mage/client/cards/Permanent.java index 0db10e5887..3ecce83a08 100644 --- a/Mage.Client/src/main/java/mage/client/cards/Permanent.java +++ b/Mage.Client/src/main/java/mage/client/cards/Permanent.java @@ -54,6 +54,7 @@ import static mage.client.constants.Constants.POWBOX_TEXT_MAX_TOP; import mage.client.util.Config; import mage.client.util.ImageHelper; import mage.constants.CardType; +import mage.util.StringUtil; import mage.view.CounterView; import mage.view.PermanentView; import org.mage.plugins.card.images.ImageCache; @@ -124,7 +125,7 @@ public class Permanent extends Card { for (String rule: getRules()) { sb.append("\n").append(rule); } - if (permanent.getOriginal().getExpansionSetCode().length() > 0) { + if (StringUtil.isNotEmpty(permanent.getOriginal().getExpansionSetCode())) { sb.append("\n").append(permanent.getCardNumber()).append(" - "); sb.append("\n").append(Sets.getInstance().get(permanent.getOriginal().getExpansionSetCode()).getName()).append(" - "); sb.append(permanent.getOriginal().getRarity().toString()); diff --git a/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java b/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java index 26f0ab1a0f..2e4d67bd3e 100644 --- a/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java +++ b/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java @@ -42,6 +42,7 @@ import javax.swing.JTextField; import mage.client.MageFrame; import mage.client.SessionHandler; import mage.client.util.GUISizeHelper; +import mage.util.StringUtil; import mage.view.ChatMessage.MessageColor; import mage.view.ChatMessage.MessageType; import org.mage.card.arcane.ManaSymbols; @@ -221,13 +222,13 @@ public class ChatPanelBasic extends javax.swing.JPanel { textColor = MESSAGE_COLOR; userSeparator = ": "; } - if (color.equals(MessageColor.ORANGE)) { + if (color == MessageColor.ORANGE) { textColor = "Orange"; } - if (color.equals(MessageColor.YELLOW)) { + if (color == MessageColor.YELLOW) { textColor = "Yellow"; } - if (username != null && !username.isEmpty()) { + if (StringUtil.isNotEmpty(username)) { text.append(getColoredText(userColor, username + userSeparator)); } text.append(getColoredText(textColor, ManaSymbols.replaceSymbolsWithHTML(message, ManaSymbols.Type.CHAT))); diff --git a/Mage.Client/src/main/java/mage/client/components/MageTextArea.java b/Mage.Client/src/main/java/mage/client/components/MageTextArea.java index 219e0f72d7..78da53cc46 100644 --- a/Mage.Client/src/main/java/mage/client/components/MageTextArea.java +++ b/Mage.Client/src/main/java/mage/client/components/MageTextArea.java @@ -51,7 +51,7 @@ public class MageTextArea extends JEditorPane { text = text.replace("\r\n", "
"); final String basicText = ManaSymbols.replaceSymbolsWithHTML(text, ManaSymbols.Type.DIALOG); - if (text.length() > 0) { + if (!text.isEmpty()) { buffer.append(basicText); } diff --git a/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java b/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java index 9c06eb63d2..17571fd14f 100644 --- a/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java +++ b/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java @@ -296,7 +296,7 @@ public class AbilityPicker extends JXPanel implements MouseWheelListener { text = text.replace("\r\n", "
"); //text += "
"; - if (text.length() > 0) { + if (!text.isEmpty()) { buffer.append(ManaSymbols.replaceSymbolsWithHTML(text, ManaSymbols.Type.DIALOG)); } diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java index 7fa024953d..fe845ff318 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java @@ -405,33 +405,25 @@ public class NewTableDialog extends MageDialog { JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Error creating table.", "Error", JOptionPane.ERROR_MESSAGE); return; } - try { - if (SessionHandler.joinTable( - roomId, - table.getTableId(), - this.player1Panel.getPlayerName(), - "Human", 1, - DeckImporterUtil.importDeck(this.player1Panel.getDeckFile()), - this.txtPassword.getText())) { - for (TablePlayerPanel player : players) { - if (!player.getPlayerType().equals("Human")) { - if (!player.joinTable(roomId, table.getTableId())) { - // error message must be send by the server - SessionHandler.removeTable(roomId, table.getTableId()); - table = null; - return; - } + if (SessionHandler.joinTable( + roomId, + table.getTableId(), + this.player1Panel.getPlayerName(), + "Human", 1, + DeckImporterUtil.importDeck(this.player1Panel.getDeckFile()), + this.txtPassword.getText())) { + for (TablePlayerPanel player : players) { + if (!player.getPlayerType().equals("Human")) { + if (!player.joinTable(roomId, table.getTableId())) { + // error message must be send by the server + SessionHandler.removeTable(roomId, table.getTableId()); + table = null; + return; } } - this.hideDialog(); - return; } - } catch (FileNotFoundException ex) { - handleError(ex); - } catch (IOException ex) { - handleError(ex); - } catch (ClassNotFoundException ex) { - handleError(ex); + this.hideDialog(); + return; } // JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Error joining table.", "Error", JOptionPane.ERROR_MESSAGE); SessionHandler.removeTable(roomId, table.getTableId()); diff --git a/Mage.Client/src/main/java/mage/client/game/GamePanel.java b/Mage.Client/src/main/java/mage/client/game/GamePanel.java index 3597ba0b40..d73c0b1f26 100644 --- a/Mage.Client/src/main/java/mage/client/game/GamePanel.java +++ b/Mage.Client/src/main/java/mage/client/game/GamePanel.java @@ -2173,7 +2173,7 @@ public final class GamePanel extends javax.swing.JPanel { choices, this.chosenHandKey); - if (newChosenHandKey != null && newChosenHandKey.length() > 0) { + if (newChosenHandKey != null && !newChosenHandKey.isEmpty()) { this.chosenHandKey = newChosenHandKey; CardsView cards = handCards.get(chosenHandKey); handContainer.loadCards(cards, bigCard, gameId); diff --git a/Mage.Client/src/main/java/mage/client/table/TablePlayerPanel.java b/Mage.Client/src/main/java/mage/client/table/TablePlayerPanel.java index aefca569cf..fa5e32f586 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablePlayerPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablePlayerPanel.java @@ -69,7 +69,7 @@ public class TablePlayerPanel extends javax.swing.JPanel { cbPlayerType.setSelectedIndex(cbPlayerType.getItemCount() - 1); } else { - Integer index = Integer.parseInt(Config.defaultOtherPlayerIndex); + int index = Integer.parseInt(Config.defaultOtherPlayerIndex); cbPlayerType.setSelectedIndex(index); } } @@ -78,7 +78,7 @@ public class TablePlayerPanel extends javax.swing.JPanel { } } - public boolean joinTable(UUID roomId, UUID tableId) throws FileNotFoundException, IOException, ClassNotFoundException { + public boolean joinTable(UUID roomId, UUID tableId) { if (!this.cbPlayerType.getSelectedItem().equals("Human")) { return SessionHandler.joinTable(roomId, tableId, this.newPlayerPanel.getPlayerName(), (String)this.cbPlayerType.getSelectedItem(), this.newPlayerPanel.getLevel(), DeckImporterUtil.importDeck(this.newPlayerPanel.getDeckFile()),""); } diff --git a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java index 8cc83f0589..c57665406d 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java @@ -18,6 +18,7 @@ import mage.constants.CardType; import mage.constants.MageObjectType; import mage.constants.Rarity; import mage.constants.Zone; +import mage.util.StringUtil; import mage.utils.CardUtil; import mage.view.CardView; import mage.view.CounterView; @@ -339,7 +340,7 @@ public class GuiDisplayUtil { } String legal = rule.toString(); - if (legal.length() > 0) { + if (StringUtil.isNotEmpty(legal)) { legal = legal.replaceAll("\\{this\\}", card.getName().isEmpty() ? "this" : card.getName()); legal = legal.replaceAll("\\{source\\}", card.getName().isEmpty() ? "this" : card.getName()); buffer.append(ManaSymbols.replaceSymbolsWithHTML(legal, ManaSymbols.Type.TOOLTIP)); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java index 23520e6a83..282d73bb5f 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java @@ -32,6 +32,7 @@ import mage.client.plugins.impl.Plugins; import mage.client.util.audio.AudioManager; import mage.constants.CardType; import mage.constants.EnlargeMode; +import mage.util.StringUtil; import mage.view.AbilityView; import mage.view.CardView; import mage.view.PermanentView; @@ -725,7 +726,7 @@ public abstract class CardPanel extends MagePermanent implements MouseListener, for (String rule : card.getRules()) { sb.append("\n").append(rule); } - if (card.getExpansionSetCode() != null && card.getExpansionSetCode().length() > 0) { + if (StringUtil.isNotEmpty(card.getExpansionSetCode())) { sb.append("\n").append(card.getCardNumber()).append(" - "); sb.append(card.getExpansionSetCode()).append(" - "); sb.append(card.getRarity().toString()); diff --git a/Mage.Common/src/mage/view/ChatMessage.java b/Mage.Common/src/mage/view/ChatMessage.java index a0dbd1e1d8..3cf09c78e3 100644 --- a/Mage.Common/src/mage/view/ChatMessage.java +++ b/Mage.Common/src/mage/view/ChatMessage.java @@ -45,7 +45,17 @@ public class ChatMessage implements Serializable { private MessageType messageType; public enum MessageColor { - BLACK, RED, GREEN, BLUE, ORANGE, YELLOW; + BLACK("Black"), RED("Red"), GREEN("Green"), BLUE("Blue"), ORANGE("Orange"), YELLOW("Yellow"); + + private String color; + + MessageColor(String t){ + color = t; + } + + public String toString(){ + return color; + } } public enum MessageType { diff --git a/Mage.Server/src/main/java/mage/server/User.java b/Mage.Server/src/main/java/mage/server/User.java index 644440b976..aded99de5b 100644 --- a/Mage.Server/src/main/java/mage/server/User.java +++ b/Mage.Server/src/main/java/mage/server/User.java @@ -597,15 +597,15 @@ public class User { builder.append(proto.getMatches()); List quit = new ArrayList<>(); if (proto.getMatchesIdleTimeout() > 0) { - quit.add("I:" + Integer.toString(proto.getMatchesIdleTimeout())); + quit.add("I:" + proto.getMatchesIdleTimeout());//Integer.toString(proto.getMatchesIdleTimeout())); } if (proto.getMatchesTimerTimeout() > 0) { - quit.add("T:" + Integer.toString(proto.getMatchesTimerTimeout())); + quit.add("T:" + proto.getMatchesTimerTimeout());//Integer.toString(proto.getMatchesTimerTimeout())); } if (proto.getMatchesQuit() > 0) { - quit.add("Q:" + Integer.toString(proto.getMatchesQuit())); + quit.add("Q:" + proto.getMatchesQuit());//Integer.toString(proto.getMatchesQuit())); } - if (quit.size() > 0) { + if (!quit.isEmpty()) { builder.append(" ("); joinStrings(builder, quit, " "); builder.append(")"); @@ -629,15 +629,15 @@ public class User { builder.append(proto.getTourneys()); List quit = new ArrayList<>(); if (proto.getTourneysQuitDuringDrafting() > 0) { - quit.add("D:" + Integer.toString(proto.getTourneysQuitDuringDrafting())); + quit.add("D:" + proto.getTourneysQuitDuringDrafting());//Integer.toString(proto.getTourneysQuitDuringDrafting())); } if (proto.getTourneysQuitDuringConstruction() > 0) { - quit.add("C:" + Integer.toString(proto.getTourneysQuitDuringConstruction())); + quit.add("C:" + proto.getTourneysQuitDuringConstruction());//Integer.toString(proto.getTourneysQuitDuringConstruction())); } if (proto.getTourneysQuitDuringRound() > 0) { - quit.add("R:" + Integer.toString(proto.getTourneysQuitDuringRound())); + quit.add("R:" + proto.getTourneysQuitDuringRound());//Integer.toString(proto.getTourneysQuitDuringRound())); } - if (quit.size() > 0) { + if (!quit.isEmpty()) { builder.append(" ("); joinStrings(builder, quit, " "); builder.append(")"); diff --git a/Mage/src/main/java/mage/ConditionalMana.java b/Mage/src/main/java/mage/ConditionalMana.java index f9ed230c47..b7ed91dc05 100644 --- a/Mage/src/main/java/mage/ConditionalMana.java +++ b/Mage/src/main/java/mage/ConditionalMana.java @@ -206,26 +206,21 @@ public class ConditionalMana extends Mana implements Serializable { break; case BLUE: blue += amount; - ; break; case GREEN: green += amount; - ; break; case RED: red += amount; - ; break; case WHITE: white += amount; - ; break; case COLORLESS: colorless += amount; - ; + case GENERIC: generic += amount; - ; break; } } diff --git a/Mage/src/main/java/mage/abilities/AbilitiesImpl.java b/Mage/src/main/java/mage/abilities/AbilitiesImpl.java index cf0a14bac5..f6c5350fbf 100644 --- a/Mage/src/main/java/mage/abilities/AbilitiesImpl.java +++ b/Mage/src/main/java/mage/abilities/AbilitiesImpl.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.abilities.mana.ManaAbility; import mage.constants.Zone; import mage.game.Game; +import mage.util.StringUtil; import mage.util.ThreadLocalStringBuilder; import org.apache.log4j.Logger; @@ -105,11 +106,10 @@ public class AbilitiesImpl extends ArrayList implements Ab rules.add(sbRule.toString()); } String rule = ability.getRule(); - if (rule != null) { - if (rule.length() > 0) { + if (StringUtil.isNotEmpty(rule)){ rules.add(Character.toUpperCase(rule.charAt(0)) + rule.substring(1)); } - } else { // logging so we can still can be made aware of rule problems a card has + else { // logging so we can still can be made aware of rule problems a card has String cardName = ((SpellAbility) ability).getCardName(); logger.fatal("Error in rule text generation of " + cardName + ": Create a bug report or fix the source code"); } diff --git a/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java b/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java index 2d14c311a7..01960afbe8 100644 --- a/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java +++ b/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java @@ -44,6 +44,7 @@ import mage.players.ManaPool; import mage.players.Player; import mage.target.Targets; import mage.util.ManaUtil; +import mage.util.StringUtil; /** * @author BetaSteward_at_googlemail.com @@ -320,13 +321,13 @@ public class ManaCostsImpl extends ArrayList implements M this.add(cost.copy()); } } else { - if (mana == null || mana.isEmpty()) { + if (StringUtil.isNotEmpty(mana)) { return; } String[] symbols = mana.split("^\\{|\\}\\{|\\}$"); int modifierForX = 0; for (String symbol : symbols) { - if (symbol.length() > 0) { + if (StringUtil.isNotEmpty(symbol)) { if (symbol.length() == 1 || isNumeric(symbol)) { if (Character.isDigit(symbol.charAt(0))) { this.add(new GenericManaCost(Integer.valueOf(symbol))); diff --git a/Mage/src/main/java/mage/abilities/decorator/ConditionalReplacementEffect.java b/Mage/src/main/java/mage/abilities/decorator/ConditionalReplacementEffect.java index 156a4a47ef..513e9768c9 100644 --- a/Mage/src/main/java/mage/abilities/decorator/ConditionalReplacementEffect.java +++ b/Mage/src/main/java/mage/abilities/decorator/ConditionalReplacementEffect.java @@ -37,6 +37,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.constants.Duration; import mage.game.Game; import mage.game.events.GameEvent; +import mage.util.StringUtil; /** * @@ -143,7 +144,7 @@ public class ConditionalReplacementEffect extends ReplacementEffectImpl { @Override public String getText(Mode mode) { - if (staticText == null || staticText.isEmpty() && this.effect != null) { // usefull for conditional night/day card abilities + if (StringUtil.isEmpty(staticText) && this.effect != null) { // usefull for conditional night/day card abilities return effect.getText(mode); } return staticText; diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java index 5b61e675d2..6c43861606 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java @@ -129,7 +129,7 @@ public class CreateTokenEffect extends OneShotEffect { sb.append(" attacking"); } String message = amount.getMessage(); - if (message.length() > 0) { + if (!message.isEmpty()) { if (amount.toString().equals("X")) { sb.append(", where X is "); } else { diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java index 0132ebf36b..f0d2fb7249 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java @@ -80,7 +80,7 @@ public class CreateTokenTargetEffect extends OneShotEffect { sb.append(" attacking"); } String message = amount.getMessage(); - if (message.length() > 0) { + if (!message.isEmpty()) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java index 0cf6291395..a66a546041 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java @@ -36,6 +36,7 @@ import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.players.Player; +import mage.util.StringUtil; /** * @@ -103,7 +104,7 @@ public class DamageControllerEffect extends OneShotEffect { sb.append(amount); } sb.append(" damage to you"); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { if (message.equals("1")) { sb.append(" equal to the number of "); } else { diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java index 017ba21128..a59ff0eec2 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java @@ -37,6 +37,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; +import mage.util.StringUtil; import java.util.UUID; @@ -142,7 +143,7 @@ public class DamageTargetEffect extends OneShotEffect { @Override public String getText(Mode mode) { - if (staticText != null && !staticText.isEmpty()) { + if (StringUtil.isNotEmpty(staticText)) { return staticText; } StringBuilder sb = new StringBuilder(); @@ -152,12 +153,12 @@ public class DamageTargetEffect extends OneShotEffect { sb.append(amount); } sb.append(" damage to "); - if (targetDescription.length() > 0) { + if (StringUtil.isNotEmpty(targetDescription)){ sb.append(targetDescription); } else { sb.append("target ").append(mode.getTargets().get(0).getTargetName()); } - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { if (message.equals("1")) { sb.append(" equal to the number of "); } else { diff --git a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersNextUntapStepTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersNextUntapStepTargetEffect.java index f59773e1e4..68471954af 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersNextUntapStepTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersNextUntapStepTargetEffect.java @@ -158,7 +158,7 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR if (staticText != null && !staticText.isEmpty()) { return staticText; } - if (targetName != null && targetName.length() > 0) { + if (targetName != null && !targetName.isEmpty()) { if (targetName.equals("Those creatures") || targetName.equals("They")) { return targetName + " don't untap during their controller's next untap step"; } else diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java index 2a152eebc1..7ec1998833 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java @@ -36,6 +36,7 @@ import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @author BetaSteward_at_googlemail.com @@ -83,7 +84,7 @@ public class DrawCardSourceControllerEffect extends OneShotEffect { sb.append("s"); } String message = amount.getMessage(); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java index 76558defd9..70deb1fac9 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java @@ -136,7 +136,7 @@ public class DrawCardTargetEffect extends OneShotEffect { sb.append("s"); } String message = amount.getMessage(); - if (message.length() > 0) { + if (!message.isEmpty()) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java index 089a366ac0..79850cc927 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java @@ -36,6 +36,7 @@ import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import mage.util.StringUtil; public class LoseLifeControllerAttachedEffect extends OneShotEffect { @@ -88,7 +89,7 @@ public class LoseLifeControllerAttachedEffect extends OneShotEffect { StringBuilder sb = new StringBuilder(); sb.append("it's controller loses ").append(amount.toString()).append(" life"); String message = amount.getMessage(); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { sb.append(" for each "); sb.append(message); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java index c988359476..aa100100bd 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java @@ -87,7 +87,7 @@ public class LoseLifeOpponentsEffect extends OneShotEffect { sb.append(amount).append(" "); } sb.append("life"); - if (message.length() > 0) { + if (!message.isEmpty()) { sb.append(message.equals("1") || message.startsWith("the ") ? " equal to the number of " : " for each "); sb.append(message); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java index f9239424cd..da2f86a794 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java @@ -35,6 +35,7 @@ import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.players.Player; +import mage.util.StringUtil; /** * @@ -78,7 +79,7 @@ public class LoseLifeSourceControllerEffect extends OneShotEffect { StringBuilder sb = new StringBuilder(); sb.append("you lose ").append(amount.toString()).append(" life"); String message = amount.getMessage(); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java index 501f385095..8a3d6c3793 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; +import mage.util.StringUtil; /** * @@ -81,7 +82,7 @@ public class LoseLifeTargetEffect extends OneShotEffect { StringBuilder sb = new StringBuilder(); String message = amount.getMessage(); - if (mode.getTargets().size() > 0) { + if (!mode.getTargets().isEmpty()) { sb.append("target ").append(mode.getTargets().get(0).getTargetName()); } else { sb.append("that player"); @@ -91,7 +92,7 @@ public class LoseLifeTargetEffect extends OneShotEffect { sb.append(amount).append(" "); } sb.append("life"); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { if (amount.toString().equals("X")) { sb.append(", where X is "); } else { diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java index 8caeff03b8..08eafb24e7 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java @@ -101,7 +101,7 @@ public class PutLibraryIntoGraveTargetEffect extends OneShotEffect { } sb.append("of his or her library into his or her graveyard"); - if (message.length() > 0) { + if (!message.isEmpty()) { sb.append(", where X is the number of "); sb.append(message); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/SkipNextPlayerUntapStepEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SkipNextPlayerUntapStepEffect.java index 6f04248e43..ac36f9fcca 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/SkipNextPlayerUntapStepEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/SkipNextPlayerUntapStepEffect.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.turn.TurnMod; import mage.players.Player; +import mage.util.StringUtil; /** * @@ -77,7 +78,7 @@ public class SkipNextPlayerUntapStepEffect extends OneShotEffect { @Override public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); - if (staticText.length() > 0) { + if (StringUtil.isNotEmpty(staticText)) { sb.append(staticText); } else { sb.append("target"); diff --git a/Mage/src/main/java/mage/abilities/effects/common/TapTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/TapTargetEffect.java index efc2b9321d..96ae066c90 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/TapTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/TapTargetEffect.java @@ -37,6 +37,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.Target; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @author BetaSteward_at_googlemail.com @@ -76,7 +77,7 @@ public class TapTargetEffect extends OneShotEffect { @Override public String getText(Mode mode) { - if (staticText.length() > 0) { + if (StringUtil.isNotEmpty(staticText)) { return "tap " + staticText; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java index 2de2466cbf..6d24b7050b 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java @@ -14,6 +14,7 @@ import mage.game.permanent.Permanent; import mage.game.permanent.PermanentCard; import mage.target.Target; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @@ -73,7 +74,7 @@ public class TransformTargetEffect extends OneShotEffect { @Override public String getText(Mode mode) { - if (staticText != null && staticText.length() > 0) { + if (StringUtil.isNotEmpty(staticText)) { return staticText; } if (mode.getTargets().isEmpty()) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/AssignNoCombatDamageSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/AssignNoCombatDamageSourceEffect.java index 380b3a1fff..72f193c36f 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/AssignNoCombatDamageSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/AssignNoCombatDamageSourceEffect.java @@ -106,7 +106,7 @@ public class AssignNoCombatDamageSourceEffect extends ReplacementEffectImpl { text += " this combat"; break; default: - if (duration.toString().length() > 0) { + if (!duration.toString().isEmpty()) { text += " " + duration.toString(); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java index 0f5244ef2b..9f3369c8de 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java @@ -118,11 +118,11 @@ public class BecomesColorOrColorsTargetEffect extends OneShotEffect { return staticText; } StringBuilder sb = new StringBuilder(); - if (mode.getTargets().size() > 0) { + if (!mode.getTargets().isEmpty()) { sb.append("target "); sb.append(mode.getTargets().get(0).getFilter().getMessage()); sb.append(" becomes the color or colors of your choice"); - if (duration.toString().length() > 0) { + if (!duration.toString().isEmpty()) { sb.append(" ").append(duration.toString()); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java index 49d348290d..d02f818a3b 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java @@ -39,6 +39,7 @@ import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.Token; +import mage.util.StringUtil; /** * @author LevelX2 @@ -76,13 +77,11 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl { switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { - if (token.getCardType().size() > 0) { for (CardType t : token.getCardType()) { if (!permanent.getCardType().contains(t)) { permanent.getCardType().add(t); } } - } if (type == null) { permanent.getSubtype(game).clear(); } @@ -140,7 +139,7 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl { } sb.append(filter.getMessage()); sb.append(" become a ").append(token.getDescription()); - if (type != null && type.length() > 0) { + if (StringUtil.isNotEmpty(type)) { sb.append(". They are still ").append(type); } return sb.toString(); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java index 23c90cd686..793ac990c1 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java @@ -172,7 +172,7 @@ public class BecomesCreatureSourceEffect extends ContinuousEffectImpl implements } private void setText() { - if (type != null && type.length() > 0) { + if (type != null && !type.isEmpty()) { staticText = duration.toString() + " {this} becomes a " + token.getDescription() + " that's still a " + this.type; } else { staticText = duration.toString() + " {this} becomes a " + token.getDescription(); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java index 461dd0e13d..92016378ee 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java @@ -134,7 +134,7 @@ public class BoostEnchantedEffect extends ContinuousEffectImpl { sb.append(" ").append(duration.toString()); } String message = power.getMessage(); - if (message.length() > 0) { + if (!message.isEmpty()) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java index dd3150b62e..ed8c79ab80 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java @@ -39,6 +39,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.targetpointer.FixedTarget; +import mage.util.StringUtil; /** * @author BetaSteward_at_googlemail.com @@ -132,7 +133,7 @@ public class BoostEquippedEffect extends ContinuousEffectImpl { if (duration != Duration.WhileOnBattlefield) sb.append(" ").append(duration.toString()); String message = power.getMessage(); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java index c50a023a5a..56cfbc3df3 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java @@ -36,6 +36,7 @@ import mage.counters.Counter; import mage.game.Game; import mage.game.permanent.Permanent; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @@ -101,7 +102,7 @@ public class AddCountersAttachedEffect extends OneShotEffect { } sb.append(counter.getName().toLowerCase()).append(" counter on "); sb.append(textEnchanted); - if (amount.getMessage().length() > 0) { + if (StringUtil.isNotEmpty(amount.getMessage())) { sb.append(" for each ").append(amount.getMessage()); } staticText = sb.toString(); diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java index 0056700064..81e6735eed 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java @@ -43,6 +43,7 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @@ -164,7 +165,7 @@ public class AddCountersTargetEffect extends OneShotEffect { sb.append("that creature"); } - if (amount.getMessage().length() > 0) { + if (StringUtil.isNotEmpty(amount.getMessage())) { sb.append(" for each ").append(amount.getMessage()); } return sb.toString(); diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java index fa9d314a21..fbff4f6175 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java @@ -36,6 +36,7 @@ import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @@ -116,7 +117,7 @@ public class DiscardControllerEffect extends OneShotEffect { sb.append(" at random"); } String message = amount.getMessage(); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardHandTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardHandTargetEffect.java index 83d5d9526c..a69f78c19e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardHandTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardHandTargetEffect.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; +import mage.util.StringUtil; /** * @@ -80,11 +81,11 @@ public class DiscardHandTargetEffect extends OneShotEffect { @Override public String getText(Mode mode) { - if (staticText != null && !staticText.isEmpty()) { + if (StringUtil.isNotEmpty(staticText)) { return staticText; } StringBuilder sb = new StringBuilder(); - if (targetDescription.length() > 0) { + if (StringUtil.isNotEmpty(targetDescription)) { sb.append(targetDescription); } else { sb.append("target ").append(mode.getTargets().get(0).getTargetName()); diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java index 0b7b1eea3d..f2a373f677 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java @@ -36,6 +36,7 @@ import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @@ -95,7 +96,7 @@ public class DiscardTargetEffect extends OneShotEffect { @Override public String getText(Mode mode) { - if (staticText != null && !staticText.isEmpty()) { + if (StringUtil.isNotEmpty(staticText)) { return staticText; } StringBuilder sb = new StringBuilder(); @@ -114,7 +115,7 @@ public class DiscardTargetEffect extends OneShotEffect { sb.append(" at random"); } String message = amount.getMessage(); - if (message.length() > 0) { + if (StringUtil.isNotEmpty(message)) { sb.append(" for each "); } sb.append(message); diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/ManifestTargetPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/ManifestTargetPlayerEffect.java index 1f7ed73df7..4b24c87a82 100644 --- a/Mage/src/main/java/mage/abilities/effects/keyword/ManifestTargetPlayerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/keyword/ManifestTargetPlayerEffect.java @@ -44,6 +44,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.util.CardUtil; +import mage.util.StringUtil; /** * @@ -104,7 +105,7 @@ public class ManifestTargetPlayerEffect extends OneShotEffect { private String setText() { StringBuilder sb = new StringBuilder(); - if (prefix != null && !prefix.isEmpty()) { + if (StringUtil.isNotEmpty(prefix)) { sb.append(prefix).append(" "); } sb.append("manifest the top "); diff --git a/Mage/src/main/java/mage/abilities/keyword/CascadeAbility.java b/Mage/src/main/java/mage/abilities/keyword/CascadeAbility.java index 4076c112dd..1a3c802336 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CascadeAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/CascadeAbility.java @@ -133,7 +133,7 @@ class CascadeEffect extends OneShotEffect { Cards cardsFromExile = new CardsImpl(); Cards cardsToLibrary = new CardsImpl(); cardsFromExile.addAll(exile); - while (cardsFromExile.size() > 0) { + while (!cardsFromExile.isEmpty()) { card = cardsFromExile.getRandom(game); cardsFromExile.remove(card.getId()); cardsToLibrary.add(card); diff --git a/Mage/src/main/java/mage/cards/Sets.java b/Mage/src/main/java/mage/cards/Sets.java index 41b605973e..b0fa63fa36 100644 --- a/Mage/src/main/java/mage/cards/Sets.java +++ b/Mage/src/main/java/mage/cards/Sets.java @@ -46,6 +46,7 @@ import mage.constants.ColoredManaSymbol; import mage.util.ClassScanner; import mage.util.RandomUtil; +import mage.util.StringUtil; import org.apache.log4j.Logger; /** @@ -138,10 +139,11 @@ public class Sets extends HashMap { Map deckCards = new HashMap<>(); Map sideboard = new HashMap<>(); try { - if (deck.getName() != null && deck.getName().length() > 0) { + + if (StringUtil.isNotEmpty(deck.getName())) { out.println("NAME:" + deck.getName()); } - if (deck.getAuthor() != null && deck.getAuthor().length() > 0) { + if (StringUtil.isNotEmpty(deck.getAuthor())) { out.println("AUTHOR:" + deck.getAuthor()); } for (DeckCardInfo deckCardInfo: deck.getCards()) { diff --git a/Mage/src/main/java/mage/util/StringUtil.java b/Mage/src/main/java/mage/util/StringUtil.java new file mode 100644 index 0000000000..bcb021339f --- /dev/null +++ b/Mage/src/main/java/mage/util/StringUtil.java @@ -0,0 +1,15 @@ +package mage.util; + +/** + * Created by IGOUDT on 16-9-2016. + */ +public class StringUtil { + + public static boolean isEmpty(String input){ + return (input == null) || input.isEmpty(); + } + + public static boolean isNotEmpty(String input){ + return !isEmpty(input); + } +}