diff --git a/extlib/lwp/product/runtime/eclipse/plugins/com.ibm.xsp.extlib.controls/src/com/ibm/xsp/extlib/social/impl/AbstractResourceProvider.java b/extlib/lwp/product/runtime/eclipse/plugins/com.ibm.xsp.extlib.controls/src/com/ibm/xsp/extlib/social/impl/AbstractResourceProvider.java index 3e61bdf..4f4e21d 100644 --- a/extlib/lwp/product/runtime/eclipse/plugins/com.ibm.xsp.extlib.controls/src/com/ibm/xsp/extlib/social/impl/AbstractResourceProvider.java +++ b/extlib/lwp/product/runtime/eclipse/plugins/com.ibm.xsp.extlib.controls/src/com/ibm/xsp/extlib/social/impl/AbstractResourceProvider.java @@ -285,9 +285,9 @@ public void clearCache(String id) { case ResourceDataProvider.SCOPE_APPLICATION: { Map map = getApplicationMap(FacesContext.getCurrentInstance().getExternalContext()); SystemCache c = (SystemCache)map.get(CACHE_KEY); - if(c==null) { - synchronized(map) { - map.remove(CACHE_KEY); + if(c!=null) { + synchronized(c) { + c.remove(id); } } return; @@ -295,9 +295,9 @@ public void clearCache(String id) { case ResourceDataProvider.SCOPE_SESSION: { Map map = TypedUtil.getSessionMap(FacesContext.getCurrentInstance().getExternalContext()); SystemCache c = (SystemCache)map.get(CACHE_KEY); - if(c==null) { - synchronized(map) { - map.remove(CACHE_KEY); + if(c!=null) { + synchronized(c) { + c.remove(id); } } return; @@ -305,9 +305,9 @@ public void clearCache(String id) { case ResourceDataProvider.SCOPE_REQUEST: { Map map = TypedUtil.getRequestMap(FacesContext.getCurrentInstance().getExternalContext()); SystemCache c = (SystemCache)map.get(CACHE_KEY); - if(c==null) { - synchronized(map) { - map.remove(CACHE_KEY); + if(c!=null) { + synchronized(c) { + c.remove(id); } } return;