r2186 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator
Author: chatellier Date: 2009-05-06 09:10:04 +0000 (Wed, 06 May 2009) New Revision: 2186 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java Log: Fix concurrentModificationException Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-05-06 08:17:33 UTC (rev 2185) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-05-06 09:10:04 UTC (rev 2186) @@ -32,11 +32,13 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.SortedMap; import java.util.TreeMap; +import java.util.Map.Entry; import javax.swing.JComponent; @@ -392,11 +394,19 @@ public void removeRules(String name) { if (name != null) { - for (Map.Entry<Rule, String> entry : rules.entrySet()) { + /*for (Map.Entry<Rule, String> entry : rules.entrySet()) { if (entry.getValue().equals(name)) { param.removeRule(entry.getKey()); rules.remove(entry.getKey()); } + }*/ + Iterator<Entry<Rule, String>> itEntries = rules.entrySet().iterator(); + while (itEntries.hasNext()) { + Entry<Rule, String> currentEntry = itEntries.next(); + if (currentEntry.getValue().equals(name)) { + param.removeRule(currentEntry.getKey()); + itEntries.remove(); + } } } }
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org