diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java index 2682829ff3..3439310d3d 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java @@ -212,6 +212,7 @@ import com.vividsolutions.jts.io.WKTReader; * 04/23/2014 DR 16356 Qinglu Lin Updated initializeState() and added reset(). * 04/28,2014 3033 jsanchez Properly handled back up configuration (*.xml) files. Set backupSite to null when backup site is not selected. * 05/16/2014 DR 17365 D. Friedman Check if moved vertex results in polygon valid in both lat/lon and local coordinates. + * 06/23/2014 DR16322 m.gamazaychikov Fix Warngen unloading previously loaded maps. * * * @author mschenke @@ -352,11 +353,14 @@ public class WarngenLayer extends AbstractStormTrackResource { private Set mapsToLoad; + private Set preloadedMaps; + private final MapManager manager; public CustomMaps() { super("Loading WarnGen Maps"); manager = MapManager.getInstance(descriptor); + preloadedMaps=new HashSet(); } @Override @@ -373,7 +377,9 @@ public class WarngenLayer extends AbstractStormTrackResource { if (toLoad != null) { for (String loaded : customMaps) { - manager.unloadMap(loaded); + if (!preloadedMaps.contains(loaded)) { + manager.unloadMap(loaded); + } } for (String load : toLoad) { @@ -389,6 +395,11 @@ public class WarngenLayer extends AbstractStormTrackResource { } public void loadCustomMaps(Collection maps) { + for (String map : maps) { + if (manager.isMapLoaded(map)) { + preloadedMaps.add(map); + } + } synchronized (this) { mapsToLoad = new HashSet(maps); }