From dc936f7267b02f768075ca863901fa41af810737 Mon Sep 17 00:00:00 2001 From: Derek Cochran Date: Tue, 21 Jan 2020 12:38:42 -0600 Subject: [PATCH] DATAKV-290 - Synchronize creation of keyspace map. Original Pull Request: #47 --- .../data/map/MapKeyValueAdapter.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/springframework/data/map/MapKeyValueAdapter.java b/src/main/java/org/springframework/data/map/MapKeyValueAdapter.java index 849e7dc..f1a5157 100644 --- a/src/main/java/org/springframework/data/map/MapKeyValueAdapter.java +++ b/src/main/java/org/springframework/data/map/MapKeyValueAdapter.java @@ -32,6 +32,7 @@ import org.springframework.util.ClassUtils; * {@link KeyValueAdapter} implementation for {@link Map}. * * @author Christoph Strobl + * @author Derek Cochran */ public class MapKeyValueAdapter extends AbstractKeyValueAdapter { @@ -188,18 +189,7 @@ public class MapKeyValueAdapter extends AbstractKeyValueAdapter { protected Map getKeySpaceMap(String keyspace) { Assert.notNull(keyspace, "Collection must not be null for lookup."); - - Map map = store.get(keyspace); - - if (map != null) { - return map; - } - - addMapForKeySpace(keyspace); - return store.get(keyspace); + return store.computeIfAbsent(keyspace, k -> CollectionFactory.createMap(keySpaceMapType, 1000)); } - private void addMapForKeySpace(String keyspace) { - store.put(keyspace, CollectionFactory.createMap(keySpaceMapType, 1000)); - } }