From c0049f5d4b26a3a553572d2001783b33b2e33bf1 Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 3 Aug 2012 11:30:17 +0000 Subject: [PATCH] - Fixed results of FindBugs. --- src/main/java/forge/GameAction.java | 13 ++++++++---- src/main/java/forge/card/MtgDataParser.java | 2 +- .../AbilityFactoryChangeZone.java | 4 ++-- .../abilityfactory/AbilityFactoryChoose.java | 2 +- .../AbilityFactoryCounters.java | 2 +- .../abilityfactory/AbilityFactoryReveal.java | 4 ++-- .../AbilityFactorySetState.java | 5 +---- .../forge/card/spellability/AbilityMana.java | 2 +- .../control/input/InputPayManaCostUtil.java | 2 +- .../java/forge/game/phase/PhaseHandler.java | 17 ++++++++-------- src/main/java/forge/game/player/AIPlayer.java | 16 --------------- .../java/forge/game/player/ComputerUtil.java | 6 ++++-- .../java/forge/game/player/HumanPlayer.java | 16 --------------- src/main/java/forge/game/player/Player.java | 20 ------------------- src/main/java/forge/gui/CardDetailPanel.java | 6 +++--- src/main/java/forge/gui/GuiImportPicture.java | 2 +- .../gui/deckeditor/tables/SColumnUtil.java | 2 +- .../deckeditor/tables/TableColumnInfo.java | 4 ++-- .../java/forge/gui/framework/DragCell.java | 2 +- .../forge/gui/framework/SDisplayUtil.java | 2 +- .../forge/gui/framework/SRearrangingUtil.java | 12 +++++------ 21 files changed, 47 insertions(+), 94 deletions(-) diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index a6233963d3b..22fc488c62f 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -376,9 +376,12 @@ public class GameAction { public final void controllerChangeZoneCorrection(final Card c) { System.out.println("Correcting zone for " + c.toString()); final PlayerZone oldBattlefield = AllZone.getZoneOf(c); + if (oldBattlefield == null) { + return; + } final PlayerZone newBattlefield = c.getController().getZone(oldBattlefield.getZoneType()); - if ((oldBattlefield == null) || (newBattlefield == null) || oldBattlefield.equals(newBattlefield)) { + if (newBattlefield == null || oldBattlefield.equals(newBattlefield)) { return; } @@ -671,9 +674,11 @@ public class GameAction { runParams.put("Destination", ZoneType.Library.name()); AllZone.getTriggerHandler().runTrigger(TriggerType.ChangesZone, runParams); - Player owner = p.getPlayer(); - if (owner != null) { - owner.updateLabelObservers(); + if (p != null) { + Player owner = p.getPlayer(); + if (owner != null) { + owner.updateLabelObservers(); + } } // Soulbond unpairing diff --git a/src/main/java/forge/card/MtgDataParser.java b/src/main/java/forge/card/MtgDataParser.java index cf6c8656147..1a56787e697 100644 --- a/src/main/java/forge/card/MtgDataParser.java +++ b/src/main/java/forge/card/MtgDataParser.java @@ -199,7 +199,7 @@ public final class MtgDataParser implements Iterator { "([A-Z0-9][A-Z0-9][A-Z0-9] [CURM], )*[A-Z0-9][A-Z0-9][A-Z0-9] [CURM]", nextline)) { rules.add(nextline); } - ret.setCardRules((String[]) rules.toArray()); + ret.setCardRules(rules.toArray(new String[rules.size()])); return nextline; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java index 9f10b0eef4b..96601df07e7 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java @@ -2491,7 +2491,7 @@ public final class AbilityFactoryChangeZone { final Cost abCost = af.getAbCost(); final Card source = sa.getSourceCard(); final HashMap params = af.getMapParams(); - final String destination = params.get("Destination"); + final ZoneType destination = ZoneType.smartValueOf(params.get("Destination")); final ZoneType origin = ZoneType.smartValueOf(params.get("Origin")); if (abCost != null) { @@ -2679,7 +2679,7 @@ public final class AbilityFactoryChangeZone { public static boolean changeZoneAllTriggerAINoCost(final AbilityFactory af, final SpellAbility sa, final boolean mandatory) { // Change Zone All, can be any type moving from one zone to another final HashMap params = af.getMapParams(); - final String destination = params.get("Destination"); + final ZoneType destination = ZoneType.smartValueOf(params.get("Destination")); final ZoneType origin = ZoneType.smartValueOf(params.get("Origin")); CardList humanType = AllZone.getHumanPlayer().getCardsIn(origin); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java index 65a3c6bf6aa..c16d1e40876 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java @@ -1650,7 +1650,7 @@ public final class AbilityFactoryChoose { chosen = list.get(0).getName(); } } - if (chosen == "") { + if (chosen.equals("")) { chosen = "Morphling"; } GuiUtils.chooseOne("Computer picked: ", chosen); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java index 9ae535352d0..1521f0f2528 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java @@ -2665,7 +2665,7 @@ public class AbilityFactoryCounters { if (source.getCounters(cType) >= amount) { if (!dest.hasKeyword("CARDNAME can't have counters placed on it.") && !(dest.hasKeyword("CARDNAME can't have -1/-1 counters placed on it.") && cType - .equals("M1M1"))) { + .equals(Counters.M1M1))) { dest.addCounter(cType, amount); source.subtractCounter(cType, amount); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java index 14f856ee816..f8b91f79578 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java @@ -863,8 +863,8 @@ public final class AbilityFactoryReveal { } sb.append(". Put "); - final String found = params.get("FoundDestination"); - final String revealed = params.get("RevealedDestination"); + final ZoneType found = ZoneType.smartValueOf(params.get("FoundDestination")); + final ZoneType revealed = ZoneType.smartValueOf(params.get("RevealedDestination")); if (found != null) { sb.append(untilAmount > 1 ? "those cards" : "that card"); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java b/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java index e78d91f6127..feefc672a95 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java @@ -492,10 +492,7 @@ public class AbilityFactorySetState { if (list.get(i).isDoubleFaced()) { if (list.get(i).getCurState() == CardCharactersticName.Original) { if (list.get(i).changeToState(CardCharactersticName.Transformed) && remChanged) { - if (remChanged) { - abilityFactory.getHostCard().addRemembered(list.get(i)); - } - + abilityFactory.getHostCard().addRemembered(list.get(i)); } } else if (list.get(i).getCurState() == CardCharactersticName.Transformed) { if (list.get(i).changeToState(CardCharactersticName.Original)) { diff --git a/src/main/java/forge/card/spellability/AbilityMana.java b/src/main/java/forge/card/spellability/AbilityMana.java index 0091e5f95c9..a3d6ec4ceb0 100644 --- a/src/main/java/forge/card/spellability/AbilityMana.java +++ b/src/main/java/forge/card/spellability/AbilityMana.java @@ -47,7 +47,7 @@ public class AbilityMana extends AbilityActivated implements java.io.Serializabl private String origProduced; private String lastExpressChoice = ""; private String manaRestrictions = ""; - private ArrayList lastProduced = new ArrayList();; + private ArrayList lastProduced = new ArrayList(); private int amount = 1; /** The reflected. */ diff --git a/src/main/java/forge/control/input/InputPayManaCostUtil.java b/src/main/java/forge/control/input/InputPayManaCostUtil.java index 5a71b56b2cc..32db1785f6d 100644 --- a/src/main/java/forge/control/input/InputPayManaCostUtil.java +++ b/src/main/java/forge/control/input/InputPayManaCostUtil.java @@ -111,7 +111,7 @@ public class InputPayManaCostUtil { String colorsNeeded = colorRequired.toString(); if ("1".equals(colorsNeeded)) { // only colorless left if (sa.getSourceCard() != null - && sa.getSourceCard().getSVar("ManaNeededToAvoidNegativeEffect") != "") { + && !sa.getSourceCard().getSVar("ManaNeededToAvoidNegativeEffect").equals("")) { colorsNeeded = ""; String[] negEffects = sa.getSourceCard().getSVar("ManaNeededToAvoidNegativeEffect").split(","); for (String negColor : negEffects) { diff --git a/src/main/java/forge/game/phase/PhaseHandler.java b/src/main/java/forge/game/phase/PhaseHandler.java index 79848f1515c..55feb218665 100644 --- a/src/main/java/forge/game/phase/PhaseHandler.java +++ b/src/main/java/forge/game/phase/PhaseHandler.java @@ -782,16 +782,17 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { public final void skipTurn(final Player player) { // skipping turn without having extras is equivalent to giving your // opponent an extra turn - if (this.extraTurns.isEmpty()) { - this.addExtraTurn(player.getOpponent()); - } else { - final int pos = this.extraTurns.lastIndexOf(player); - if (pos == -1) { - this.addExtraTurn(player.getOpponent()); - } else { - this.extraTurns.remove(pos); + boolean skipped = false; + for (ExtraTurn turn : this.extraTurns) { + if (turn.getPlayer().equals(player)) { + this.extraTurns.remove(turn); + skipped = true; + break; } } + if (!skipped) { + this.addExtraTurn(player.getOpponent()); + } } /** diff --git a/src/main/java/forge/game/player/AIPlayer.java b/src/main/java/forge/game/player/AIPlayer.java index 20c50e65231..dd6485563b2 100644 --- a/src/main/java/forge/game/player/AIPlayer.java +++ b/src/main/java/forge/game/player/AIPlayer.java @@ -122,22 +122,6 @@ public class AIPlayer extends Player { // / // ////////////////////////////// - /** {@inheritDoc} */ - @Override - public final CardList mayDrawCard() { - return this.mayDrawCards(1); - } - - /** {@inheritDoc} */ - @Override - public final CardList mayDrawCards(final int n) { - if (this.getCardsIn(ZoneType.Library).size() > n) { - return this.drawCards(n); - } else { - return new CardList(); - } - } - /** *

* dredge. diff --git a/src/main/java/forge/game/player/ComputerUtil.java b/src/main/java/forge/game/player/ComputerUtil.java index eaf3d77ac8e..2173c1cf7e9 100644 --- a/src/main/java/forge/game/player/ComputerUtil.java +++ b/src/main/java/forge/game/player/ComputerUtil.java @@ -880,7 +880,7 @@ public class ComputerUtil { } // Make mana needed to avoid negative effect a mandatory cost for the AI - if (card.getSVar("ManaNeededToAvoidNegativeEffect") != "") { + if (!card.getSVar("ManaNeededToAvoidNegativeEffect").equals("")) { final String[] negEffects = card.getSVar("ManaNeededToAvoidNegativeEffect").split(","); int amountAdded = 0; for (int nStr = 0; nStr < negEffects.length; nStr++) { @@ -1018,7 +1018,9 @@ public class ComputerUtil { } final Cost cost = m.getPayCosts(); - needsLimitedResources |= !cost.isReusuableResource(); + if (cost != null) { + needsLimitedResources |= !cost.isReusuableResource(); + } // if the AI can't pay the additional costs skip the mana // ability diff --git a/src/main/java/forge/game/player/HumanPlayer.java b/src/main/java/forge/game/player/HumanPlayer.java index 6c200953d85..004a198058f 100644 --- a/src/main/java/forge/game/player/HumanPlayer.java +++ b/src/main/java/forge/game/player/HumanPlayer.java @@ -114,22 +114,6 @@ public class HumanPlayer extends Player { // / // ///////////// - /** {@inheritDoc} */ - @Override - public final CardList mayDrawCards(final int n) { - if (this.canDraw() && GameActionUtil.showYesNoDialog(null, "Draw " + n + " cards?")) { - return this.drawCards(n); - } else { - return new CardList(); - } - } - - /** {@inheritDoc} */ - @Override - public final CardList mayDrawCard() { - return this.mayDrawCards(1); - } - /** *

* dredge. diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index 1f6dc1d2d25..d05cdb773e3 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -1145,26 +1145,6 @@ public abstract class Player extends GameEntity { return true; } - /** - *

- * mayDrawCard. - *

- * - * @return a CardList of cards actually drawn - */ - public abstract CardList mayDrawCard(); - - /** - *

- * mayDrawCards. - *

- * - * @param numCards - * a int. - * @return a CardList of cards actually drawn - */ - public abstract CardList mayDrawCards(int numCards); - /** *

* drawCard. diff --git a/src/main/java/forge/gui/CardDetailPanel.java b/src/main/java/forge/gui/CardDetailPanel.java index 98829c385ec..139ef51357f 100644 --- a/src/main/java/forge/gui/CardDetailPanel.java +++ b/src/main/java/forge/gui/CardDetailPanel.java @@ -164,7 +164,7 @@ public class CardDetailPanel extends JPanel implements CardContainer { final boolean faceDown = card.isFaceDown() && (card.getController() != AllZone.getHumanPlayer()); if (!faceDown) { - if (card.getManaCost().equals("") || card.isLand()) { + if (card.getManaCost().toString().equals("") || card.isLand()) { this.nameCostLabel.setText(card.getName()); } else { this.nameCostLabel.setText(card.getName() + " - " + card.getManaCost()); @@ -328,7 +328,7 @@ public class CardDetailPanel extends JPanel implements CardContainer { } // chosen type - if (card.getChosenType() != "") { + if (!card.getChosenType().equals("")) { if (area.length() != 0) { area.append("\n"); } @@ -348,7 +348,7 @@ public class CardDetailPanel extends JPanel implements CardContainer { } // named card - if (card.getNamedCard() != "") { + if (!card.getNamedCard().equals("")) { if (area.length() != 0) { area.append("\n"); } diff --git a/src/main/java/forge/gui/GuiImportPicture.java b/src/main/java/forge/gui/GuiImportPicture.java index ce018e327fc..98991f53059 100644 --- a/src/main/java/forge/gui/GuiImportPicture.java +++ b/src/main/java/forge/gui/GuiImportPicture.java @@ -290,7 +290,7 @@ public class GuiImportPicture extends JDialog { @Override public void mouseClicked(final java.awt.event.MouseEvent e) { GuiImportPicture.this.jButtonStart.setEnabled(false); - if (GuiImportPicture.this.jLabelSource.getText() != "") { + if (GuiImportPicture.this.jLabelSource.getText().equals("")) { final FileFinder ff = new FileFinder(); try { GuiImportPicture.this.listFiles = ff.findFiles(GuiImportPicture.this.jLabelSource.getText() diff --git a/src/main/java/forge/gui/deckeditor/tables/SColumnUtil.java b/src/main/java/forge/gui/deckeditor/tables/SColumnUtil.java index b827456d15f..e8125796dae 100644 --- a/src/main/java/forge/gui/deckeditor/tables/SColumnUtil.java +++ b/src/main/java/forge/gui/deckeditor/tables/SColumnUtil.java @@ -291,7 +291,7 @@ public final class SColumnUtil { final ACEditorBase ed = (ACEditorBase) CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController(); - final JTable tbl = (id0.toString().substring(0, 4) == "DECK") + final JTable tbl = (id0.toString().substring(0, 4).equals("DECK")) ? ed.getTableDeck().getTable() : ed.getTableCatalog().getTable(); diff --git a/src/main/java/forge/gui/deckeditor/tables/TableColumnInfo.java b/src/main/java/forge/gui/deckeditor/tables/TableColumnInfo.java index 2af9cb02aff..c525f4278b2 100644 --- a/src/main/java/forge/gui/deckeditor/tables/TableColumnInfo.java +++ b/src/main/java/forge/gui/deckeditor/tables/TableColumnInfo.java @@ -109,7 +109,7 @@ public class TableColumnInfo extends TableColumn { * @return the fnSort */ public Lambda1> getFnSort() { - if (fnSort.equals(null)) { + if (fnSort == null) { throw new NullPointerException("A sort function hasn't been set for " + "Column " + TableColumnInfo.this.getIdentifier()); } @@ -122,7 +122,7 @@ public class TableColumnInfo extends TableColumn { * @return the fnDisplay */ public Lambda1> getFnDisplay() { - if (fnSort.equals(null)) { + if (fnSort == null) { throw new NullPointerException("A display function hasn't been set for " + "Column " + TableColumnInfo.this.getIdentifier()); } diff --git a/src/main/java/forge/gui/framework/DragCell.java b/src/main/java/forge/gui/framework/DragCell.java index 7ff100c4008..963761609e3 100644 --- a/src/main/java/forge/gui/framework/DragCell.java +++ b/src/main/java/forge/gui/framework/DragCell.java @@ -429,7 +429,7 @@ public final class DragCell extends JPanel implements ILocalRepaint { temp.priorityDecrease(); } - if (temp.equals(docSelected)) { continue; } + if (d.equals(docSelected)) { continue; } if (temp.getPriority() > lowest) { continue; } if (temp.getPriority() <= currentPriority0) { continue; } diff --git a/src/main/java/forge/gui/framework/SDisplayUtil.java b/src/main/java/forge/gui/framework/SDisplayUtil.java index 5d54fbf8282..ee72330fa89 100644 --- a/src/main/java/forge/gui/framework/SDisplayUtil.java +++ b/src/main/java/forge/gui/framework/SDisplayUtil.java @@ -32,7 +32,7 @@ public class SDisplayUtil { final int delay = 80; // Milliseconds between steps if (remindIsRunning) { return; } - if (pnl.equals(null)) { return; } + if (pnl == null) { return; } remindIsRunning = true; final int oldR = pnl.getBackground().getRed(); diff --git a/src/main/java/forge/gui/framework/SRearrangingUtil.java b/src/main/java/forge/gui/framework/SRearrangingUtil.java index 50d6a23f484..0d6fb371e64 100644 --- a/src/main/java/forge/gui/framework/SRearrangingUtil.java +++ b/src/main/java/forge/gui/framework/SRearrangingUtil.java @@ -166,7 +166,7 @@ public final class SRearrangingUtil { && (cellTarget.getW() / 2) > SResizingUtil.W_MIN) { dropzone = Dropzone.RIGHT; pnlDocument.setCursor(CUR_R); - tempW = Math.round(cellTarget.getW() / 2); + tempW = cellTarget.getW() / 2; pnlPreview.setBounds( cellTarget.getX() + cellTarget.getW() - tempW, @@ -191,7 +191,7 @@ public final class SRearrangingUtil { && (cellTarget.getH() / 2) > SResizingUtil.H_MIN) { dropzone = Dropzone.BOTTOM; pnlDocument.setCursor(CUR_B); - tempH = Math.round(cellTarget.getH() / 2); + tempH = cellTarget.getH() / 2; pnlPreview.setBounds( cellTarget.getX() + SLayoutConstants.BORDER_T, @@ -244,7 +244,7 @@ public final class SRearrangingUtil { case LEFT: cellNew.setBounds( tempX, tempY, - Math.round(tempW / 2), tempH); + tempW / 2, tempH); cellTarget.setBounds( tempX + cellNew.getW(), tempY, tempW - cellNew.getW(), tempH); @@ -253,7 +253,7 @@ public final class SRearrangingUtil { case RIGHT: cellTarget.setBounds( tempX, tempY, - Math.round(tempW / 2), tempH); + tempW / 2, tempH); cellNew.setBounds( cellTarget.getX() + cellTarget.getW(), tempY , tempW - cellTarget.getW(), tempH); @@ -262,7 +262,7 @@ public final class SRearrangingUtil { case TOP: cellNew.setBounds( tempX, tempY, - tempW, tempH - Math.round(tempH / 2)); + tempW, tempH - (tempH / 2)); cellTarget.setBounds( tempX, tempY + cellNew.getH(), tempW, tempH - cellNew.getH()); @@ -271,7 +271,7 @@ public final class SRearrangingUtil { case BOTTOM: cellTarget.setBounds( tempX, tempY, - tempW, Math.round(tempH / 2)); + tempW, tempH / 2); cellNew.setBounds( tempX, cellTarget.getY() + cellTarget.getH(),