From: <jde...@us...> - 2008-12-26 00:10:15
|
Revision: 8686 http://pcgen.svn.sourceforge.net/pcgen/?rev=8686&view=rev Author: jdempsey Date: 2008-12-26 00:10:13 +0000 (Fri, 26 Dec 2008) Log Message: ----------- Fix 8684 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/chooser/ChooserUtilities.java Modified: Trunk/pcgen/code/src/java/pcgen/core/chooser/ChooserUtilities.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/chooser/ChooserUtilities.java 2008-12-25 23:36:59 UTC (rev 8685) +++ Trunk/pcgen/code/src/java/pcgen/core/chooser/ChooserUtilities.java 2008-12-26 00:10:13 UTC (rev 8686) @@ -35,6 +35,7 @@ import java.util.Map; import java.util.Set; +import pcgen.cdom.base.CDOMObject; import pcgen.cdom.enumeration.StringKey; import pcgen.core.Ability; import pcgen.core.AbilityCategory; @@ -314,7 +315,7 @@ * @param ability The ability the choices are for. */ private static void modifyAvailChoicesForAbilityCategory( - List<String> availableList, AbilityCategory category, Ability ability) + List availableList, AbilityCategory category, Ability ability) { AbilityCategory cat; if (category == null) @@ -344,10 +345,26 @@ } } + + if (allowedSet.isEmpty()) + { + // Do nothing if there aren't any restrictions + return; + } + // Remove any non allowed choices from the list - for (Iterator<String> iterator = availableList.iterator(); iterator.hasNext();) + for (Iterator iterator = availableList.iterator(); iterator.hasNext();) { - String key = iterator.next(); + Object obj = iterator.next(); + String key; + if (obj instanceof CDOMObject) + { + key = ((CDOMObject)obj).getKeyName(); + } + else + { + key = obj.toString(); + } if (!allowedSet.contains(key)) { iterator.remove(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |