|
|
|
@ -50,6 +50,7 @@ import java.util.LinkedHashMap;
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Map.Entry; |
|
|
|
|
import java.util.concurrent.ConcurrentHashMap; |
|
|
|
|
import java.util.concurrent.ScheduledExecutorService; |
|
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
|
@ -74,7 +75,7 @@ public abstract class DesignTableDataManager {
|
|
|
|
|
private static java.util.Map<String, String> dsNameChangedMap = new HashMap<String, String>(); |
|
|
|
|
private static List<ChangeListener> globalDsListeners = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
private static Map<String, List<ChangeListener>> dsListenersMap = new HashMap<String, List<ChangeListener>>(); |
|
|
|
|
private static Map<String, List<ChangeListener>> dsListenersMap = new ConcurrentHashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static String NO_PARAMETER = "no_paramater_pane"; |
|
|
|
@ -96,8 +97,8 @@ public abstract class DesignTableDataManager {
|
|
|
|
|
*/ |
|
|
|
|
private static void fireDsChanged() { |
|
|
|
|
fireDsChanged(globalDsListeners); |
|
|
|
|
for (Entry<String, List<ChangeListener>> listenerEntry : dsListenersMap.entrySet()) { |
|
|
|
|
List<ChangeListener> dsListeners = listenerEntry.getValue(); |
|
|
|
|
for (Iterator<Entry<String, List<ChangeListener>>> entryIterator = dsListenersMap.entrySet().iterator(); entryIterator.hasNext();) { |
|
|
|
|
List<ChangeListener> dsListeners = entryIterator.next().getValue(); |
|
|
|
|
fireDsChanged(dsListeners); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|