From f277b72a67318e311fb2a58db90da0b76b63d01b Mon Sep 17 00:00:00 2001 From: pfirpfel Date: Thu, 22 Oct 2020 22:32:03 +0200 Subject: [PATCH] Move empty init exception into BagRandomizer --- .../forge/item/generation/ChaosBoosterSupplier.java | 6 +----- forge-core/src/main/java/forge/util/BagRandomizer.java | 10 ++++++++-- .../src/main/java/forge/limited/BoosterDraft.java | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java b/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java index 215174ee822..c4a38769dc1 100644 --- a/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java +++ b/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java @@ -1,6 +1,5 @@ package forge.item.generation; -import com.google.common.collect.Iterables; import forge.card.CardEdition; import forge.item.BoosterPack; import forge.item.PaperCard; @@ -11,10 +10,7 @@ import java.util.List; public class ChaosBoosterSupplier implements IUnOpenedProduct { private BagRandomizer randomizer; - public ChaosBoosterSupplier(Iterable sets) throws Exception { - if (Iterables.size(sets) <= 0) { - throw new Exception("At least one set needed to generate chaos draft!"); - } + public ChaosBoosterSupplier(Iterable sets) throws IllegalArgumentException { randomizer = new BagRandomizer<>(sets); } diff --git a/forge-core/src/main/java/forge/util/BagRandomizer.java b/forge-core/src/main/java/forge/util/BagRandomizer.java index f0159e2e8bb..80bef2ac791 100644 --- a/forge-core/src/main/java/forge/util/BagRandomizer.java +++ b/forge-core/src/main/java/forge/util/BagRandomizer.java @@ -17,16 +17,22 @@ public class BagRandomizer implements Iterable{ private T[] bag; private int currentPosition = 0; - public BagRandomizer(T[] items) { + public BagRandomizer(T[] items) throws IllegalArgumentException { + if (items.length == 0) { + throw new IllegalArgumentException("Must include at least one item!"); + } bag = items; shuffleBag(); } - public BagRandomizer(Iterable items) { + public BagRandomizer(Iterable items) throws IllegalArgumentException { ArrayList list = new ArrayList<>(); for (T item : items) { list.add(item); } + if (list.size() == 0) { + throw new IllegalArgumentException("Must include at least one item!"); + } bag = (T[]) list.toArray(); shuffleBag(); } diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/limited/BoosterDraft.java index b23d15fbd39..78af6def2b4 100644 --- a/forge-gui/src/main/java/forge/limited/BoosterDraft.java +++ b/forge-gui/src/main/java/forge/limited/BoosterDraft.java @@ -207,9 +207,9 @@ public class BoosterDraft implements IBoosterDraft { themeFilter); // Add chaos "boosters" as special suppliers final Supplier> ChaosDraftSupplier; - try{ + try { ChaosDraftSupplier = new ChaosBoosterSupplier(chaosDraftEditions); - } catch(Exception e) { + } catch(IllegalArgumentException e) { System.out.println(e.getMessage()); return false; }