From 6090ce0d2c20c60906ec29ad7bfdb9301c0ff692 Mon Sep 17 00:00:00 2001 From: Zsolt Kovacs Date: Mon, 28 Oct 2019 19:26:37 +0100 Subject: [PATCH] #290 ProxyManager.clearCache() implementation --- .../kernel/entity/proxy/ProxyManager.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/kernel/src/main/java/org/cristalise/kernel/entity/proxy/ProxyManager.java b/kernel/src/main/java/org/cristalise/kernel/entity/proxy/ProxyManager.java index c4290233d..b03f78b78 100644 --- a/kernel/src/main/java/org/cristalise/kernel/entity/proxy/ProxyManager.java +++ b/kernel/src/main/java/org/cristalise/kernel/entity/proxy/ProxyManager.java @@ -300,4 +300,30 @@ public void reportCurrentProxies(int logLevel) { Logger.msg(logLevel, "Proxy cache modified. Aborting."); } } + + /** + * Clears all entries from the cache + */ + public void clearCache() { + synchronized(proxyPool) { + proxyPool.clear(); + } + Logger.msg(8, "ProxyManager.clearCache() - DONE"); + } + + /** + * Clears the given Item from the cache + * @param item the UUID + */ + public void clearCache(ItemPath item) { + if (proxyPool.containsKey(item)) { + synchronized(proxyPool) { + proxyPool.remove(item); + } + Logger.msg(8, "ProxyManager.clearCache() - '%s' was removed from cache", item); + } + else { + Logger.msg(8, "ProxyManager.clearCache() - '%s' was not cached", item); + } + } }