From a05b4345d4838540749199deee99a2fa7ccffa9b Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Thu, 8 Sep 2011 00:29:14 +0000 Subject: [PATCH] All computer decks are auto-assigned names Protection from crashing on empty decks files Resolution for issues 241-244 --- src/main/java/forge/deck/DeckManager.java | 13 +++++++++++-- .../java/forge/gui/deckeditor/DeckEditorDraft.java | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/deck/DeckManager.java b/src/main/java/forge/deck/DeckManager.java index 21adbcc067c..f6b413a92bc 100644 --- a/src/main/java/forge/deck/DeckManager.java +++ b/src/main/java/forge/deck/DeckManager.java @@ -245,11 +245,19 @@ public class DeckManager { for (File file : files) { Deck[] d = new Deck[8]; + boolean gotError = false; for (int i = 0; i < d.length; i++) { d[i] = readDeck(new File(file, i + ".dck")); + if(d[i] == null) { + gotError = true; + break; + } } - draftMap.put(d[0].getName(), d); + if (!gotError) + { + draftMap.put(d[0].getName(), d); + } } } @@ -276,7 +284,8 @@ public class DeckManager { } ListIterator lineIterator = lines.listIterator(); - + if (!lineIterator.hasNext()) { return null; } + String line = lineIterator.next(); //Old text-based format diff --git a/src/main/java/forge/gui/deckeditor/DeckEditorDraft.java b/src/main/java/forge/gui/deckeditor/DeckEditorDraft.java index 9bf921dc5e0..08c7383ec1b 100644 --- a/src/main/java/forge/gui/deckeditor/DeckEditorDraft.java +++ b/src/main/java/forge/gui/deckeditor/DeckEditorDraft.java @@ -252,6 +252,10 @@ public class DeckEditorDraft extends DeckEditorBase implements NewConstants, New Deck[] all = { human, computer[0], computer[1], computer[2], computer[3], computer[4], computer[5], computer[6]}; + for(int i = 1; i < all.length; i++) { + all[i].setName(String.format("Draft %s - Computer %d", s, i)); + } + //DeckManager deckManager = new DeckManager(ForgeProps.getFile(NEW_DECKS)); DeckManager deckManager = AllZone.getDeckManager(); deckManager.addDraftDeck(all);