From f35758faba772fa197c8e493ca958c8f2700c30a Mon Sep 17 00:00:00 2001 From: Alok Joshi <ajoshi19@slb.com> Date: Thu, 7 Jan 2021 15:15:32 -0600 Subject: [PATCH] update the cache list instead of dropping it --- .../service/CachedPartitionServiceImpl.java | 4 ++-- .../CachedPartitionServiceImplTest.java | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/partition-core/src/main/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImpl.java b/partition-core/src/main/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImpl.java index d5a897da4..0591dba13 100644 --- a/partition-core/src/main/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImpl.java +++ b/partition-core/src/main/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImpl.java @@ -50,7 +50,7 @@ public class CachedPartitionServiceImpl implements IPartitionService { if (pi != null) { partitionServiceCache.put(partitionId, partitionInfo); - partitionListCache.clearAll(); + partitionListCache.get(PARTITION_LIST_KEY).add(partitionId); } return pi; @@ -87,7 +87,7 @@ public class CachedPartitionServiceImpl implements IPartitionService { if (partitionService.deletePartition(partitionId)) { if (partitionServiceCache.get(partitionId) != null) { partitionServiceCache.delete(partitionId); - partitionListCache.clearAll(); + partitionListCache.get(PARTITION_LIST_KEY).remove(partitionId); } return true; diff --git a/partition-core/src/test/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImplTest.java b/partition-core/src/test/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImplTest.java index 7f737a448..46601bc6c 100644 --- a/partition-core/src/test/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImplTest.java +++ b/partition-core/src/test/java/org/opengroup/osdu/partition/service/CachedPartitionServiceImplTest.java @@ -44,20 +44,25 @@ public class CachedPartitionServiceImplTest { @InjectMocks private CachedPartitionServiceImpl cachedPartitionServiceImpl; + private static final String PARTITION_LIST_KEY = "getAllPartitions"; + @Test public void createPartitionSucceed() { String partId = "key"; + List<String> partitions = new ArrayList<>(); + PartitionInfo newPi = PartitionInfo.builder().build(); PartitionInfo retPi = PartitionInfo.builder().build(); when(partitionServiceImpl.createPartition(partId, newPi)).thenReturn(retPi); + when(partitionListCache.get(PARTITION_LIST_KEY)).thenReturn(partitions); cachedPartitionServiceImpl.createPartition(partId, newPi); verify(partitionServiceImpl, times(1)).createPartition(partId, newPi); verify(partitionServiceCache, times(1)).put(partId, retPi); - verify(partitionListCache, times(1)).clearAll(); + verify(partitionListCache, times(1)).get(PARTITION_LIST_KEY); } @Test @@ -72,7 +77,7 @@ public class CachedPartitionServiceImplTest { verify(partitionServiceImpl, times(1)).createPartition(partId, newPi); verify(partitionServiceCache, times(0)).put(any(), any()); - verify(partitionListCache, times(0)).clearAll(); + verify(partitionListCache, times(0)).get(PARTITION_LIST_KEY); verify(partitionServiceCache, times(1)).get(any()); } @@ -125,15 +130,18 @@ public class CachedPartitionServiceImplTest { String partId = "key"; PartitionInfo retPi = PartitionInfo.builder().build(); + List<String> partitions = new ArrayList<>(); + when(partitionServiceImpl.deletePartition(partId)).thenReturn(true); when(partitionServiceCache.get(partId)).thenReturn(retPi); + when(partitionListCache.get(PARTITION_LIST_KEY)).thenReturn(partitions); cachedPartitionServiceImpl.deletePartition(partId); verify(partitionServiceImpl, times(1)).deletePartition(partId); verify(partitionServiceCache, times(1)).delete(partId); verify(partitionServiceCache, times(1)).get(partId); - verify(partitionListCache, times(1)).clearAll(); + verify(partitionListCache, times(1)).get(PARTITION_LIST_KEY); } @Test @@ -142,10 +150,9 @@ public class CachedPartitionServiceImplTest { when(partitionServiceImpl.getAllPartitions()).thenReturn(partitions); cachedPartitionServiceImpl.getAllPartitions(); - String partKey = "getAllPartitions"; - verify(partitionListCache, times(1)).get(partKey); + verify(partitionListCache, times(1)).get(PARTITION_LIST_KEY); verify(partitionServiceImpl, times(1)).getAllPartitions(); - verify(partitionListCache, times(1)).put(partKey, partitions); + verify(partitionListCache, times(1)).put(PARTITION_LIST_KEY, partitions); } } \ No newline at end of file -- GitLab