From 0f8072833a2dbdbbfc38a3b074e01580f5703d35 Mon Sep 17 00:00:00 2001 From: Taylor Smock Date: Thu, 2 Dec 2021 09:57:52 -0700 Subject: [PATCH] Fix JOSM #21623: ACE in MapWithAILayerInfo Signed-off-by: Taylor Smock --- .../mapwithai/backend/GetDataRunnable.java | 9 ++++----- .../data/mapwithai/MapWithAILayerInfo.java | 15 +++++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/GetDataRunnable.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/GetDataRunnable.java index fecec98..c4f1420 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/GetDataRunnable.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/GetDataRunnable.java @@ -319,11 +319,10 @@ public class GetDataRunnable extends RecursiveTask { * @param replaceTags The tags to replace */ public static void replaceTags(DataSet dataSet, Map replaceTags) { - replaceTags - .forEach((orig, replace) -> dataSet.allNonDeletedPrimitives().parallelStream() - .filter(prim -> prim.hasTag(orig.getKey(), orig.getValue()) - || prim.hasKey(orig.getKey()) && Utils.isBlank(orig.getValue())) - .forEach(prim -> prim.put(replace))); + replaceTags.forEach((orig, replace) -> dataSet.allNonDeletedPrimitives().parallelStream() + .filter(prim -> prim.hasTag(orig.getKey(), orig.getValue()) + || prim.hasKey(orig.getKey()) && Utils.isBlank(orig.getValue())) + .forEach(prim -> prim.put(replace))); } /** diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/data/mapwithai/MapWithAILayerInfo.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/data/mapwithai/MapWithAILayerInfo.java index 435b42f..8c3e082 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/data/mapwithai/MapWithAILayerInfo.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/data/mapwithai/MapWithAILayerInfo.java @@ -29,6 +29,7 @@ import org.openstreetmap.josm.data.Preferences; import org.openstreetmap.josm.data.StructUtils; import org.openstreetmap.josm.data.imagery.ImageryInfo; import org.openstreetmap.josm.data.preferences.BooleanProperty; +import org.openstreetmap.josm.gui.MainApplication; import org.openstreetmap.josm.gui.PleaseWaitRunnable; import org.openstreetmap.josm.io.CachedFile; import org.openstreetmap.josm.io.NetworkManager; @@ -302,12 +303,14 @@ public class MapWithAILayerInfo { if (preferences != null) { // saveOnPut is pretty much always true preferences.enableSaveOnPut(true); - try { - preferences.save(); - } catch (IOException e) { - // This is highly unlikely to happen - Logging.error(e); - } + MainApplication.worker.execute(() -> { + try { + preferences.save(); + } catch (IOException e) { + // This is highly unlikely to happen + Logging.error(e); + } + }); } } this.finish();