From 865f788612b4c5fd7fd978e346c47174750f8af4 Mon Sep 17 00:00:00 2001 From: Christoffer Hamberg Date: Thu, 22 Sep 2016 09:38:23 +0200 Subject: [PATCH] Caching pattern: Refactor LRU cache to avoid NPE and unnecessary cache lookup --- caching/src/main/java/com/iluwatar/caching/LruCache.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/caching/src/main/java/com/iluwatar/caching/LruCache.java b/caching/src/main/java/com/iluwatar/caching/LruCache.java index 5c5549afd..4527b5548 100644 --- a/caching/src/main/java/com/iluwatar/caching/LruCache.java +++ b/caching/src/main/java/com/iluwatar/caching/LruCache.java @@ -136,10 +136,11 @@ public class LruCache { * Invalidate cache for user */ public void invalidate(String userId) { - System.out.println("# " + userId + " has been updated! Removing older version from cache..."); - Node toBeRemoved = cache.get(userId); - remove(toBeRemoved); - cache.remove(userId); + Node toBeRemoved = cache.remove(userId); + if (toBeRemoved != null) { + System.out.println("# " + userId + " has been updated! Removing older version from cache..."); + remove(toBeRemoved); + } } public boolean isFull() {